软件测试生命周期(STLC)的8个阶段的详细信息
![[��ǩ:����] [��ǩ:����]](https://www.xuefen.net//file/upload/img/7/99.jpg)
一.演化
♦1960年代的趋势:
♦1990年代的趋势:
♦2000年代的趋势:
测试的趋势和能力正在发生变化。现在要求测试人员更加注重技术和流程。现在的测试不仅仅局限于发现错误,而且范围更广,从项目一开始就需要甚至没有最终确定。由于测试也是标准化的。就像软件开发有生命周期一样,测试也有生命周期。在随后的章节中,我将讨论生命周期是什么以及它与软件测试有何关系,并将尝试详细说明。
开始吧!
二. 什么是生命周期?
简单术语中的生命周期是指从一种形式到另一种形式的变化顺序。
这些变化可能发生在任何有形或无形的事物上。
每个实体从开始到退休/消亡都有一个生命周期。
以类似的方式,软件也是一个实体。
就像开发软件涉及一系列步骤一样,测试也有一些应该以一定顺序执行的步骤。
这种以系统和有计划的方式执行测试活动的现象称为测试生命周期。
三. 什么是软件测试生命周期(STLC)
软件测试生命周期是指一个测试过程,其具有以确定顺序执行的特定步骤,以确保满足质量目标。
在STLC过程中,每个活动都以有计划和系统的方式进行。
每个阶段都有不同的目标和可交付成果。
不同的组织在STLC中有不同的阶段;但基础保持不变。
以下是STLC的各个阶段:
需求阶段
计划阶段
分析阶段
设计阶段
实施阶段
执行阶段
结论阶段
关闭阶段
#1. 需求阶段:
在STLC的这个阶段,分析和研究要求。与其他团队进行头脑风暴会议,并尝试确定这些要求是否可测试。此阶段有助于确定测试范围。如果任何功能不可测试,请在此阶段进行通信,以便可以规划缓解策略。
#2. 计划阶段:
在实际情况中,测试计划是测试过程的第一步。在此阶段,我们确定有助于实现测试目标的活动和资源。在规划期间,我们还尝试确定指标,收集和跟踪这些指标的方法。
在什么基础上进行规划?只有要求?
答案是不。要求确实构成了基础之一,但是还有另外两个影响测试计划的非常重要的因素。这些是:
–-组织测试策略。
–-风险分析/风险管理和预防。
#3. 分析阶段:
STLC阶段定义了要测试的“WHAT”。我们基本通过需求文档,产品风险和其他测试依据来确定测试条件。测试条件应该可追溯到要求。影响测试条件识别的因素有很多:
– 测试的级别和深度
– 产品的复杂性
– 产品和项目风险
– 涉及软件开发生命周期。
– 测试管理
– 团队的技能和知识。
– 利益相关者的可用性。
我们应该尝试以详细的方式写下测试条件。例如,对于电子商务Web应用程序,您可以将测试条件设置为“用户应该能够进行付款”。或者您可以通过说“用户应该能够通过NEFT,借记卡和信用卡付款”来详细说明。编写详细测试条件的最重要的优点是它增加了测试覆盖率,因为测试用例将根据测试条件编写,这些细节将触发编写更详细的测试用例,最终会增加覆盖范围。还要确定测试的退出标准,即确定停止测试的一些条件。
#4. 设计阶段:
这个阶段定义了“HOW”进行测试。此阶段涉及以下任务:
– 详细说明测试条件。将测试条件分解为多个子条件以增加覆盖率。
– 识别并获取测试数据
– 识别并设置测试环境。
– 创建需求可跟踪性度量标准
– 创建测试覆盖率指标。
#5. 实施阶段:
STLC阶段的主要任务是创建详细的测试用例。确定测试用例的优先级,还可以确定哪个测试用例将成为回归套件的一部分。在最终确定测试用例之前,重要的是进行审查以确保测试用例的正确性。另外,在实际执行开始之前,不要忘记取消测试用例的签名。如果您的项目涉及自动化,请确定自动化的候选测试用例并继续编写测试用例的脚本。别忘了查看它们!
#6. 执行阶段:
顾名思义,这是实际执行的软件测试生命周期阶段。但在开始执行之前,请确保满足您的输入条件。执行测试用例,记录任何差异时的缺陷。同时填写可追溯性指标以跟踪您的进度。
#7. 结论阶段:
该STLC阶段集中于退出标准和报告。根据您的项目和利益相关者的选择,您可以决定报告是否要发送每周报告/每日报告等。您可以发送不同类型的报告(DSR - 每日状态报告,WSR - 每周状态报告)但重要的是,报告的内容会发生变化,具体取决于您发送报告的对象。如果项目经理属于测试背景,那么他们对项目的技术方面更感兴趣,因此请在报告中包含技术内容(通过的测试用例数,失败,引发的缺陷,严重性1缺陷等)。但是,如果您向上层利益相关方报告,他们可能对技术问题不感兴趣,因此请报告他们通过测试减轻的风险。
#8. 关闭阶段:
关闭活动的任务包括以下内容:
–检查测试是否完成。是否所有测试用例都执行或缺少的。检查是否没有打开严重性1的缺陷。
–取经验教训会议并创建经验总结文件。(包括哪些方面进展顺利,哪些方面有改进,哪些方面可以改进)
软件生命周期是什么
问题一:什么是软件的生命周期?软件生命周期分哪几个阶段 软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废或停止使用的生命周期.周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
阶段
同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。通常,软件生存周期包括:
一,问题定义。要求系统分析员与用户进行交流,弄清“用户需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认。
二,可行性研究。一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。
三,需求分析。弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。
四,开发阶段。开发阶段由三个阶段组成:
1,设计
2,实现:根据选定的程序设计语言完成源程序的编码。
3,测试
五,维护:维护包括四个方面
1,改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。
2,适应性维护:是为适应环境的变化而修改软件的活动。
3,完善性维护[1] :是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。
4,预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。
问题二:软件的生命周期 软件生命周期是指从软件定义、开发、使用、维护到报废为止的整个过程,一般包括问题定义、可行性分析、需求分析、总体设计、详细设计、编码、测试和维护。问题定义就是确定开发任务到底“要解决的问题是什么”,系统分析员通过对用户的访问调查,最后得出一份双方都满意的关于问题性质、工程目标和规模的书面报告。可行性分析就是分析上一个阶段所确定的问题到底“可行吗”,系统分析员对系统要进行更进一步的分析,更准确、更具体地确定工程规模与目标,论证在经济上和技术上是否可行,从而在理解工作范围和代价的基础上,做出软件计划。需求分析即使对用户要求进行具体分析,明确“目标系统要做什么”,把用户对软件系统的全部要求以需求说明书的形式表达出来。总体设计就是把软件的功能转化为所需要的体系结构,也就是决定系统的模块结构,并给出模块的相互调用关系、模块间传达的数据及每个模块的功能说明。详细设计就是决定模块内部的算法与数据结构,也是明确“怎么样具体实现这个系统”。编码就是选取适合的程序设计语言对每个模板进行编码,并进行模块调试。测试就是通过各种类型的测试使软件达到预定的要求。维护就是软件交付给用户使用后,对软件不断查错、纠错和修改,使系统持久地满足用户的需求。软件的生命周期也可以分为3个大的阶段,分别是计划阶段、开发阶段和维护阶段。瀑布模型有时也称为V模型,它是一种线型顺序模型,是项目自始至终按照一定顺序的步骤从需求分析进展到系统测试直到提交用户使用,它提供了一种结构化的、自顶向下的软件开发方法,每阶段主要工作成果从一个阶段传递到下一个阶段,必须经过严格的评审或测试,以判定是否可以开始下一阶段工作,各阶段相互独立、不重叠。瀑布模型是所有软件生命周期模型的基础。原型+瀑布模型原型模型本身是一个迭代的模型,是为了解决在产品开发的早期阶段存在的不确定性、二义性和不完整性等问题,通过建立原型使开发者进一步确定其应开发的产品,使开发者的想象更具体化,也更易于被客户所理解。原型只是真实系统的一部分或一个模型,完全可能不完成任何有用的事情,通常包括抛弃型和进化型两种,抛弃型指原型建立、分析之后要扔掉,整个系统重新分析和设计;进化型则是对需求的定义较清楚的情形,原型建立之后要保留,作为系逐渐增加的基础,采用进化型一定要重视软件设计的系统性和完整性,并且在质量要求方面没有捷径,因此,对于描述相同的功能,建立进化型原型比建立抛弃型原型所花的时间要多。原型建立确认需求之后采用瀑布模型的方式完成项目开发。增量模型与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。一些大型系统往往需要很多年才能完成或者客户急于实现系统,各子系统往往采用增量开发的模式,先实现核心的产品,即实现基本的需求,但很多补充的特性(其中一些是已知的,另外一些是未知的)在下一期发布。增量模型强调每一个增量均发布一个可操作产品,每个增量构建仍然遵循设计-编码-测试的瀑布模型。迭代模型早在20世纪50年代末期,软件领域中就出现了迭代模型。最早的迭代过程可能被描述为“分段模型”。迭代,包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有......>>
问题三:什么是软件的生命周期 软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废或停止使用的生命周期。旧的解释是周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
随着新的面向对象的设计方法和技术的成熟,早期软件生命周期设计方法的指导意义正在逐步减少或需要调整。[1] 不过从另一种意义来说,面向对象本身也是一种软件生命周期,传统的软件生命周期的概念仍是所有软件工程师非常重要的知识基础和工作指导。
软件生命周期的解释也应当调整。
以上旧的解释与下文的生命周期模型是不相容的,只与瀑布型生命周期模型及其衍生模型(比如V模型,W模型)相符合,而与迭代为基本特征的生命周期模型是不符合的。新的情况应当是把迭代加入到阶段当中,如下:软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,也有将以上阶段的活动组合在内的迭代阶段,即迭代作为生命周期的阶段。
问题四:一个应用程序生命周期 怎么样 同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控
问题五:什么是软件的生命周期模型?它主要有那些模型? 答:软件生命周期模型是描述软件开发过程中各种活动如何执行的模型。主要有:瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型、基于知识的模型和变换模型。
问题六:软件生命周期和软件测试生命周期的区别是什么? 区别如下:
软件生命周期是指从软件的产生直到报废的整个周期,包括可行性分析与项目计划,需求分析,概要设计和详细设计,编码,调试,维护七个阶段。
软件测试生命周期是指从测试项目计划建立到BUG提交的整珐测试过程,包括软件项目测试计划,测试需求分析,测试用例设计,测试用例执行,BUG提交五个阶段。
另外其联系如下:
软件测试生命周期并行与软件生命周期,存在于软件生命周期的各个阶段。
问题七:软件生命周期,常说是三个时期八个阶段,请问这三个时期的八个阶段分别是什么? 30分 软件生命周期包括八个阶段。为使各时期的任务更明确,又可以分为以下三个时期:软件定义期,软件开发期,软件维护期。
问题八:什么是软件生命周期管理 解决了管理问题,有一个软件生命周期的模型,管理人员才能确定那个阶段做哪些事情,根据不同的生命周期模型管理不同的项目 提高软件质量罚效率等。总而言之,项目选择对应的生命周期模型是为了更好的管理项目开发
问题九:什么是软件生命周期?以及各个阶段的主要任务是什么? 1.软件开发过程――生命周期各个阶段的基本任务
1)软件定义
(1)问题定义
(2)可行性研究
(3)需求分析――系统必需完成哪些任务
2)软件开发
(1)总体设计DD概括地说,系统如何实现
(2)详细设计
(3)编码和单元测试
(4)综合测试
3)软件维护
(1)改正性维护
(2)适应性维护
(3)完善性维护
(4)预防性维护
2.实训题目:
企业客户管理信息系统
3.系统需求:
??应用背景:
企业的客户管理是公司管理的一个重要内容。随着市场竞争日趋激烈,如果能拥有更多的客户,将是企业长久生存的最终因素。
维护客户信息的工作,就是要保存企业客户的基本信息,如公司名称、地址、主要行业、联系人的姓名、地址等。并要能保持一个动态的信息,确保信息的一致性。为了尽可能的保护客户信息,所以系统可以删除公司的信息,但是不删除个人的信息,这样就可以维护最多的客户。如果维护客户信息的工作只用人力来完成的话,中间就会出现很多问题,首先就是浪费人力,当企业的客户数量达到一个级别后,仅仅靠人力来维护庞大的客户信息是不可能的。如果有一个可以自动化、系统化的维护企业客户信息的管理系统,将能够为企业提供非常大的帮助。
企业管理信息系统的对象是企业、企业化管理的事业单位。
客户管理系统为企事业单位提供保存信息、修改信息、信息咨询等服务。
传统的纸介材料的数据盯息管理已经不适合当代企业公司的发展了,实现客户管理的系统化、规范化、自动化,将成为当代公司管理客户信息的首选。
本系统提供了一个通用的、需要维护的客户信息。系统灵活使用表格对各种信息分门别类,组成企业客户管理系统,便于查询、阅读、修改、交流和重复使用。
??功能要求:
本系统的目的是帮助企业提高工作效率以及确保客户信息的准确性和实时性,实现企业客户信息管理的系统化、规范化和自动化。根据这个目的和任务,系统的主要功能是:
1.系统管理部分:
a)以管理员身份登陆系统后,可以添加其他用户
b)不论何种用户登陆后都可以修改自己的密码
2.个人信息管理部分:
a)添加个人信息:包括姓名、性别、年龄、生日、所属公司、职务、所在国家、城市、通信地址、电话、传真、email等信息
b)修改个人信息:修改所有的个人信息
c)查询个人信息:按公司查询个人信息
3.企业信息管理部分:
a)添加企业信息:包括公司名称、所在国家、主要经营领域、与本公司合作领域、地址、电话、传真等信息
b)修改企业信息:修改公司的各种信息
c)查询企业信息:根据经营领域查询企业信息
d)删除企业信息:删除不作为客户的企业信息
4.数据管理
a)导出客户信息Word或Excel格式的文档
b)打印客户信息
??性能要求:
??对于合理的情况要实现
??对于不合理的情况程序要能够作出响应
??程序中用到的控件一律采用缩写的方式,具体参照课本,例如mand1用作添加信息的按钮,改名为cmdAdd,目的使得看见对象名字就知道它是什么控件、有什么功能
??要求做成菜单系统
??对于菜单所在的主窗体,要求是MDI窗体
??如果感兴趣大家可以尝试添加工具栏或右键菜单
4.DATA控件
5.ADO控件
6.ADO对象
7.MSFlexGrid控件的使用...>>
软件生命周期包括哪六个阶段
软件生命周期包括问题的定义及规划、 需求分析、软件设计、程序编码、软件测试、运行维护这六个阶段。
1、问题的定义及规划。
此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
2、 需求分析。
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。
3、软件设计。
此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。
4、程序编码。
此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。
5、软件测试。
在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。
6、运行维护。
软件维护是软件生命周期中持续时间最长的阶段。软件的维护包括纠错性维护和改进性维护两个方面。
软件生命周期七个阶段
软件生命周期七个阶段是指软件从立项开始,经过开发、使用和不断修改,直到最后废弃的整个过程。
通常将软件的生命周期划分六个阶段:系统调查、系统分析、系统设计、程序设计、系统测试和运行维护,在软件开发的每一个阶段,都有明确的目标和任务。
(1)调查研究阶段。调查现行系统的组织分工、业务流程以及资源,提出新系统的目标,并从技术、经济、社会等方面进行软件开发的可行性研究。
(2)系统分析阶段。研究现行系统的业务流程,确定新系统的功能界面,建立新系统的逻辑模型,包括数据流程图、数据字典和处理过程等,主要任务是明确系统"做什么"。
(3)系统设计阶段。主要解决"怎么做",即提出系统的物理模型。包括总体结构设计、硬件体系结构设计、数据库设计、代码设计、输入输出设计以及模块结构图等。
(4)系统实施阶段。即程序设计阶段。
(5)系统调试阶段。测试各模块及系统的正确性。
(6)运行维护阶段。系统投入运行,并对软件进行不断的修改和维护。
(7)废弃(终止)阶段。
软件测试分为哪几个阶段
软件测试一般分为4个阶段:单元测试、集成测试、系统测试、验收测试。
软件测试是贯穿整个软件生命周期的,软件测试的对象包括软件需求、概要设计、详细设计、软件运行环境、可运行程序和软件源代码等。
软件测试包括质量、人员、资源、技术和流程五大要素,以及测试覆盖率和测试效率两个目标。
单元测试:单元测试是针对软件设计的最小单位--程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。
对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。
软件生命周期和软件测试生命周期的区别是什么?
两者的主要区别如下:
1、需求分析不同
软件测试生命周期的来源:需求说明书或者原型图参与人员:产品经理、研发、设计、测试。软件生命周期,弄清楚用户对软件系统的全部需求②在确定软件开发可行的情况下, 对软件需要的各个功能进行详细分析,明确客户的需求,输出规格书明说的最终版,提交评审。
2、软件设计不同
软件测试生命周期的概要设计:主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据递的实现等事物。详细设计:对各模块板块进行深入分析,对各模块组合进行分拆等,这一阶段要求达到伪代码级别。
软件生命周期的概要设计,主要是架构的实现,搭建架构、表述各模块功能、模块接口链接和数据传递的实现等项目事物。详细设计,对概要设计中表述的各模块进行深入分析等,其中需要包含数据库设计说明。
3、问题的定义不同
软件生命周期:问题的定义及规划(开发方与需求方讨论):主要是确定软件的开发目的及可行性,确定开发计划。软件测试生命周期:产品经理抒写–问题定义及规则,与用户进行交流,确认用户需要解决计算机的什么问题,确认软件的开发目的及其可行性,制定项目总体开发计划。
在测试生命周期中,测试过程分为几个阶段?以及各阶段的测试依据是什么?
在测试生命周期中,测试过程分为4个阶段,分别如下:
1、需求分析阶段:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,也是在整个软件开发过程中不断变化和深入的阶段,能够为整个软件开发项目的成功打下良好的基础。
2、软件设计阶段(概要设计和详细设计):主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件编码阶段:是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。
3、软件测试阶段:在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。
4、软件运行和维护阶段:是软件生命周期中持续时间最长的阶段,包括纠错性维护和改进性维护两个方面。
扩展资料:
测试生命周期的相关说明:
周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则;
即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
生命周期的每一个周期都有确定的任务,并产生一定规格的文档(资料),提交给下一个周期作为继续工作的依据。按照软件的生命周期,软件的开发不再只单单强调“编码”,而是概括了软件开发的全过程。
软件工程要求每一周期工作的开始只能必须是建立在前一个周期结果“正确”前提上的延续;因此,每一周期都是按“活动-结果-审核-再活动-直至结果正确”循环往复进展的。
参考资料来源:百度百科-软件生命周期
参考资料来源:百度百科-测试周期
软件生命周期,常说是三个时期八个阶段,请问这三个时期的八个阶段分别是什么?
软件计划与可行性研究阶段、需求分析阶段、软件设计阶段、软件编码阶段、软件测试阶段和软件运行与维护阶段。
1、软件计划与可行性研究阶段:此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
2、需求分析阶段:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,也是在整个软件开发过程中不断变化和深入的阶段,能够为整个软件开发项目的成功打下良好的基础。
软件常见周期模型:
1、瀑布模型
瀑布模型首先由Royce提出。该模型由于酷似瀑布闻名。在该模型中,首先确定需求,并接受客户和SQA小组的验证。
然后拟定规格说明,同样通过验证后,进入计划阶段…可以看出,瀑布模型中至关重要的一点是只有当一个阶段的文档已经编制好并获得SQA小组的认可才可以进入下一个阶段。
2、迭代式模型
迭代式模型是RUP推荐的周期模型,也是我们在这个系列文章讨论的基础。在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。
什么是测试生命周期,解释一下它的各个阶段?
概念:测试的生命周期
在软件开发生命周期中,软件是通过迭代来不断加以完善的。在这种环境中,对于每个作为测试目标的工作版本,测试的生命周期还都必须具有一种迭代方法。对于针对每个工作版本执行的测试,都作出了增补和改进,并累积为一个测试体,用于后续阶段的回归测试。该方法表明它将导致在整个流程中重复进行测试,就象修订软件本身一样。这里没有一成不变的软件规约,也没有一成不变的测试。
该迭代方法非常注重回归测试。迭代 X 中的大多数测试在迭代 X+1 中都用作回归测试。在迭代 X+2 中,将使用迭代 X 和迭代 X+1 中的大多数测试作为回归测试,后续迭代中采用的原则与此相同。因为相同的测试要重复多次,所以投入一些精力将测试自动化将会获益良多。此外,也有必要有效地自动执行测试,来满足完工期限的要求。
在同一张图中,观察不具有项目其余部分的测试的生命周期。图中展示了不同测试活动在非迭代视图中相互联系的方式:
测试的生命周期。
该生命周期必须与迭代方法结合起来,这意味着每个迭代都将具有遵循该模式的测试周期。
执行测试既是新测试的执行,又是使用先前测试的回归测试。
测试的生命周期是软件生命周期的一部分;它们应该同时开始。测试的设计开发过程与正在构建的应用程序一样复杂和艰巨。如果未能尽早开始,测试或者不够完善,或者会导致需要在开发时间表上附加一个长时间的测试和错误修正时间表,这将有违迭代开发的初衷。此外,测试计划和设计活动可以揭示应用程序定义中的故障和缺陷。这些问题越早得以解决,对整个时间表造成的影响就越小。评价过程中发现的问题可以在本次迭代解决,也可以留待下次迭代解决。通过核实已经实施的需求来评测迭代的完全程度,是评价的主要任务之一。迭代之间始终存在着某种“需求蠕变”,您需要意识到其存在并能够对其加以管理。
执行测试的方式取决于多种因素:您的应用领域、预算、公司策略和风险承受能力以及职员。对于测试的投资多少取决于在具体环境中评价质量和承受风险的方式。
以上就是小编整理的软件测试生命周期(STLC)的8个阶段的详细信息原梗的相关信息。关注学分高考了解更多相关知识!