软件测试基本流程,一个软件测试中最为基础的知识也是软件测试工作中老生常谈的问题。应试的背书毫无意义,理论最根本的目的还是用来指导实践的。所以本文就展开来聊一聊软件测试的基本流程。
1.需求分析
需求分析应该说是软件测试的一个重要环节,测试开发人员对这一环节的理解程度将直接影响到有关测试工作的开展。需求分析报货软件功能需求分析,测试环境需求分析,测试资源需求分析。其中最基本的是软件基本功能分析,测试一款软件首先要知道软件能实现那些功能,以及是怎样实现的。具体分析时可以依据,软件需求文档、软件规格书以及开发人员的设计文档,也可以向其他同事如项目经理、Business Analyst寻求帮助。
2.制定测试计划
制定测试计划通常是开始测试工作的第一项任务,重点在于对整个项目的测试工作进行计划,测试计划并不是简单的一张时间进度表,而是一个动态的过程,最终以系列文档的形式确定下来。一般来说制定测试计划的目的是用来识别任务、分析分险、规划资源和确定进度。测试计划一般包括以下几个方面。
(1)软件测试背景
软件测试背景的描述,包括软件项目介绍、项目设计人员介绍及相应联系方式。
(2)软件测试依据
软件测试依据的描述,如软件需求文档、软件规格书、软件设计文档等。
(3)测试范围
确定工作需要覆盖的范围,因为在实际工作中人们总是不自觉地调整软件测试的范围,比如在实践紧张的情况下,通常
优先完成重要功能的测试。所以测试计划者在时候偶倒一项任务的时候,需要根据主项目计划的时间来确定测试范围。如果
在确定的范围上出现偏差,会给测试执行工作带来消极的影响。
(4)风险的确定
项目中总是有不确定的因素,这些因素一旦发生之后,会对项目的顺利执行产生很大的影响,所以在项目开发中,首先
需要识别出存在的风险。常见的原则是如果一件事情发生之后,会对项目的进度产生较大的影响,那么就可以把该事件作为
一个风险。识别出风险后,需要对照这些风险制定出规避风险的方法。
(5)测试资源
确定完成任务需要一坨的人力资源,物资资源,主要包括测试设备需求,测试人员需求、测试环境需求及其他资源需求
(6)测试策略
测试策略主要包括采取测试的方法、搭建那些测试环境、采用那些测试工具和测试管理工具,对测试人员进行培训等。
(7)时间表的制定
在识别出子任务和估计出测试资源之后,可以将任务、资源与时间关联起来形成测试时间进度表。
(8)其他
测试计划越详细越好,但是在实际实施时会发现往往很难按原有计划开展工作。在软件开发过程中资源匮乏、人员流动
等情况都会对测试造成一定影响,这是就要求对测试工作从宏观上来进行调控。但是只要对测试工作制定了详细的计划,测
试人员在可以在变化面前应对自如。
3.设计测试方案
测试的设计阶段要设计测试用例和测试过程,要保证测试用例完全覆盖测试需求。
测试用例是为特定目标开发的测试输入、执行条件和预期结果的集合,这些特定目标可以是验证一个特定程序路径,也可以是验证某项功能是否符合特定需求。
设计测试用例就是针对特定功能或组合组合功能制定测试方案,并编写成文档。测试用例的选择既要考虑一般情况,也应该考虑极限情况和边界值情况。测试的目的是暴露应用软件中隐藏的缺陷,所以在设计、选取用例和数据时要考虑那些易于发现缺陷的测试用例和数据,并结合复杂的运行环境,在所有可能的输入条件和输出条件中确定测试数据,检查应用软件是否都产生正确输出。
4.测试准备和测试环境的搭建
准备阶段需要完成测试前的的各项准备工作,主要包括全面准确掌握各种测试资料,进一步了解,熟悉测试软件,配置测试的软硬件环境,搭建测试平台,充分熟悉和掌握测试工具等工作。
5.执行测试
执行测试是执行所有的或选定的一些测试用例,并观察其测试结果。执行测试的过程可以分为单元测试---->集成测试---->系统测试---->验收测试几个阶段,每个阶段还有回归测试等。
显然,在执行测试过程中每个测试用例的结果都必须记录。如果测试是自动进行的,那么测试工具将同时记录输入信息和结果;如果测试是手工进行的额,那么结果可以记录在测试用例的文档中。此外在缺陷的记录中至少包括以下这几方面:序号、标题、预置条件、操作步骤、预期结果、实际结果、注释、严重程度、测试者、测试日期等。没有通过测试的测试用例相应的应该产生软件缺陷报告。需要特别强调的是,在执行测试过程中,缺陷记录和缺陷报告应该包含在测试工程师的日常工作中。
6.测试评估
测试评估的主要方法包括缺陷评估、覆盖评测和质量评测。软件测试评估的目的是:量化测试过程,判定测试进行的状态,决定什么时候测试可以结束;为最后的测试或质量分析报告生成所需的量化数据。
7.测试总结
测试工作的每个阶段都应该有相应的测试总结,测试软件的每个版本也应该有相应的测试总结。完成测试后,一般要对整个项目的测试工作做回顾总结,查看有哪些不足的地方,有哪些经验可以对今后的测试工作作为借鉴使用等,测试总结无严格的字数要求,但却很有必要
8.测试维护
由于测试的不完全性,当软件正式发行后,客户再试用过程中,难免遇到一些问题,有的甚至是一些严重问题,这就需要修改软件,修改后需要再次对软件进行测试、评估发行。