软件测试周期周期就是软件测试经历的几个阶段,如单元测试、集成测试、确认测试、系统测试、验收测试等。具体列举如下:
单元测试:针对每个单元的测试, 以确保每个模块能正常工作为目标。
集成测试:对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程序结构问题。
确认测试:是检验所开发的软件能否满足所有功能和性能需求的最后手段。有的划分方法中,也将确认测试合并入系统测试中。
系统测试:检验软件产品能否与系统的其他部分协调工作。
验
软件测试项目周期是指
测试周期是指从测试项目计划建立到BUG提交的整个测试过程,包括软件项目测试计划,测试需求分析,测试用例设计,测试用例执行,BUG提交五个阶段。
软件测试周期并行与软件生命周期,存在于软件生命周期的各个阶段。
软件测试的生命周期?
软件测试生命周期包括6个阶段(大体上):
1)计划 2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施,7)实施后。
1. 计划(产品定义阶段)
�8�5 高层次的测试计划(包含多重测试周期)
�8�5 质量保证计划(质量目标,测试标准等 )
�8�5 确定计划评审的时间
�8�5 报告问题过程
�8�5 确定问题的分类
�8�5 确定验收标准-给质量保证员和用户。
�8�5 建立应用程序测试数据库
�8�5 确定衡量标准,例如缺陷数量/严重程度和缺陷起源(仅举几个例子) 。
�8�5 确定项目质量度量
�8�5 开始制定项目整体测试时间表(时间,资源等)
�8�5 必需阶段:评审产品定义文档
�8�5 文档中加入质量保证标准,作为工程改善进程的一部分
�8�5 根据该产品的特点帮助确定问题的范围
�8�5 大约每月要花5 -1 0小时在这一方面
�8�5 计划在数据库管理所有测试用例,包括手工方面或者自动化方面。
2. 分析(外部文档阶段)
�8�5 根据业务需求开发功能验证矩阵。
�8�5 制定测试用例格式-估计时间和分配优先级。
�8�5 制定测试周期矩阵与时间线
�8�5 根据功能验证矩阵开始编写测试用例
�8�5 根据业务需求计划测试用例基准数据
�8�5 确定用于自动化测试的测试用例。
�8�5 自动化团队开始在测试工具中创建变量文件和高层次的测试脚本。
�8�5 为自动化系统中的跟踪组件设置路径和自动化引导。
�8�5 界定压力和性能测试的范畴。
�8�5 按照每个测试用例的数据要求开始建立基准数据库。
�8�5 定义维护基准数据库的过程,即备份,恢复,验证。
�8�5 开始规划项目所需的测试周期数,和回归测试次数。
�8�5 开始文档复查,如:功能设计文档,业务需求文档,产品规格说明书,产品外部文档等。
�8�5 审查测试环境和实验室,前端与后端系统都要。
�8�5 准备使用McCabe工具,以支持白盒测试中代码的研发和复杂性分析
�8�5 建立反馈机制并开始录入文档。
�8�5 必需阶段:审查外部文件
�8�3 文档中加入质量保证标准,作为工程改善进程的一部分。
�8�3 根据群体执行反馈编写测试用例
�8�3 开始研制测试用例估计数目,每个用例的执行时间,和用例是否自动化这些方面的度量
�8�3 为每个测试用例确定基准数据,
�8�3 大约每月要花25小时在这一方面
3. 设计(文档架构阶段)
�8�5 根据变更修改测试计划
�8�5 修改测试周期矩阵和时间线
�8�5 核实测试计划和用例用到的数据都输入到数据库,或是否必需的。
�8�5 修改功能验证矩阵
�8�5 继续编写测试用例,根据变化添加新的用例
�8�5 制定风险评估标准
�8�5 规范自动化测试和多用户测试的细节。
�8�5 挑选出一套用于自动化测试的测试用例,并且把这些用例脚本化
�8�5 规范压力测试和性能测试的细节。
�8�5 最终确定的测试周期。 (根据用例的估计时间和优先权确定每个周期所用的测试用例数)
�8�5 最终确定的测试计划
�8�5 估计单元测试所需资源
�8�5 必需阶段:审查架构文件
�8�3 文档中加入质量保证标准,作为工程改善进程的一部分。
�8�3 确定要进行编码的的实际组件或模块
�8�3 在这定义单元测试标准,通过/失败准则等。
�8�3 单元测试报告,报告进行单元测试后的模块质量如何,白盒测试和黑盒测试都要包括输入/输出数据和所有决定点。
�8�3 列出所有要进行单元测试的模块
4. 构建(单元测试阶段)
�8�5 完成所有计划
�8�5 完成测试周期矩阵和时间线
�8�5 完成所有测试用例。 (手动)
�8�5 完成第一套自动化测试用例的测试脚本。
�8�5 完成压力和性能测试的计划
�8�5 开始压力和性能测试
�8�5 McCabe工具支持-提供度量
�8�5 测试自动化测试系统,并修复错误。
�8�5 发展单元测试
�8�5 运行质量保证验收测试套件,以确保软件已经可以交给QA测试。
5. 测试周期/ 错误修正( 重复/系统测试阶段)
�8�5 测试周期1,执行第一套的测试用例(前端和后端)
�8�5 报告错误
�8�5 错误审核-不断开展的活动。
�8�5 根据需求修改测试用例
�8�5 根据需求增加测试用例
�8�5 测试周期二
�8�5 测试周期三
6. 最后的测试和实施(代码冻结阶段)
�8�5 执行所有前端测试用例-人工和自动化。
�8�5 执行所有后端测试案例-人工和自动化。
�8�5 执行所有压力和性能测试。
�8�5 提供对正在进行的缺陷跟踪度量。
�8�5 提供对正在进行的复杂性和设计的度量。
�8�5 更新测试用例和测试计划的估计时间。
�8�5 文件测试周期,回归测试,并更新相应文档。
7. 实施后
�8�5 开展实施后评估会议以回顾整项工程。 (经验所得)
�8�5 准备最终的缺陷报告和相关度量。
�8�5 制定战略以防止类似的问题在今后的项目中重复出现。
�8�5 创建如何改进流程的计划目标和里程碑,
�8�5 McCabe工具-制作最后的报道和分析。
�8�5 自动化测试组-1 )审查测试用例以评估其他可用于自动化回归测试的用例2 )清理自动化测试用例和变量,和3 )审查自动化测试和手工测试结果的整合过程
�8�5 测试实验室和测试环境-清理测试环境,标记和存档用过测试用例和数据,恢复测试仪器到原始状态等。
软件测试生命周期(STLC)的8个阶段的详细信息
一.演化
♦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的缺陷。
–取经验教训会议并创建经验总结文件。(包括哪些方面进展顺利,哪些方面有改进,哪些方面可以改进)
软件生命周期和软件测试生命周期的区别是什么?
两者的主要区别如下:
1、需求分析不同
软件测试生命周期的来源:需求说明书或者原型图参与人员:产品经理、研发、设计、测试。软件生命周期,弄清楚用户对软件系统的全部需求②在确定软件开发可行的情况下, 对软件需要的各个功能进行详细分析,明确客户的需求,输出规格书明说的最终版,提交评审。
2、软件设计不同
软件测试生命周期的概要设计:主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据递的实现等事物。详细设计:对各模块板块进行深入分析,对各模块组合进行分拆等,这一阶段要求达到伪代码级别。
软件生命周期的概要设计,主要是架构的实现,搭建架构、表述各模块功能、模块接口链接和数据传递的实现等项目事物。详细设计,对概要设计中表述的各模块进行深入分析等,其中需要包含数据库设计说明。
3、问题的定义不同
软件生命周期:问题的定义及规划(开发方与需求方讨论):主要是确定软件的开发目的及可行性,确定开发计划。软件测试生命周期:产品经理抒写–问题定义及规则,与用户进行交流,确认用户需要解决计算机的什么问题,确认软件的开发目的及其可行性,制定项目总体开发计划。