自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(176)
  • 收藏
  • 关注

原创 目前主要的测试用例设计方法是什么?

白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态图法、测试大纲法、随机测试、场景法

2021-01-10 15:35:02 346

原创 什么是软件质量?

概括地说,软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。 影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。可划分为三组,分别反应用户在使用软件产品时的三种观点。正确性、健壮性、效率、完整性、可用性、风险(产品运行);可理解性、可维修性、灵活性、可测试性(产品修改);可移植性、可再用性、互运行性(产品转移)。...

2021-01-10 15:34:32 484

原创 软件配置管理的作用?软件配置包括什么?

软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。软件配置包括如下内容:配置项识别、工作空间管理、版本控制、变更控制、状态报告、配置审计...

2021-01-10 15:34:01 2789

原创 什么是软件测试?软件测试的目的与原则

在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件测试的目的:• 测试是程序的执行过程,目的在于发现错误• 一个成功的测试用例在于发现至今未发现的错误• 一个成功的测试是发现了至今未发现的错误的测试• 确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。• 确保产品满足性能和效率的要求• 确保产品是健壮的和适应用户环境的软件测试的原则:• 测试用例中一个必须部分是对预期输出或接过进行定义• 程序员应避免测试

2021-01-10 15:33:31 1312

原创 软件生存周期及其模型是什么?

软件生存周期(Software life cycle)又称为软件生命期,生存期。是指从形成开发软件概念起,所开发的软件使用以后,知道失去使用价值消亡为止的整个过程。一般来说,整个生存周期包括计划(定义)、开发、运行(维护)三个时期,每个时期又划分为若干个阶段。每个阶段有明确的任务。周期模型(典型的几种):• 瀑布模型• 快速原型模型:快速原型模型允许在需求分析阶段对软件的需求进行初步而非完全的分析和定义,快速设计开发出软件系统的原型,该原型向用户展示待开发软件的全部或部分功能和性能;用户对该原型进行测

2021-01-10 15:32:59 695

原创 试述软件的概念和特点?软件复用的含义?构件包括哪些?

软件是计算机系统中与硬件相互依存的另一部分,与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。可以被复用的软件成分一般称作可复用构件...

2021-01-10 15:32:22 738 1

原创 一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?

• 300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。• 300个用户在一个客户端上,需要更大的带宽。• IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。• 所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。...

2021-01-10 15:31:49 1173

原创 在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试。

• 建立测试计划,确定测试标准和测试范围• 设计典型场景的测试用例,覆盖常用业务流程和不常用的业务流程等• 根据测试用例,开发自动测试脚本和场景:录制测试脚本:新建一个脚本(Web/HTML协议);点击录制按钮,在弹出的对话框的URL中输入”about:blank”;在打开的浏览器中进行正常操作流程后,结束录制;调试脚本并保存,可能要注意到字符集的关联。设置测试场景:针对性能设置测试场景,主要判断在正常情况下,系统的平均事务响应时间是否达标;针对压力负载设置测试场景,主要判断在长时间处于满负荷或者超

2021-01-10 15:31:16 161

原创 给你一个网站,你如何测试?

首先,查找需求说明、网站设计等相关文档,分析测试需求。制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试设计测试用例:功能性测试可以包括,但不限于以下几个方面:• 链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。• 提交功能的测试。• 多媒体元素是否可以正确加载和显示。• 多语言支持是否能够正确显示选择的语言等。界面测试可以包括但不限于一下几个方面:• 页面是否风格统一,美观•

2021-01-10 15:30:39 245

原创 你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?

首先,将问题提交到缺陷管理库里面进行备案。然后,要获取判断的依据和标准:• 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;• 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;• 根据用户的一般使用习惯,来确认是否是缺陷;• 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。等待测试经理做出最终决定,如果仍然存

2021-01-10 15:30:13 1456

原创 String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的

a、可变性:String类中使用字符数组保存字符串,private final char value[],所以string对象是不可变的。StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串, char[] value,这两种对象都是可变的。b、线程安全性:String中的对象是不可变的,也就可以理解为常量,线程安全。AbstractStringBuilder是Strin

2021-01-09 16:29:41 80

原创 String 类的常用方法都有那些?

a、indexOf():返回指定字符的索引。b、charAt():返回指定索引处的字符。 c、replace():字符串替换。d、trim():去除字符串两端空白。e、split():分割字符串,返回一个分割后的字符串数组。 f、getBytes():返回字符串的 byte 类型数组。g、length():返回字符串长度。h、toLowerCase():将字符串转成小写字母。 i、toUpperCase():将字符串转成大写字符。g、substring():截取字符串。k、equal

2021-01-09 16:28:46 100 1

原创 == 和 equals 的区别是什么

== : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数据类型 == 比较的是值,引用数据类型 == 比较的是内存地址) equals() : 它的作用也是判断两个

2021-01-09 16:28:21 62

原创 面向对象三大特性

a、封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。b、继承:继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的 功能,但不能选择性地继承父类。通过使用继承可以提高代码复用性。继承是多态的前提。c、所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序 运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的

2021-01-09 16:27:36 57

原创 final finally finalize区别

a、final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修饰变量表示该变量是一个 常量不能被重新赋值。b、finally一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码方法finally代码块中,表示不管是 否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代码。c、finalize是一个方法,属于Object类的一个方法,而Object类是所有类的父类,该方法一般由垃圾回收器来调用,当我们调

2021-01-09 16:26:59 186

原创 final 有什么用?

用于修饰类、属性和方法;a、被final修饰的类不可以被继承b、被final修饰的方法不可以被重写c、被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变 的...

2021-01-09 16:26:28 121 1

原创 什么Java注释

定义:用于解释说明程序的文字分类:单行注释:格式: // 注释文字多行注释:格式: /* 注释文字 /文档注释:格式:/* 注释文字 */作用:在程序中,尤其是复杂的程序中,适当地加入注释可以增加程序的可读性,有利于程序的修改、调试和交流。注释的内 容在程序编译的时候会被忽视,不会产生目标代码,注释的部分不会对程序的执行结果产生任何影响。注意事项:多行和文档注释都不能嵌套使用。...

2021-01-09 16:25:54 79

原创 Java有哪些基本数据类型

定义:Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。 a.、数值型:整数类型(byte,short,int,long)b、浮点类型(float,double) c、字符型(char)d、布尔型(boolean)...

2021-01-09 16:25:22 76

原创 面向过程和面向对象的区别

a.、两者都是软件开发思想,先有面向过程,后有面向对象。在大型项目中,针对面向过程的不足推出了面向对象开发思想。 b.、编程思路不同:面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、 执行方法来完成功能。c.、封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。面向对象具有继承性和多态性, 而面向过程没有继承性和多态 性,所以面向对象优势是明显。...

2021-01-09 16:24:50 61

原创 JDK,JRE,JVM三者关系

a. 、jdk是JAVA程序开发时用的开发工具包,其内部也有JRE运行环境JRE。b. 、JRE是JAVA程序运行时需要的运行环境,就是说如果你光是运行JAVA程序而不是去搞开发的话,只安装JRE就 能运行已经存在的JAVA程序了。c. 、JDk、JRE内部都包含JAVA虚拟机JVM,JAVA虚拟机内部包含许多应用程序的类的解释器和类加载器等等。...

2021-01-09 16:24:26 66

原创 什么是JDBC的最佳实践?

a、数据库资源是非常昂贵的,用完了应该尽快关闭它。Connection, Statement, ResultSet等JDBC对象都有close方法,调用它就好了。b、养成在代码中显式关闭掉ResultSet,Statement,Connection的习惯,如果你用的是连接池的话,连接用完后会放回池里, 但是没有关闭的ResultSet和Statement就会造成资源泄漏了。c、在finally块中关闭资源,保证即便出了异常也能正常关闭。d、尽量使用PreparedStatemen

2021-01-07 16:49:45 99 1

原创 数据库连接池的原理。为什么要使用连接池。

数据库连接是一种关键的有限的昂贵的资源,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序 的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;释 放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对 数据库操作的性能。数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些

2021-01-07 16:49:08 70

原创 说说事务的概念,在JDBC编程中处理事务的步骤。

事务是作为单个逻辑工作单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为原子性、一致性、隔离性和持久性(ACID) 属性,只有这样才能成为一个事务 。JDBC处理事务有如下操作:conn.setAutoComit(false);设置提交方式为手工提交conn.commit()提交事务conn.rollback(),回滚提交与回滚只选择一个执行。正常情况下提交事务,如果出现异常,则回滚。...

2021-01-07 16:48:40 52

原创 .java.util.Date和java.sql.Date有什么区别?

java.util.Date包含日期和时间,而java.sql.Date只包含日期信息,而没有具体的时间信息。如果你想把时间信息存储在数据库 里,可以考虑使用Timestamp或者DateTime字段。

2021-01-07 16:48:06 48

原创 JDBC的ResultSet是什么?

在查询数据库后会返回一个ResultSet,它就像是查询结果集的一张数据表。ResultSet对象维护了一个游标,指向当前的数据 行。开始的时候这个游标指向的是第一行。如果调用了ResultSet的next()方法游标会下移一行,如果没有更多的数据了, next()方法会返回false。可以在for循环中用它来遍历数据集。...

2021-01-07 16:47:35 149

原创 相对于Statement,PreparedStatement的优点是什么?

a、PreparedStatement有助于防止SQL注入,因为它会自动对特殊字符转义。 b、PreparedStatement可以用来进行动态查询。c、PreparedStatement执行更快。尤其当你重用它或者使用它的拼量查询接口执行多条语句时。d、使用PreparedStatement的setter方法更容易写出面向对象的代码,而Statement的话,我们得拼接字符串来生成查询语句。 如果参数太多了,字符串拼接看起来会非常丑陋并且容易出错。...

2021-01-07 16:46:55 92

原创 .JDBC的PreparedStatement是什么?

PreparedStatement对象代表的是一个预编译的SQL语句。用它提供的setter方法可以传入查询的变量。由于PreparedStatement是预编译的,通过它可以将对应的SQL语句高效的执行多次。由于PreparedStatement自动对特殊字符转 义,避免了SQL注入攻击,因此应当尽量的使用它。...

2021-01-07 16:46:24 103

原创 3.execute,executeQuery,executeUpdate的区别是什么?

a、Statement的execute(String query)方法用来执行任意的SQL查询,如果查询的结果是一个ResultSet,这个方法就返回true。如果结果不是ResultSet,比如insert或者update查询,它就会返回false。b、Statement的executeQuery(String query)接口用来执行select查询,并且返回ResultSet。即使查询不到记录返回的ResultSet也不会为null。我们通常使用executeQuery来执行查询语句,这样的话如果

2021-01-07 16:45:54 122

原创 JDBC访问数据库的基本步骤是什么?

a、加载(注册)数据库驱动(到JVM) b、建立(获取)数据库连接。c、创建(获取)数据库操作对象。d、定义操作的SQL语句。e、执行数据库操作。f、获取并操作结果集。g、关闭对象,回收数据库资源(关闭结果集–>关闭数据库操作对象–>关闭连接)...

2021-01-07 16:42:21 82

原创 什么是JDBC,在上面时候会用到它?

JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。...

2021-01-07 16:41:54 52

原创 .SpringMVC 流程?

a、用户发送请求至前端控制器 DispatcherServlet。b、DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器。c、处理器映射器找到具体的处理器(可以根据 xml 配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet。d、DispatcherServlet 调用 HandlerAdapter 处理器适配器。e、HandlerAdapter 经过适配调用具体的处理器(Controller,也

2021-01-06 08:29:22 60

原创 如果你也用过 struts2.简单介绍下 springMVC 和 struts2 的区别有哪些?

a、springmvc 的入口是一个 servlet 即前端控制器,而 struts2 入口是一个 filter 过虑器。b、springmvc 是基于方法开发(一个 url 对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2 是基于类开发,传递参数是通过类的属性,只能设计为多例。c、Struts 采用值栈存储请求和响应的数据,通过 OGNL 存取数据,springmvc 通过参数解析器是将 request 请求内容解析,并给方法形参赋值,将数据和视图封装成 M

2021-01-06 08:28:54 60

原创 如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?

这可以使用 DEV 工具来实现。通过这种依赖关系,您可以节省任何更改,嵌入式 tomcat将重新启动。Spring Boot 有一个开发工具(DevTools)模块,它有助于提高开发人员的生产力。Java 开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。开发人员可以重新加载 Spring Boot 上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。Spring Boot 在发布它的第一个版本时没有这个功能。这是开发人员最需要的功能。DevTools 模块完全满

2021-01-06 08:28:17 163

原创 什么是 JavaConfig?

Spring JavaConfig 是 Spring 社区的产品,它提供了配置 Spring IoC 容器的纯 Java 方法。因此它有助于避免使用 XML 配置。使用 JavaConfig 的优点在于:面向对象的配置。由于配置被定义为 JavaConfig 中的类,因此用户可以充分利用 Java 中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean 方法等。减少或消除 XML 配置。基于依赖注入原则的外化配置的好处已被证明。但是,许多开发人员不希望在 XML 和 Java 之间来回切换。Java

2021-01-06 08:27:47 80

原创 Spring Boot 有哪些优点?

a、减少开发,测试时间和努力。b、使用 JavaConfig 有助于避免使用 XML。c、避免大量的 Maven 导入和各种版本冲突。d、通过提供默认值快速开始开发。没有单独的 Web 服务器需要。这意味着你不再需要启动 Tomcat,Glassfish 或其他任何东西。e、需要更少的配置 因为没有 web.xml 文件。只需添加用@ Configuration 注释的类,然后添加用@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其进行管理。您甚至可以将@Autowired 添加到

2021-01-06 08:26:47 66

原创 什么是 Spring Boot?

多年来,随着新功能的增加,spring 变得越来越复杂。只需访问 https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有 Spring 项目的不同功能。如果必须启动一个新的 Spring 项目,我们必须添加构建路径或添加 Maven 依赖关系,配置应用程序服务器,添加 spring 配置。因此,开始一个新的 spring 项目需要很多努力,因为我们现在必须从头开始做所有事情。Spring Boot 是解决这个问题的方法。Spring Boot 已经建立在现有

2021-01-06 08:26:18 50

原创 Redis中的常用命令哪些?

a、hset 存储一个哈希键值对的集合b、hget获取一个哈希键的值c、hdel 删除一个或多个字段d、hgetall 获取一个哈希是键值对的集合e、lpush key value向链表左侧添加f、rpush key value向链表右侧添加g、lpop key 从左边移出一个元素h、rpop key 从右边移出一个元素i、keys * 返回所有的key 可以加*通配j、exists key判断string类型一个key是否存在 如果存在返回1 否则返回0...

2021-01-06 08:25:39 59

原创 Redis数据类型有哪些?

a、String(字符串) b、Hash(hash表) c、List(链表)d、Set(集合)e、SortedSet(有序集合zset)

2021-01-06 08:25:02 86

原创 Redis的特点什么是?

a、支持多种数据结构,如 string(字符串)、 list(双向链表)、dict(hash表)、set(集合)、zset(排序set)、hyperloglog(基数估算)b、支持持久化操作,可以进行aof及rdb数据持久化到磁盘,从而进行数据备份或数据恢复等操作,较好的防止数据丢失的手 段。c、支持通过Replication进行数据复制,通过master-slave机制,可以实时进行数据的同步复制,支持多级复制和增量复制, master-slave机制是Redis进行HA的重要手段。d、

2021-01-06 08:24:40 108

原创 .什么是Redis?

Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。...

2021-01-06 08:22:56 61

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除