[软件测试]软件测试基础2,软件测试阶段的详细介绍
2019-04-21 本文已影响1人
程序小黑
软件测试
软件测试阶段
软件测试的对象包括软件需求、概要设计、详细设计、软件运行环境、可运行程序和软件源代码等。(程序+文档+数据)
软件测试包括质量、人员、资源、技术和流程五大要素,以及测试覆盖率和测试效率两个目标。</font>
软件测试阶段一、单元测试
单元测试是对软件中的最小可验证单元</font>进行检查和验证。比如对Java中的类和方法的测试。
测试原则:
- 尽可能保证测试用例相互独立(测试用例中不能直接调用其他类的方法,而应在测试用例中重写模拟方法);
- 此阶段一般由软件的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求。
单元测试的好处:
- 尽早的发现缺陷
- 利于重构
- 简化集成
- 文档
- 用于设计。
单元测试的不足:
- 不可能覆盖所有的执行路径,所以不可能保证捕捉到所
有路径的错误; - 每行代码需要3~5行代码进行单元测试,存在投入与产
出的平衡。
二、集成测试
集成测试是在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称组装测试或联合测试。
集成测试策略有:非渐增式集成、渐增式集成(自顶向下、自底向上等)。
集成测试策略 集成测试策略说明三、系统测试
将经过集成测试的软件,作为计算机系统的一部分,与系统中其他部分结合起来,在实际运行环境下进行一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行</font>。
集成测试和系统测试之间的比较:
- 测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个系统的功能和性能;
- 测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的角度进行测试。
四、确认测试
又称有效性测试,它的任务是验证软件的有效性,即验证软件的功能和性能及其它特性是否与用户的要求一致。(以需求规格说明书为测试基础)若能达到这一要求,则表明开发的软件是合格的。
五、验收测试
也称交付测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。
验收测试包括alpha测试和beta测试
- alpha测试是由开发者进行的软件测试(内部)
- beta测试是由用户在脱离开发环境下进行的软件测试(外部)
回归测试(Regression Testing):
软件在测试或其他活动中发现的缺陷经过修改后进行的测试。目的是验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能。
回归测试可以发生在任何一个阶段,包括单元测试、集成测试和系统测试。
回归测试流程及策略
一、回归流程(适合于单元测试、集成测试和系统测试)
- 在测试策略制定阶段,制定回归测试策略
- 确定需要回归测试的版本
- 回归测试版本发布,按照回归测试策略执行回归测试
- 回归测试通过,关闭缺陷跟踪单(问题单)
- 回归测试不通过,缺陷跟踪单返回开发人员,开发人员重新修改问题,再次提交测试人员回归测试
二、回归测试策略
- 完全重复测试 :重新执行所有在前期测试阶段建立的测试用例,来确认问题修改的正确性和修改的扩
散局部影响性 - 选择性重复测试:即有选择地重新执行部分在前期测试阶段建立的测试用例,来测试被修改的程序
- 覆盖修改法 :即针对被修改的部分,选取或重新构造测试用例验证没有错误再次发生的用例选择方法。
- 周边影响法:该方法不但要包含覆盖修改法确定的用例,还需要分析修改的扩散影响,对那些受到修改间接影响的部分选择测试用例验证它没有受到不良影响。该方法比覆盖修改法更充分一点。
- 指标达成方法:这是一种类似于单元测试的方法,在重新执行测试前,先确定一个要达成的指标,如修改部分代码100%的覆盖、与修改有关的接口60%的覆盖等,基于这种要求选择一个最小的测试用例集合。
- 覆盖修改法 :即针对被修改的部分,选取或重新构造测试用例验证没有错误再次发生的用例选择方法。