软件测试的手段分类

来源:互联网 发布:c语言项目开发实战pdf 编辑:程序博客网 时间:2024/05/20 14:28

按照测试的手段,软件测试可分为黑盒测试、白盒测试;静态测试、动态测试;手工测试、自动化测试。

一、黑盒测试和白盒测试

黑盒测试是不关注软件的内部结构,对软件功能进行的测试。主要测试软件是否有不正确或遗漏的功能,能否正确的接收输入,能否输出正确的结果,是否有数据结构错误或外部信息访问错误等。在系统测试阶段会主要使用黑盒测试。

优点是:
1、容易实施,不需要关注内部实现;
2、更贴近用户的使用角度。

缺点是:
1、测试覆盖率较低;
2、针对黑盒的自动化测试,维护成本较高,复用率较低。

白盒测试需要关注程序内部的逻辑结构,对性能进行测试。

优点是:
1、可以检测代码中的每条分支或路径;
2、揭示隐藏在代码中的错误;
3、对代码的测试时比较彻底。

缺点是:
1、不能直接验证需求的正确性;
2、无法检测代码中遗漏的路径和数据敏感性错误;
3、昂贵。

灰盒测试是介于黑盒和白盒测试之间的测试,关注输出对于输入的正确性,同时也关注内部表现。

二、静态测试与动态测试

静态测试是指无需执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,以发现程序出现的不足,减少错误出现的概率。

动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等。

三、手工测试与自动化测试

由专门的测试人员从用户的视角来检测软件是否满足设计要求。更适用针对深度的测试和强调主观判断的测试。

自动化测试是使用单独的测试工具软件控制测试的自动化执行,以及对预期和结果进行自动检查。

手工测试与自动化测试的比较:
1、手工测试容易发现缺陷,容易实施,更加灵活,而自动化测试的一次性投入较大,发现缺陷率较低。
2、手工测试覆盖量化难,重复测试效率低,可靠性低;自动化测试覆盖率容易度量,高复用性,准确可靠。

0 0
原创粉丝点击