
测试周期
测试周期是指从测试项目计画建立到BUG提交的整个测试过程,包括软体项目测试计画,测试需求分析,测试用例设计,测试用例执行,BUG提交五个阶段。
软体测试周期并行与软体生命周期,存在于软体生命周期的各个阶段。
基本介绍
- 中文名:测试周期
- 外文名:Test cycle
- 从属于:软体生命周期
- 对象:软体
- 主要过程:设计开发过程
- 别名:软体测试生命周期
概念
测试的设计开发过程与正在构建的应用程式一样複杂和艰巨。如果未能儘早开始,测试或者不够完善,或者会导致需要在开发时间表上附加一个长时间的测试和错误修正时间表,这将有违叠代开发的初衷。此外,测试计画和设计活动可以揭示应用程式定义中的故障和缺陷。这些问题越早得以解决,对整个时间表造成的影响就越小。评价过程中发现的问题可以在本次叠代解决,也可以留待下次叠代解决。通过核实已经实施的需求来评测叠代的完全程度,是评价的主要任务之一。叠代之间始终存在着某种“需求蠕变”,您需要意识到其存在并能够对其加以管理。
执行测试的方式取决于多种因素:您的套用领域、预算、公司策略和风险承受能力以及职员。对于测试的投资多少取决于在具体环境中评价质量和承受风险的方式。
各种测试概念对照表
测试概念名称 | 目标 | 範围 | 所有人 | 是否该持续集成 | 工具 | 备注 |
单元测试 | 验证原始码单元能够正确工作 | class | 开发人员 | 是 | JUnit | 应该产生100%的代码覆盖率报告 |
功能测试 | 面向代码,通过组件内示例数据测试特徵 | class | 开发人员 | 是 | JUnit | 应该模拟依赖接口 |
集成测试 | 依赖一定的环境进行一些路径覆盖测试 | components | 开发人员 | 可选 | JWebUnit TestNG | 如果测试很快并且环境依赖可以很容易的自动安装,可以包含在持续集成中 |
冒烟测试 | 确保关键功能运行 | application | 开发人员 | 否 | JWebUnit TestNG | 代码提交给测试人员前运行,对于web-app模组等同于集成测试 |
回归测试 | 寻找回归的bugs,即只在新版本上出现的bugs。 | application | 测试人员 | 否 | Selenium | 重新运行之前版本运行过的测试 |
完备性测试 | 集中在修复的bugs和新特性上 | application | 测试人员 | 否 | Selenium | 为新特性增加新的测试用例 |
系统测试 | 针对功能需求规範(FRS)、系统需求规範(SRS)测试整个系统 | application platform | 测试人员 | 否 | Selenium | 可能包括更多测试,像可用性测试 |
平台测试 | 在不同的硬体和软体平台上运行 | application platform | 测试人员 | 否 | Selenium | |
性能测试 | 通过採集套用数据消除瓶颈 | application platform | 开发人员 | 否 | JMon,ab, httperf,JMeter | |
负载测试 | 暴露非表面bugs,确保达到性能指标 | application platform | 团队 | 否 | ab,siege httpref | 负载测试有时叫做大数据量测试,或者耐力测试 |
压力测试 | 通过耗尽资源或者删除资源来尽力破坏系统 | application platform | 测试人员 | 否 | ab,httpref | 也叫拒绝测试或者恢複测试 |
用户验证测试 | 需要的业务功能和正确的系统功能的一个最终验证,在类实际环境中进行 | application platform | 客户 | 否 | 客户决定 | 也叫拒绝测试或者恢複测试 |