软件测试是伴随着软件的产生而产生的,早期软件开发规模较小,因此软件测试常常由开发人员自己完成。随着软件和 IT 技术的飞速发展,软件趋向大型化、高复杂度,软件的质量越来越重要,软件测试不仅是一个发现错误的过程,而且还成为软件质量保证(SQA)的主要职能。
作为一名软件测试人员,即便在面对一个很小的软件项目时,也需要全面考虑问题,包括硬件环境、操作系统、产品的软件配置环境、产品相关的业务流程、用户的并发容量等等。下面我们将从需求分析、测试计划、测试用例、测试执行、缺陷管理、输出测试报告六个方面来分享如何进行软件测试管理。
需求分析
软件测试的过程管理并不仅仅限于测试阶段,所有的测试都是基于需求的,在需求分析阶段,测试团队要依据需求文档提取测试点。
➀ 通过分析需求描述中的输入、输出、约束等内容,对各个需要满足的功能点给出对应的验证内容;
➁ 通过分析各功能模块之间的业务顺序以及各功模块之间传递的信息和数据,对存在功能交互的功能项给出对应的验证内容;
➂ 考虑到需求的完整性,还需要充分覆盖软件需求的各种特征,包含隐性需求的验证,比如界面的验证,注册账号的唯一性验证等。
测试计划
在需求分析阶段提取测试点后,测试团队下一阶段的主要任务就是确定各测试阶段的目标和策略,编写测试计划,明确要完成的测试活动,评估完成活动所需要的时间和资源,设计测试组织和岗位职权,进行活动安排和资源分配,安排跟踪和控制测试过程的活动。
测试计划的主要内容包括以下几点:
(1)测试阶段:单元测试、集成测试、系统测试等
(2)测试类型:黑盒测试,接口测试,UI自动化测试,接口自动化测试,性能测试等
(3)测试时间:需求分析起止时间,设计测试用例的起止时间,执行测试的起止时间
(4)测试执行人:创业型公司由于人员少的情况,很可能以项目(模块)划分测试负责人
(5)列出测试对象中将接受测试或将不接受测试的那些性能和功能
(6)列出可能会影响测试设计、开发或实施的某些假设、所有风险或意外事件及所有约束
测试计划不一定要尽善尽美,也不是一成不变的,测试计划一定要切合实际,根据项目特点、公司实际情况来编制,也要根据实际情况的变化而不断进行调整,以满足实际测试要求。
测试用例
测试用例是执行测试的依据,将测试系统的操作步骤用文档的形式描述出来,让软件测试的行为具体化,来核实软件产品是否满足项目需求。
测试用例的设计方法主要有黑盒测试法和白盒测试法。黑盒测试也称功能测试,主要针对软件界面和软件功能进行测试。白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,需要全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
测试用例编制完成后还需要组织专家进行用例评审,用例评审是一个查漏补缺的环节,在于补充测试思路,提升测试质量。
测试执行
测试用例确定之后,我们就可以搭建软件测试环境,执行测试用例了。测试过程包括五大部分,分别为:单元测试、集成测试、确认测试、系统测试、验收测试。
单元测试:对软件中的最小可测试单元进行检查和验证。与其他测试不同,单元测试可看作是编码工作的一部分,大部分由程序员完成。
集成测试:也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
确认测试:又称有效性测试。有是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。
系统测试:对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。
验收测试:是技术测试的最后一个阶段,也称为交付测试。目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
缺陷管理
当测试人员发现软件中存在的 bug 之后,我们还需要对这些缺陷进行统一管理。
(1)确定缺陷优先级:在评估缺陷的优先级时,可以从单个或多个维度评估,通常情况下可从影响范围和严重级别这两个常用的维度评估。
(2)及时同步缺陷状态:按优先级安排好之后就可以制定修复计划并开始修复,当修复完成时,要及时将修复信息同步给相关的测试人员、用户,这一过程可以借助缺陷管理软件来完成。
输出测试报告
除了缺陷修复,缺陷分析也同样重要。通过追踪分析缺陷产生的原因、反思回溯缺陷产生的各个阶段,输出测试报告,来持续地改进测试管理流程。
一般来说,测试报告中主要包括以下五个部分:
测试概览:包括测试人员、起止时间、所属项目和迭代等。
缺陷描述:描述缺陷发生时的环境、现象及缺陷产生的影响。
复现路径:完整地描述缺陷复现的路径,可以采用流程图形式,若有多个复现路径需要标注清楚。
缺陷原因:针对缺陷现象及复现路径,采用 5W1H 分析法逐层深入分析缺陷产生的原因,提炼出今后开发测试过程需要关注的点。
缺陷思考:微观上思考是否真正解决了缺陷,并对代码做全方位的验证,对相关模块做关联测试。宏观上梳理历史上类似的缺陷及相关架构,以此改进缺陷管理的流程。
在软件测试管理过程中,我们还可以借助专门的工具来保证软件测试顺利进行。以研发项目管理工具 ONES 为例:ONES TestCase 支持测试用例与需求、任务关联,测试计划与迭代关联,形成测试流程闭环。对于未通过的用例可快速创建缺陷任务,让缺陷任务在测试与研发团队间高效流转,还可以统计项目缺陷分布,自动生成测试报告,快速反馈版本质量,沉淀问题与经验。
如果您对 ONES 感兴趣的话,欢迎点击文章右上角的「免费试用」,或直接与我们的解决方案专家沟通,了解和评估 ONES 如何帮助您的团队更进一步。