1.按测试手段来分类
①黑盒测试和白盒测试
②动态测试和静态测试
静态测试:是指无需执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率
动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等
③手工测试和自动化测试
手工测试:由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试。众包测试、探索式测试。
自动化测试:使用单独的测试工具软件控制软件的自动化执行以及对预期和结果进行自动检查。单元测试、接口测试、性能测试。
2.黑盒测试的优点
①容易实施,不需要关注内部的实现
②更贴近用户的使用角度
3.黑盒测试的缺点
①测试覆盖率较低,一般只能覆盖到代码量的不到40%
②针对黑盒的自动化测试,复用率较低,维护成本较高
4.黑盒测试主要测试什么?
①是否有不正确后遗漏的功能
②在接口上,输入是否正确的接受,能否输出正确的结果
③是否有数据结构错误或外部信息(例如数据文件)访问错误
④性能上是否能够满足要求
5.黑盒测试的主要设计方法
等价类划分法 边界值分析法 错误推测法 因果图法 正交试验分析法 状态图法 流程分析法
6.白盒测试的主要逻辑覆盖
语句覆盖 条件覆盖 条件组合覆盖 分支覆盖 路径覆盖
7.白盒测试的优点
①迫使测试人员去仔细思考软件的实现,理解原理
②可以检测代码中的每条分支和路径
③揭示隐藏在代码中的错误
④对代码的测试比较彻底
8.白盒测试的缺点
①昂贵
②无法检测代码中遗漏的路径和数据敏感性错误
③不能直接验证需求的正确性
9.白盒测试的主要测试方法
代码检测法 静态结构分析法 静态质量度量法 逻辑覆盖法 基本路径测试法
10.灰盒测试
介于黑、白盒测试之间的,关注输出对于输入的正确性,同时也关注内部表现
11.静态测试的方式
互审 走查 会议
12.手工测试和自动化测试
手工测试的优点
①容易发现缺陷
②容易实施
③创造性、灵活性
手工测试的缺点
①覆盖量化难
②重复测试效率低
③不一致性、可靠性低
④人力资源依赖
自动化测试的优点
①高效率、速度快
②高复用性
③覆盖率容易度量
④准确、可靠
⑤不知疲劳
自动化测试的缺点
①机械、发现缺陷率低
②一次性投入较大