前言
本复习笔记基于王玉林老师的课堂PPT与复习大纲,供自己期末复习与学弟学妹参考用。
重点一览
V模型
V模型非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段对应关系:
- 单元测试的主要目的是验证软件模块是否按详细设计的规格说明正确运行;
- 集成测试的主要目的是检查多个模块间是否按概要设计说明的方式协同工作;
- 系统测试的主要目的是验证整个系统是否满足需求规格说明;
- 验收测试从用户的角度检查系统是否满足合同中定义的需求,以及确认产品是否能符合业务上的要求
回归测试
有选择的重新测试系统或其组件,以验证对软件的修改没有导致不希望出现的影响,以及系统或组件仍然符合其指定的需求。
回归测试可以在所有的测试级别执行,并且应用于功能和非功能测试中。
回归测试应该尽量采用自动化测试
单元测试
单元:
- 面向过程的语言:函数/过程
- 面向对象的语言:成员函数/类本身
主要依据:
- 是详细设计,不是针对代码的测试
- 因为未测代码可能包含错误和缺陷,如果依照其测试,则可能无法发现一些错误
主要内容:
- 模块接口
- 局部数据结构
- 边界条件
- 独立路径
- 出错处理
集成测试
重要概念
桩模块:用以代替被测模块调用的子模块,可以做少量数据操作
驱动模块:相当于被测模块的主程序,接受测试数据传送给被测模块,最后输出实测结果
自顶向下的集成方法
将模块按系统程序结构,沿控制层次自顶向下进行集成,从属于主控模块的按深度优先方式或广度优先方式集成到结构中去。
优点:较早验证了主要的控制和判断点;选用了按深度方向集成的方式,可以首先实现和验证一个完整的软件功能
缺点:桩的开发量较大
自底向上的集成方法
从软件最底层模块开始,按照接口依赖关系逐层向上集成进行测试。
优点:每个底层模块都得到测试,不需要桩模块。
缺点:每个模块都需要编写驱动模块;缺陷的隔离和定位不如自顶向下。
SMOKE方法
系统最基本功能的测试,快速验证基本功能,在软件代码正是编译并交付测试以前先尽量消除其表面的错误,减少后期测试成本。
优点:节省测试时间,防止构造失败
缺点:覆盖率比较低
系统测试
主要内容有:功能性测试、性能测试、压力测试、恢复测试、安全测试、其他测试(配置测试、兼容性测试、本地化测试、文档测试、易用性测试)
验收测试
时间:通过系统有效性测试及软件配置审查以后,开始系统验收测试。
人员:以用户为主,开发人员和质量保证员也应参加。
内容:由用户参加设计测试用例,使用生产中的实际数据进行测试。
α测试
由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。
β测试
由软件的多个用户在实际使用环境下进行的测试,这些用户返回有关错误信息给开发者。
本章小结
- 测试的通用V模型定义了测试的基本级别:单元测试、集成测试、系统测试和验收测试
- 单元测试检查单一的软件组件。集成测试检查这些组件的协调。系统测试从用户角度检查整个系统。在验收测试时,客户采用根据合同进行的验收测试、操作验收测试和用户验收测试来检查产品
- 在测试的各个级别中,在修改程序后,都要执行回归测试
- 测试有多种类型:功能测试、性能测试、压力测试、恢复测试和安全测试等
- 由于软件测试不可能发现所有的软件缺陷,因此可以用对数泊松执行时间模型估计测试终止的时间
- 要保证测试工作的顺利进行,需要对测试进行有效组织,要尽量避免由开发人员测试自己的代码
版权归原作者 Vec_Kun 所有, 如有侵权,请联系我们删除。