全流程测试
为什么各个软件开发过程模型,从模型定义的角度就重视尽早地进行测试?
尽早进行测试,有如下优点
- 降低项目后期发现严重甚至致命缺陷导致项目失败的风险
- 降低由于发现缺陷的时间点推迟而导致缺陷修改所增加的项目成本
全流程的测试思想
- 是指从项目立项开始就着手考虑在项目各个阶段设置与发现阶段产物缺陷相关的测试活动,例如需求规格说明书、设计说明书、代码、项目计划等等,以达到尽早发现软件产品中缺陷的目的。
- 整个软件开发过程中的测试活动分为两大部分:静态部分和动态部分
- 本课程所述的软件测试过程只考虑动态部分
一、软件测试的流程
- 风险评估:评估技术的,资源的,经济的风险
- 测试计划:测试条件,资源,进度和测试的优先级
- 测试设计:设计测试用例
- 测试开发:设计脚本和数据
- 测试执行:运行测试程序,执行测试,记录测试结果
- 测试评估:统计和分析测试结果,并且分析是否达到系统要求
二、IBM Rational的软件测试流程
IBM Rational 软件自动化测试技术核心的三个最佳成功经验是:尽早测试、连续测试、自动化测试
- 尽早测试
-
- 软件的整个测试生命周期与软件的开发生命周期基本平齐的过程
-
- 把原来的整个软件开发生命周期分成多个迭代周期,在每个迭代周期都进行测试
-
- 将整个软件的测试按阶段划分成开发人员测试和系统测试两个阶段
- 连续测试
-
- 连续测试是从迭代式软件开发模型得来的
-
- 每个迭代周期都会进行软件测试
-
- 整个软件测试是通过每个迭代周期不断的 增量测试和回归测试实现
- 成功经验:
-
- 控制开发风险
-
- 减低测试成本
-
- 保证项目进度
测试过程与开发过程的分析
首秀测试部门和开发部门的互相独立,是软件开发的一个制度保证
- 测试对开发起着监督和反馈的作用,从源头上保证软件的质量
- 开发能通过测试不断的完善软件
- 测试起到“把关”或者“守门员”的资格