课程名称:软件测试基础-概念篇
链接:软件测试基础教程-概念篇-慕课网 (imooc.com)
章节名称:第2章 软件测试阶段、手段、模式
讲师姓名:城下秋草
课程内容:
软件测试手段
课程收获:
1.软件测试手段:
(1)分类:根据测试对象的可见度:黑盒测试、 白盒测试;根据状态:静态测试、动态测试;执行方式:手工测试、自动化测试。
(2)黑盒测试:不考虑程序内部结构和内部特性下,通过相关暴露出的接口,对程序进行测试。只检查程序的功能是否按照需求规定,正常使用;程序是否能适当的输入输出数据,并产生正确的输出信息;一般针对软件外面的界面,可见的功能;从用户的视角,通过不同数据事件,通过输出结果进行判断;
(3)黑盒测试优点:容易实施,不需要关注内部的实现;更贴近用户的使用角度。
(4)黑盒测试缺点:测试覆盖率较低,一般只能覆盖到代码量的不到40%;针对黑盒的自动化测试,复用率较低,维护成本较高。
(5)黑盒测试主要测试:是否有不正确或遗漏的功能;在接口上,输入是否能正确的接受?能否输出正确的结果;是否有数据结构错误或外部信息(例如数据文件)访问错误;性能上是否能够满足要求。
(6)黑盒测试的主要设计方法:
等价类划分法:针对程序的输入条件进行分类,输入典型的数据
边界值分析法:特殊的边界数据,测试代码的边界状态
错误推测法:基于经验,直觉,判断错误的地方;特殊字符,文件不存在
因果图法:根据输入输出看做原因和结果,形成因果图。(因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。)
正交试验分析法:选出代表性的数据,作为输入数据
状态迁移图法:软件审批的过程,各种状态迁移
流程分析法:处理程序逻辑执行的路径
(7)白盒测试:逻辑覆盖率
主要的逻辑单位:
语句覆盖:保证每条语句执行一次
分支(判定):保证每条分支至少执行一次
条件:条件表达式,至少计算一次
条件组合:所以不同条件下的组合情况
路径:程序中,每个可能的路径至少执行一次
(8)白盒测试优点:迫使测试人员去仔细思考软件的实现,理解原理;可以检测代码中的每条分支和路径;揭示隐藏在代码中的错误;对代码的测试比较彻底。
(9)白盒测试缺点:昂贵;无法检测代码中遗漏的路径和数据敏感性错误;不能直接验证需求的正确性。
(10)灰盒测试:介于黑、白盒测试之间的测试,关注输出对于输入的正确性,同时也关注内部表现。
(11)静态测试定义:静态测试是指无须执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率。
(12)动态测试定义:动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等。
(13)手工测试定义:由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试。
众包测试,探索式测试
(14)自动化测试:使用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查。
单元测试、接口测试、性能测试等。
每天学习一点点,加油!!!