软件测试的生命周期

上一篇 / 下一篇  2009-02-12 21:34:01

软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试

因此,软件测试贯穿于软件项目的整个生命过程。在软件项目的每一个阶段都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。软件测试的对象不仅仅是软件代码,还包括软件需求文档和设计文档。软件开发与软件测试应该是交互进行的,例如,单元编码需要单元测试,模块组合阶段需要集成测试。如果等到软件编码结束后才进行测试,那么,测试的时间将会很短,测试的覆盖面将很不全面,测试的效果也将大打折扣。更严重的是如果此时发现了软件需求阶段或概要设计阶段的错误,如果要修复该类错误,将会耗费大量的时间和人力。

因为从根本上讲,软件测试不可能发现全部的错误。从软件开发的角度看,软件的高质量不是软件测试人员测出来的,是靠软件生命周期的各个过程中设计出来的。出现软件错误,不能简单地归结为某一个人的责任,有些错误的产生可能不是技术原因,可能来自于混乱的项目管理。应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。

开发和测试是相辅相成的过程,需要软件测试人员、程序员和系统分析师等保持密切的联系,需要更多的交流和协调,以便提高测试效率。另外,对于单元测试主要应该由程序员完成,必要时测试人员可以帮助设计测试样例。对于测试中发现的软件错误,很多需要程序员通过修改编码才能修复。程序员可以通过有目的的分析软件错误的类型、数量,找出产生错误的位置和原因,以便在今后的编程中避免同样的错误,积累编程经验,提高编程能力。

这是不重视软件测试的表现,也是软件项目过程管理混乱的表现,必然会降低软件测试的质量。一个软件项目的顺利实现需要有合理的项目进度计划,其中包括合理的测试计划,对项目实施过程中的任何问题,都要有风险分析和相应的对策,不要因为开发进度的延期而简单的缩短测试时间、人力和资源。因为缩短测试时间带来的测试不完整,对项目质量的下降引起的潜在风险,往往造成更大的浪费。克服这种现象的最好办法是加强软件过程的计划和控制,包括软件测试计划、测试设计、测试执行、测试度量和测试控制。

 

 

软件测试生命周期包括6个阶段(大体上):1)计划 2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施,和7)实施后。
1. 计划(产品定义阶段)
 高层次的测试计划(包含多重测试周期)
 质量保证计划(质量目标,测试标准等 )
 确定计划评审的时间
 报告问题过程
 确定问题的分类
 确定验收标准-给质量保证员和用户。
 建立应用程序测试数据库
 确定衡量标准,例如缺陷数量/严重程度和缺陷起源(仅举几个例子) 。
 确定项目质量度量
 开始制定项目整体测试时间表(时间,资源等)
 必需阶段:评审产品定义文档
 文档中加入质量保证标准,作为工程改善进程的一部分
 根据该产品的特点帮助确定问题的范围
 大约每月要花5 -1 0小时在这一方面
 计划在数据库管理所有测试用例,包括手工方面或者自动化方面。

2. 分析(外部文档阶段)
 根据业务需求开发功能验证矩阵。
 制定测试用例格式-估计时间和分配优先级。
 制定测试周期矩阵与时间线
 根据功能验证矩阵开始编写测试用例
 根据业务需求计划测试用例基准数据
 确定用于自动化测试的测试用例。
 自动化团队开始在测试工具中创建变量文件和高层次的测试脚本。
 为自动化系统中的跟踪组件设置路径和自动化引导。
 界定压力和性能测试的范畴。
 按照每个测试用例的数据要求开始建立基准数据库。
 定义维护基准数据库的过程,即备份,恢复,验证。
 开始规划项目所需的测试周期数,和回归测试次数。
 开始文档复查,如:功能设计文档,业务需求文档,产品规格说明书,产品外部文档等。
 审查测试环境和实验室,前端与后端系统都要。
 准备使用McCabe工具,以支持白盒测试中代码的研发和复杂性分析
 建立反馈机制并开始录入文档。
 必需阶段:审查外部文件
 文档中加入质量保证标准,作为工程改善进程的一部分。
 根据群体执行反馈编写测试用例
 开始研制测试用例估计数目,每个用例的执行时间,和用例是否自动化这些方面的度量
 为每个测试用例确定基准数据,
 大约每月要花25小时在这一方面

3. 设计(文档架构阶段)
 根据变更修改测试计划
 修改测试周期矩阵和时间线
 核实测试计划和用例用到的数据都输入到数据库,或是否必需的。
 修改功能验证矩阵
 继续编写测试用例,根据变化添加新的用例
 制定风险评估标准
 规范自动化测试和多用户测试的细节。
 挑选出一套用于自动化测试的测试用例,并且把这些用例脚本化
 规范压力测试和性能测试的细节。
 最终确定的测试周期。 (根据用例的估计时间和优先权确定每个周期所用的测试用例数)
 最终确定的测试计划
 估计单元测试所需资源
 必需阶段:审查架构文件
 文档中加入质量保证标准,作为工程改善进程的一部分。
 确定要进行编码的的实际组件或模块
 在这定义单元测试标准,通过/失败准则等。
 单元测试报告,报告进行单元测试后的模块质量如何,白盒测试和黑盒测试都要包括输入/输出数据和所有决定点。
 列出所有要进行单元测试的模块

4. 构建(单元测试阶段)
 完成所有计划
 完成测试周期矩阵和时间线
 完成所有测试用例。 (手动)
 完成第一套自动化测试用例的测试脚本。
 完成压力和性能测试的计划
 开始压力和性能测试
 McCabe工具支持-提供度量
 测试自动化测试系统,并修复错误。
 发展单元测试
 运行质量保证验收测试套件,以确保软件已经可以交给QA测试。

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

5. 测试周期/ 错误修正( 重复/系统测试阶段)
 测试周期1,执行第一套的测试用例(前端和后端)
 报告错误
 错误审核-不断开展的活动。
 根据需求修改测试用例
 根据需求增加测试用例
 测试周期二
 测试周期三

6. 最后的测试和实施(代码冻结阶段) 
 执行所有前端测试用例-人工和自动化。
 执行所有后端测试案例-人工和自动化。
 执行所有压力和性能测试。
 提供对正在进行的缺陷跟踪度量。
 提供对正在进行的复杂性和设计的度量。
 更新测试用例和测试计划的估计时间。
 文件测试周期,回归测试,并更新相应文档。

7. 实施后
 开展实施后评估会议以回顾整项工程。 (经验所得)
 准备最终的缺陷报告和相关度量。
 制定战略以防止类似的问题在今后的项目中重复出现。
 创建如何改进流程的计划目标和里程碑,
 McCabe工具-制作最后的报道和分析。
 自动化测试组-1 )审查测试用例以评估其他可用于自动化回归测试的用例2 )清理自动化测试用例和变量,和3 )审查自动化测试和手工测试结果的整合过程
 测试实验室和测试环境-清理测试环境,标记和存档用过测试用例和数据,恢复测试仪器到原始状态等。

 

5


TAG:

yane_chung的个人空间 引用 删除 yane_chung   /   2012-11-02 13:57:58
yane_chung的个人空间 引用 删除 yane_chung   /   2012-11-02 13:57:49
1
lybf的个人空间 引用 删除 lybf   /   2009-11-02 17:42:39
 

评分:0

我来说两句

alextowxm

alextowxm

高级测试工程师

日历

« 2024-03-22  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 60929
  • 日志数: 77
  • 文件数: 19
  • 书签数: 1
  • 建立时间: 2007-10-15
  • 更新时间: 2014-03-13

RSS订阅

Open Toolbar