软件和软件测试生命周期

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件生命周期
同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。

把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。

通常,软件生存周期包括可行性分析与开发项计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,可以将这些活动以适当的方式分配到不同的阶段去完成。

软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。

但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。

软件生命周期(SDLC)的六个阶段
1、问题的定义及规划
此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

2、需求分析
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。

需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。

"唯一不变的是变化本身。

",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。

3、软件设计
此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。

软件设计一般分为总体设计和详细设计。

好的软件设计将为软件程序编写打下良好的基础。

4、程序编码
此阶段是将软件设计的结果转换成计算机可运行的程序代码。

在程序编码中必须要制定统一,符合标准的编写规范。

以保证程序的可读性,易维护性,提高程序的运行效率。

5、软件测试
在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。

整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。

测试的方法主要有白盒测试和黑盒测试两种。

在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

6、运行维护
软件维护是软件生命周期中持续时间最长的阶段。

在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。

要延续软件的使用寿命,就必须对软件进行维护。

软件的维护包括纠错性维护和改进性维护两个方面。

软件测试生命周期
软件测试生命周期包括6个阶段(大体上):1)计划2)分析,3)设计,4)构建,5)测试周期,6)
最后测试和实施,和7)实施后。

1. 计划(产品定义阶段)
λ高层次的测试计划(包含多重测试周期)
λ质量保证计划(质量目标,测试标准等)
λ确定计划评审的时间
λ报告问题过程
λ确定问题的分类
λ确定验收标准-给质量保证员和用户。

λ建立应用程序测试数据库
λ确定衡量标准,例如缺陷数量/严重程度和缺陷起源(仅举几个例子)。

λ确定项目质量度量
λ开始制定项目整体测试时间表(时间,资源等)
λ必需阶段:评审产品定义文档
λ文档中加入质量保证标准,作为工程改善进程的一部分
λ根据该产品的特点帮助确定问题的范围
λ大约每月要花5 -1 0小时在这一方面
λ计划在数据库管理所有测试用例,包括手工方面或者自动化方面。

2. 分析(外部文档阶段)
λ根据业务需求开发功能验证矩阵。

λ制定测试用例格式-估计时间和分配优先级。

λ制定测试周期矩阵与时间线
λ根据功能验证矩阵开始编写测试用例
λ根据业务需求计划测试用例基准数据
λ确定用于自动化测试的测试用例。

λ自动化团队开始在测试工具中创建变量文件和高层次的测试脚本。

λ为自动化系统中的跟踪组件设置路径和自动化引导。

λ界定压力和性能测试的范畴。

λ按照每个测试用例的数据要求开始建立基准数据库。

λ定义维护基准数据库的过程,即备份,恢复,验证。

λ开始规划项目所需的测试周期数,和回归测试次数。

λ开始文档复查,如:功能设计文档,业务需求文档,产品规格说明书,产品外部文档等。

λ审查测试环境和实验室,前端与后端系统都要。

λ准备使用McCabe工具,以支持白盒测试中代码的研发和复杂性分析
λ建立反馈机制并开始录入文档。

λ必需阶段:审查外部文件
⌝文档中加入质量保证标准,作为工程改善进程的一部分。

⌝根据群体执行反馈编写测试用例
⌝开始研制测试用例估计数目,每个用例的执行时间,和用例是否自动化这些方面的度量
⌝为每个测试用例确定基准数据,
⌝大约每月要花25小时在这一方面
3. 设计(文档架构阶段)
λ根据变更修改测试计划
λ修改测试周期矩阵和时间线
λ核实测试计划和用例用到的数据都输入到数据库,或是否必需的。

λ修改功能验证矩阵
λ继续编写测试用例,根据变化添加新的用例
λ制定风险评估标准
λ规范自动化测试和多用户测试的细节。

λ挑选出一套用于自动化测试的测试用例,并且把这些用例脚本化
λ规范压力测试和性能测试的细节。

λ最终确定的测试周期。

(根据用例的估计时间和优先权确定每个周期所用的测试用例数)
λ最终确定的测试计划
λ估计单元测试所需资源
λ必需阶段:审查架构文件
⌝文档中加入质量保证标准,作为工程改善进程的一部分。

⌝确定要进行编码的的实际组件或模块
⌝在这定义单元测试标准,通过/失败准则等。

⌝单元测试报告,报告进行单元测试后的模块质量如何,白盒测试和黑盒测试都要包括输入/输出数据和所有决定点。

⌝列出所有要进行单元测试的模块
4. 构建(单元测试阶段)
λ完成所有计划
λ完成测试周期矩阵和时间线
λ完成所有测试用例。

(手动)
λ完成第一套自动化测试用例的测试脚本。

λ完成压力和性能测试的计划
λ开始压力和性能测试
λ McCabe工具支持-提供度量
λ测试自动化测试系统,并修复错误。

λ发展单元测试
λ运行质量保证验收测试套件,以确保软件已经可以交给QA测试。

相关文档
最新文档