测试是贯彻到软件生命周期(计划-需求-设计-编码-测试-维护)的每一个环节中
一、测试的四个阶段
四个阶段为:单元测试——集成测试——系统测试——验收测试
软件产品层次:函数——模块、子系统——软件
1、单元测试
a、时间:单个函数完成后,对函数执行测试
b、对象:函数
c、依据:LLD(详细设计说明)
d、执行人员:开发
2、集成测试
a、时间:在一个模块完成后,对该模块进行测试
b、对象:模块、子系统
c、依据:HLD(概要设计说明)
d、执行人员:开发、测试
3、系统测试
a、时间:整个软件开发完毕
b、对象:整个软件,运行在指定的硬件环境上
c、依据:SRS(需求说明)
d、执行人员:测试
4、验收测试
a、时间:研发团队完成产品的开发和测试后,提交给用户使用前
b、对象:软件系统
c、依据:用户自身的需求
d、两种测试:
d1、正规验收,第三方代表用户进行验收,软件测评中心
d2、非正规验收。阿尔法测试:软件的内测,用户在指定的环境下进行的验收,环境可控;beta测试:用户在实际的环境下进行测试,环境不可控
二、三个依据文档
1、需求文档SRS
总体概述:软件概述、软件实现的功能、使用的用户特征等
具体需求:实现的功能(输入、输出、处理)、性能需求(相应时间等)、外部接口(用户接口、软件接口等)
总体设计约束、需求分级等
主要内容:软件的特征、软件的约束和重要程度
对于开发和测试的意义:开发产品的最终目标;测试以文档为基础,对整个软件进行测试
2、概要设计文档HLD
将软件分解,描述其构成的过程
3、详细设计文档LLD
函数的内部实现
三、测试活动
1、测试计划
who、when、where、what
2、测试设计
how
3、测试实现
用例的编写
4、测试执行
用例执行、环境的搭建、bug分析提交、缺陷分析报告、风险
四、回归测试
对于已经进行的测试,重复执行,成为回归
场景:代码修改之后验证。bug的修改和软件升级或者软件接口重构
代码修改后,可能会引入其他的问题,对于修改代码的相关功能也需要测试
策略:完全回归:重要性、时间、影响;部分回归:修改的内容、相关的功能、重要的功能、开发提供的建议