软件测试知识点总结

1.什么是黑盒测试

黑盒测试:测试人员将软件产品看成一个盒子,不关心盒子里面的具体内容(代码如何实现),只关心它的输入与输出。

2.为什么做黑盒测试

a.验证软件产品是否符合需求文档的设计
b.证实软件产品是否符合用户的需求

3.软件生命周期哪些测试阶段需要黑盒测试

软件生命周期的测试阶段分为:单元测试-组件测试-集成测试-系统测试-用户验收测试。每一阶段都要使用黑盒测试,即黑盒测试适用于所有阶段。可能不明白的是单元测试也需要?单元测试阶段主要进行代码分析,代码中的函数可以看做一个黑盒,函数的主要组成为函数名,函数参数列表(参数类型,参数个数),返回值,函数体,函数返回值和函数形参可以看做盒子的输入与输出,使用黑盒测试用例设计方法对输入输出值进行分析可以提高代码的质量,减少后续的错误产生。

4.什么是打桩,什么是驱动

驱动函数:在测试被测函数时,需要在一个函数中构造一组实验数据传入被测函数作为实参,然后再该函数中调用被测函数,检验测试结果。
桩函数:在测试被测函数时,被测函数可能需调用一个未被实现的功能的函数,此时测试人员可写一个临时的简单函数模拟被调函数的部分行为。

图形解释如下:

软件测试知识点总结

5.什么是白盒测试

白盒测试:与黑盒测试相反,又称逻辑驱动测试,测试人员需关注被测组件内部的具体实现,代码的实现细节(数据流与控制流),通常使用于单元测试阶段,降低大量软件开发成本

6.为什么进行单元测试

1.保证代码有正确的行为,可以验证代码是否与详细设计一致
2.窥探软件内部的实现机制,可以发现其他测试阶段难以发现的缺陷
3.充分的单元测试可以极大地降低软件开发的成本。

7.由谁来做单元测试,什么时间开始单元测试

由谁来做:一般由软件开发人员来完成,因为单元测试阶段通常被看做编码的一部分,只有经过单元测试的的代码此时完整的代码。
什么时间:单元测试活动应当在软件的编码阶段进行,该阶段一般位于软件开发团队已经给出了详细的设计文档并通过了相关的审核,
在编码阶段。开发人员先设计好各个单元的接口,在实现内部的代码细节,最后对各个单元进行单元测试。

8.单元测试的测试策略

1,自顶向下:先测最上层的单元,测试完成后,再用上层的已测单元作为下层被测单元的驱动模进行下层单元的测试,以此类推。
优点:测试人员不需编写驱动模块
缺点:当低层模块未开发时,测试人员必须编写桩模块;
当测试到底层模块时,如果发现缺陷或底层的模块接口设计有问题,则会影响到上层已测单元,此时,上层已测单元必须及进行修改;
下层单元必须等到上层单元测试完成后才可进行测试;
使用上层已测单元作为驱动模块,不能保证下层被测单元的覆盖率,因为上层已测单元不是专门为单元测试设计的测试代码。
2.自底向上:先编写驱动模块测试最低层的单元,待底层单元测试完后,在用底层的已测单元作为上层测试单元的桩模块,以此类推。
优点:测试人员不许编写桩模块;后期发现的上层被测单元的缺陷一般不会对低层产生影响。
缺点:测试人员必须编写桩模块;上层单元必须等到下层单元测试完后才可进行测试 ;使用底层已测单元作为桩模块,不能保证上层被测单元的覆盖率,因为底层已测单元不是专门为单元测试设计的测试代码。
3.独立测试:为每个被测单元编写驱动模块与桩模块
优点:驱动模块与桩模块的覆盖率可以得到保证;对不同层次上的单元可以并行的进行测试。
缺点:测试人员必须自己编写驱动模块与桩模块。

9.在编码阶段,开发人员设计好各单元间的接口,此时,作为函数单元测试的入口条件是,出口条件是?

入口条件:被测单元编码已完成;代码编译通过;通过了静态代码分析检查工具的检测;至少完成一轮代码审查,并通过;测试用例已经通过。
出口条件:所有的测试用例已被执行;测试覆盖率达到一定要求;被测模块的缺陷率低于一定要求