一、测试分类
单元测试
驱动模块:
模拟被测模块的上一级模块,接收测试数据,把这些数据传送给所测模块,最后再输出实际测试结果。
桩模块:
模拟被测单元需调用的其他函数接口,模拟实现子函数的某些功能。
集成测试
测试对象是模块间接口
整体测试:
就是每个模块挨个测一遍(有需要时加上驱动和桩)
增量测试:
自顶向下:
想树的深(广)度遍历一样,一步一步勾勒出整个树的轮廓。
自底向上:
从树的叶子开始,一步步往上。
三明治(两边向中间):
就是选定中间某个位置,上面用自顶向下,下面用自底向上。
确认测试
测试人员根据需求文档测试。
系统测试
不管有多少单元、模块、系统,全部合成一个整体,就是系统测试。
包括功能测试(按功能测)、压力测试(满负荷状态测试)、安全测试(是否能经住攻击)、恢复测试(未完成的任务回滚)、GUI测试(测人机交互)、安装测试
验收测试
针对用户的测试。
α测试(开发环境下测试)和β测试(普通用户环境下测试)都是在正式发布之前的测试。
回归测试
重测之前测过的用例。应对对软件某个部分修改后,测其他未改动部分功能不受影响。
二、黑盒测试——依据需求文档
1.等价类方法
什么是等价类
等价类就是只起到同等测试效果(测试出的错误是同类型的)的测试数据的集合,因此只需要测试一个等价类中的一个用例,就可以代表等价类中的其他用例。
有效等价类和无效等价类
有效等价类对应合法输入,无效等价类对应非法输入(永远把你的客户当成傻瓜,她可能犯各种错误)。两种等价类都需要在设计测试用例时考虑。
测试用例和测试结果
测试用例=测试数据+期望结果
测试结果=测试数据+期望结果+实际结果
用等价类划分方法设计测试用例
仔细阅读输入要求,找到所有原子的输入条件
针对每个原子条件,分别设计有效等价类和无效等价类
为每个有效等价类或无效等价类编号
为有效等价类设计测试用例,要使每个测试用例尽可能多的覆盖有效等价类,直到所有有效等价类都被测试到。以上图中为例,设计一个有效等价类测试用例,尽可能多覆盖(1)(2)(3)(4)(5),如果没覆盖完全,在设计一个测试用例,使覆盖完全。
为无效等价类设计测试用例,要使每一个测试用例只覆盖一个无效等价类,即有几个无效等价类,就设计几个测试用例。
参考答案:
2.边界值方法
对于一个变量,保持其他变量在取值中心,该变量取边界值大一点小一点或正好等于临界值三种情况。对每一个变量按上述规则取测试用例,最后加上所有变量都在取值中心的一个测试用例。
图形化语言:
抛去非法输入的情况,图形化语言:
三、白盒测试——依据源代码
覆盖标准
注意条件覆盖和判定覆盖不是包含关系,判定覆盖包含语句覆盖。
基本路径法
即使是条件组合覆盖也不能保证覆盖所有路径组合。以下介绍一种新的测试方法,目标是覆盖全部路径,称为基本路径法。
其中环形复杂度计算=区域个数=判定节点数+1=边数-结点数+2