分享

软件测试的流程 · 语雀

 镜馨苑8 2021-11-23

软件测试的流程

软件测试的流程大致分为测试计划与控制、测试分析与设计、测试实现与执行、测试评估与报告和测试结束活动。在实际工作中,大多企业把测试工作分为五个阶段:
测试计划阶段、
测试设计阶段、
测试实现阶段、
测试执行阶段、
测试总结。

在熟悉流程前,我们首先看一下,测试组织中的角色与职责。

测试角色与职责

在工作中测试组织结构通常涉及的人员有:测试经理(TM)、测试工程师(TE)。
测试经理
测试经理在公司主要负责公司测试的组织和管理工作,要确保在给定的时间、资源和费用的限制下进行设计测试项目的管理,定期向公司高层领导汇报工作。测试经理在适当的时候也需要参与项目的分析和讨论。通常比较大的企业会设有测试经理这一岗位,一些小的企业该职位一般由IT部领导或QA主管来担任。

测试工程师

测试工程师主要负责执行测试分析员建立的测试设计,将测试结果记录到文档中。在测试执行前,需要建立测试环境,包括测试数据的准备以及其他支持测试所需的软件(模拟器和测试辅助程序)。在测试执行过程中,需要记录用例执行的状态,便于后期的跟踪和维护。在测试执行完成后,将所发现的Bug提交到缺陷管理工具上,便于后期的回归测试活动。在整个项目完成后,对相应的Bug(遗漏缺陷)进行分析,并形成缺陷报告文档提交给项目测试经理,并协助项目测试经理完成最终的测试报告。


测试计划与控制

测试计划阶段需要根据项目计划、需求规格说明书以及开发计划来制定测试计划,按照不同的测试阶段设计相应的测试计划。它的主要目的是明确组织形式、测试对象、定义测试通过/失败的准则、测试挂起/恢复的准则、测试风险的防范措施、合理分配测试任务以及测试交付的工作产品等。在实际工作中,测试计划一般由项目测试经理或项目测试组长来负责制定,测试人员需要参与测试计划的制定及评审活动。常见的测试计划内容如下:
测试计划
目标
项目概述
2.1项目背景
2.2项目范围
组织结构
测试需求跟踪
测试对象
功能测试
5.1
性能测试
5.2
5.3其他测试
测试准则
测试通过的标准
测试失败的标准
6.2
测试挂起的标准
6.3
6.4测试恢复的标准
测试风险与防范措施
测试任务分配
8.1任务1
8.2任务2
测试应交付的工作产品
image.png


测试分析与设计
测试设计阶段就是将测试计划阶段制定的测试需求进行细化分解为若干个可执行的测试过程,主要体现在测试策略、测试方法的选取以及测试规程的设计上,也就是如何编写测试方案。测试计划解决的是做什么,而测试方案就是解决怎么测试,如何进行测试。通常根据不同阶段(单元测试、集成测试、系统测试、验收测试)的被测对象以及每个阶段所要进行的测试类型(功能测试、性能测试、安全性测试、可靠性测试以及兼容性测试等)的不同,可能会采用不同的测试策略。测试方案主要是对测试需求进行细化,分析测试用例设计方法,规划测试环境以及对测试工具的选取等。常见的测试方案内容如下:
测试方案
概述
测试模型
2.测试组网图/结构关系图
2.2测试需求
2.3测试策略
测试需求分析
3.1功能测试分析
3.2
性能测试分析
安全测试分析
3.3
兼容性测试分析
3.4
可练性测试分析
3.5
共他测试分析
3.6
测试设计
4.1测试规程设计
4.2测试工具设计
测试用例设计
4.3
image.png

测试实现与执行
测试实现阶段主要根据测试方案设计来完成:测试脚本的开发、测试用例的写作。测试脚本通常用在自动化测试和性能测试中,根据自动化测试的目标、性能测试场景来开发相应的测试脚本。测试用例主要用来指导测试执行,可以根据用例设计的方法来进行设计,针对不同的阶段选择方法也不一样,白盒测试用例设计方法主要有逻辑覆盖法、基本路径法等;

黑盒测试用例设计方法主要有等价类划分法、边界值分析法、流程设计法、判定表分析、因果图分析法、正交试验法、错误推测法以及异常处理等。

通用的测试用例格式如下:
数据
预期结果
优先级
预置条件
用例编号
操作步骤
用例标题
属于模块
image.png


测试执行前,首先根据项目的测试情况来搭建测试环境,一般有自动化测试环境、手工测试环境以及性能测试环境等。在测试中为了使得测试结果的数据更接近用户,应尽量模拟用户的实际环境来进行搭建。

其次根据测试的不同阶段,在执行前的准备也不同。比如性能测试,在执行性能测试前需要进行测试数据的准备阶段。又如系统测试,在执行测试前需要进行预测试。

预测试又称为冒烟测试,即利用较短时间快速验证软件系统的基本功能,主要是指核心业务以及风险比较高的功能,以确保后期的系统测试能够顺利进行。通常预测试执行的时间控制在2~3小时内,最多不超过一天。预测试的用例可以从已经写好的并且优先级比较高的用例中,抽取10%作为预测试的用例,也可以重新设计预测试用例。一般预测试的标准是预测用例的90%全部通过。

在执行测试阶段中,应严格按照测试计划进行;也可以根据项目的进度安排,按照用例的优先级进行测试。执行的过程中,需要注意缺陷的记录(截图、错误日志的消息等)。在实际工作中,测试工程师在执行时,每天要写测试日报记录发现的问题以及执行中遇到的困难和问题,还需要实时把缺陷记录到缺陷管理工具中,便于后期的进行跟踪、管理。待开发修复缺陷以后还要进行回归测试。

测试评估与报告
测试工程师根据缺陷的记录,进行分析与评估。主要分析缺陷的分布、密度以及发展趋势,还要分析软件在整个研发过程中引发缺陷的根本原因。最后编写缺陷报告,以便协助完成测试报告,为软件产品的质量提供真实的数据依据。
通用的缺陷报告内容如下:
缺陷报告
缺陷妆态:
缺陷编号:
缺陷标题:
缺陷类型:
所属模块:
所属版本:
处理优先级:
严乘级别:
发现日期:
发现人员:
指定处理人员;
重现方式:
详细描述:
(被图,错误日志消息)
附件:
image.png

通用的测试报告内容如下:
测试报告
根述
1.1目的
1.2项目描述
1.3术语和缩写词
1.4参考资料
测试概要
2.测试环境描述
2.2测试方法和工具
测试结果
3.1测试执行记录(时间,版本等)
3.2瘦盖分析(测试覆盖,需求覆盖)
缺陷分析与统计
4.1快陷汇总(严重程度,缺陷类型,缺陷分布)
4.2缺陷分析(缺陷密度,缺陷质量,综合分析等)
4.3遭留缺陷(编号,描述,原因分析,预防措施,改进措施)
4.4未解决的向题(测试类型,缺陷描述,测试结果,评价)
测试结论与建议
5.1测试建议
5.2测试结论
image.png

测试结束活动
在测试执行全部完成后,并不意味着测试项目的结束。除了测试报告的写作之外,还要对测试中涉及的所有文档、数据及相关的资料进行整理归档。通常测试结束需要检查以下内容:

对测试项目进行全过程、全方位的审视,检查测试用例是否全部执行,检查测试是否有遗漏。
检查有没有未解决的各种问题,对项目存在的缺陷逐个进行分析,了解对项目质量影响的程度,从而决定整个测试过程是否可以告一段落
检查测试报告是否达到产品质量已定义的标准,是否符合测试结束的标准以及对测试产出的风险记录进行评估,最终将测试报告定稿。
在测试结束后,通过对项目中的问题进行分析,找出流程、技术或管理中所存在的问题根源,将相关的经验教训进行总结并分享到项目组以及整个公司中,避免以后发生类似的错误。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多