:软件测试理论 软件测试
1、软件测试定义?
为了发现错误而进行的一系列活动。
详细:根据软件开发各个阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去执行程序,以发现程序错误的过程。
2、软件测试的目的?
以最少的时间和人力找出软件中潜在的各种错误。把尽可能多的问题在产品交给用户前发现并改正,确保最终交给用户的产品的功能符合用户的需求。
3、软件测试流程?
学习需求确定需求à制定测试计划à制定测试方案à编写测试用例à执行软件测试à进行测试小结à编写测试报告。
4、黑盒测试方法?
等价类划分法、边界值法、错误猜测法、因果图法、正交试验法、场景分析法等。
5、测试阶段?
单元测试à集成测试à系统测试à验收测试。
6、黑盒测试和白盒测试的区别?
定义不同:黑盒测试又称功能测试,主要是对系统的功能进行测试,检查系统功能是否正确实现。白盒测试又称结构测试,主要是检查程序内部工作过程,例如语句、分支、变量、逻辑等是否符合设计。
方法不同:黑盒测试方法主要有等价类划分法、边界值法、错误猜测法、因果图法、场景分析法等。白盒测试方法主要有语句覆盖、判定覆盖、条件覆盖、组合覆盖、路径覆盖等。
7、软件测试停止标准?
语句覆盖最低不能小于80%,测试需求覆盖率达到100%,测试用例覆盖率达到100%,一、二级缺陷修复率达到100%,三、四级修复率达到80%。
8、负载测试和压力测试的区别?
负载测试是指不断提高负载,观察系统的响应时间、CPU占用、内存占用等性能参数变化情况,一般呈线性增加。还可以发现系统所能承受的最大负载。
压力测试是指给系统施加最大负载或者超过最大负载,观察系统稳定性,若系统出现丢失连接、反应迟缓则可以理解,若出现程序退出,数据丢失等问题则系统需要改进。
9、单元测试、集成测试、系统测试比较?
单元测试主要是对模块内部的程序进行测试,测试目的是消除局部模块逻辑和功能上的错误和缺陷,使用的测试方法是白盒测试。
集成测试主要是对模块间的组装和调用关系进行测试,主要是为了找出程序结构模块调用关系、模块间接口方面问题,使用的测试方法主要是灰盒测试。
系统测试主要是对整个系统进行测试,确定其功能是否符合要求,主要测试方法是黑盒测试。
10、性能测试分类?
性能测试、压力测试、负载测试、容量测试。
11、等价类划分法的定义和优缺点?
定义:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
优缺点:优点是考虑了单个输入域的各种情况,避免了盲目或随机选取输入数据的不完整性和覆盖的不稳定性。缺点是只考虑了输入的分类情况,未考虑到组合情况。
12、边界值法的定义和优缺点?
定义:是对输入或输出的边界值进行测试的一种方法。
优缺点:优点是大部分错误都出现边界值上,边界值法设计出的测试用例发现错误率高。缺点是只考虑了单一输入情况未考虑组合情况,且对数字型的输入较有效,对其他类型的输入值不适用。
13、因果图法定义,设计测试用例步骤?
定义:利用图解法分析输入的各种组合情况,从而设计测试用例的方法。
步骤:分析所有可能的输入和输出;找出输入和输出之间的对应关系;画出因果图;把因果图转化成判定表;把判定表的每一列对应到每一个测试用例。