软件测试过程(此章完结)
Posted zhhzc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试过程(此章完结)相关的知识,希望对你有一定的参考价值。
3.6回归测试
指软件在测试或其他活动中发现的缺陷经过修改后,重新进行测试。目的是验证修改后的缺陷是否得到了正确的修复,还要关注有没有引入新的缺陷或导致其他代码产生缺陷或错误。
3.6.1回归测试流程
具体流程如图3-3所示
3.6.2回归测试策略
包含:完全重复或选择性重复测试两种
1、完全重复测试
是将所有的前期测试阶段建立的测试用例完全执行一遍,来确认问题修改的正确性和修改扩散影响的测试方法。缺点:增加了成本、也影响进度,一遍不选择此策略。
2、选择性重复测试
指选择部分测试用例来执行来测试被修改的超想你的测试方法,介绍几种选择性重复性测试的方法:
1)覆盖修改法:针对被修改的部分,选取或重新构造测试用例来验证是否有错误再次发生的测试方法。
2)周边影响法:该方法不但包含覆盖修改法确定的用例,还需要分析修改的扩散影响,对那些受到修改间接影响的部分选择测试用例验证他是否受到不良影响。
3)指标达成法:就是在执行回归测试前,先确定一个要达到的指标,如果代码覆盖率、接口覆盖率等。
4)基于风险选择方法:是根据缺陷的严重性来确认风险的大小,基于一定的风险标准从测试用例库中选择回归测试用例。通常优先执行最重要、最关键的以及可疑的测试,而跳过那些优先级别低、非关键、或者稳定的测试用例。
3.7软件测试的流程
大致分为测试计划与控制、测试分析与设计、测试实现与执行、测试评估与报告和测试结束活动。是实际工作中、大多数把测试工作分为五个阶段,测试计划阶段、测试设计阶段、长时间实现阶段、测试执行阶段、测试总结。
3.7.1测试角色与职责
测试组织结构通常涉及的人员有:测试经理(TM)、项目测试经理(TPM)、测试分析员(TSE)、测试执行员 (TE)
1、测试经理
主要负责公司测试的组织和管理工作,要确保给定的时间内、资源和费用的限制下进行设计测试项目的管理,定期给领导高层汇报。小的企业一般没有测试经理,一般该职位有IT部或QA主管来担任。
2、项目测试经理
主要负责该项目的测试进度的控制以及对测试质量进行把控,以保证项目产品的质量。通常会参与需求的分析,并指定响应的测试计划、合理分配测试分析员和测试执行员的任务以及工作量的度量,定期汇报项目进度,确保项目测试在可控的范围内。
3、测试分析员
主要负责测试规程的设计、测试环境的分析以及相关的测试用例,也会协助项目测试经理进行测试的需求分析。很多企业没有该职位,一般都是由测试工程师负责分析并执行测试。
4、测试执行员
执行测试设计,将测试结果记录到文档中。在测试执行器需要:建立测试环境、包括测试数据的准备以及其他支持测试所需的软件(模拟器和测试辅助程序)在测试执行过程中,需要记录用例执行的状态,便于后期的跟踪和维护。在测试执行完成后:将发现的BUG提交到缺陷关联工具上。在整个项目完成后,对相应的BUG进行分析,并形成缺陷报告文档提交给项目经理,并协助项目经理完成最终的测试报告。
3.7.2测试计划与控制
需要根据项目计划、需求说明书和开发计划来制定测试计划,不同的测试阶段设计相应的设计计划。目的是:明确组织形式、测试对象、定义测试通过/失败的准则,测试挂起/恢复的准则、测试风险的防范措施、合理分配测试任务以及测试交付的工作产品等。
测试计划一般项目测试经理或测试组长来负责制定,测试人员需要参与测试计划的指定及评审活动。
常见的测试计划内容如下:
3.7.3测试分析与设计
测试设计阶段就是将测试计划阶段指定的测试需求进行细化分解为若干个可执行的测试过程,主要体现在测试策略、测试方法的选取以及测试规程的设计上,也就是如何编写测试方案。
测试计划解决的是做什么,而测试方案就是解决怎么测试,如何进行测试。通常根据不同阶段(单元测试、集成测试、系统测试、验收测试)的不同,可能会采用不同的测试策略
测试方案主要是对测试需求进行细化,分析测试用例设计方法,规划测试环境以及对此测试工具的选取等。常见的测试方案内容如下
3.7.4测试实现与执行
测试实现阶段主要构件测试方案设计来完成:测试脚本的开发、测试用例的写作。
测试脚本通常用在自动化测试和性能测试中,根据自动化测试的目标性能测试场景来开发响应的测试脚本。
测试用例主要用来指导测试执行,根据用例设计的方法来进行设计,针对不同阶段选择方法也不一样,白盒测试用例设计方法主要有:逻辑覆盖法、基本路径法等;黑盒测试用例设计方法:等价类划分法、边界值分析法、流程设计法、判定表分析、因果图分析法、正交试验法、错误推测法以及异常处理等。
通用的测试用例表格如下:
测试执行之前:先根据项目的测试情况来搭建测试环境,一般由自动化测试环境,手工测试环境以及性能测试环境等。在测试中为了使得测试结果的数据更接近用户,应尽量模拟用户的实际环境等。其次根据测试的不同阶段,在执行前的准备阶段。如有系统测试、在执行测试前需要进行预测试。
预测试又称为冒烟测试,利用较短时间快速验证软件系统的基本功能,主要是指核心业务以及风险比较高的功能,以确保后期的系统测试能够顺利进行。预测试执行时间控制2=3小时,最多不能超过1天。预测试的用例可以从写好的并且优先级别比较高的用例中,抽取10%作为预测试的用例,也可以重新设计预测试用例。一般预测试的标准是预测试用例的90%全部通过。
在执行测试阶段中,应严格按照测试计划进行;也可以根据项目的进度安排,按照用例的优先级进行测试。执行的过程中,需要注意缺陷的记录(截图错误日志的消息等)。在实际工作中,每天要写测试日志记录发现的问题以及执行中遇到的困难和问题,还需要实时把缺陷记录到缺陷关联工具中便于后期的进行跟踪、管理。待开发修复缺陷以后还要进行回归测试。
3.7.5测试评估与报告
根据缺陷的记录、进行分析与评估。主要分析缺陷的分布、密度以及发展趋势、还要分析软件在整个研发过程中引发的缺陷的根本原因。最后编写缺陷报告,以便协助完成测试报告,为软件产品的质量提供真实的数据依据。
通用的缺陷报告内容
通用的测试报告内容
3.7.6测试结束活动
在测试执行全部完成后,并不意味着测试项目的结束。除了测试报告的写作之外,还要对测试中涉及的所有文档、数据及相关的资料进行整理归档。
通常测试结束需要检查以下内容
1)对测试项目进行全过程、全方位的审视、检查测试用例是否全部执行、检查测试是否遗漏。
2)检查有没有解决的各种问题,对项目存在的缺陷逐个进行分析,逻辑对项目质量影响的程度,从而决定整个测试过程是否可以告一段落。
3)检查测试报告是否达到产品质量已定义的标准,是否符合测试结束的标准以及测试产出的风险记录进行评估,最终将测试报告定稿。
4)在测试结束后,通过对项目中的问题进行分析,找出流程、技术或管理中所存在的问题根源,将相关的经验教训进行总结并分享到项目组以及整个公司中,避免以后发生类似的错误。
以上是关于软件测试过程(此章完结)的主要内容,如果未能解决你的问题,请参考以下文章