【摘要】软件测试从哪里开始到哪里结束?中间经过哪些环节以及各个环节要注意哪些事项。
【关键词】测试流程、需求分析、测试用例、测试计划、缺陷管理
一、概述
一般而言,软件测试从项目确立就开始了,前后要经过以下一些主要环节:
需求分析 -> 测试计划 -> 测试设计 -> 测试环境搭建 -> 测试执行 -> 测试记录 -> 缺陷管理 -> 软件评估 -> RTM
说明:
1.以上这些环节未包含软件测试过程的全部,如根据情况还可以实施一些测试计划评审、用例评审、测试培训等。在软件正式发行后,当遇到一些严重问题时,还需要进行后续维护测试等。
2.以上各个环节并不是独立没有联系的,实际工作变化很多,各个环节一些交织、重叠在所难免,比如编写测试用例的同时就可以进行测试环境的工作,当然也可能因为一些需求不清楚而重新进行需求分析等。
3.在实际测试过程中要做到具体问题具体分析,具体解决。
其中,一般而言,需求分析、测试用例编写、测试环境搭建、测试执行等属于测试开发人员工作范畴,而测试执行以及缺陷提交等属于普通测试人员的工作范畴,测试负责人负责整个测试各个环节的跟踪、实施和管理等。
二、测试流程
需求分析
需求分析(Requirment Analyzing)可以说是软件测试的一个重要的环节,测试人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开展。可能有些人认为测试需求分析无关紧要,这种想法是错的。需求分析不但重要,而且至关重要。
一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。
其中最基本的是软件功能的需求分析,测一款软件首先要知道这款软件要实现哪些功能以及是怎样实现的。比如一款Smartphone包括VoIP、Wi-Fi以及Bluetooth等功能。那我们应该知道软件是怎么来实现这些功能的,为了实现这些功能需要哪些测试设备以及如何搭建测试环境等,否则测试就无从谈起!
既然谈了需求分析,我们根据什么来分析呢?不能凭空想象吧?
总的来说,做测试需求分析的依据有:软件需求分析文档、软件规格书以及开发人员的设计文档等。一些管理规范的公司会在软件开发过程中都有这些文档。
测试计划
测试计划(test plan)一般有测试负责人来写。
测试计划的依据主要是项目开发计划和测试需求分析结果而定。测试计划一般包括以下一些方面:
1.测试背景
a. 软件项目介绍;
b. 项目设计人员(如软硬件项目负责人等)介绍以及相应联系方式等。
2.测试依据
a. 软件需求文档;
b. 软件规格书;
c. 软件设计文档;
d. 其他,如参考产品等。
3.测试资源
a. 测试设备需求;
b .测试人员需求;
c. 测试环境需求;
d.其他。
4.测试策略
a. 采取测试方法;
b. 搭建哪些测试环境;
c. 采取哪些测试工具以及哪些测试管理工具;
d. 对测试人员进行培训。
5.测试日程
a. 测试需求分析;
b. 测试用例编写;
c. 测试实施,根据项目计划,测试分成哪些测试阶段(如单元测试、集成测试、系统测试阶段,α、β测试阶段等),每个阶段的工作重点以及投入资源等。
6.其他
测试计划还要包括测试计划编写的日期、作者等信息,计划越详细越好。
计划赶不上变化,一份好的计划做的再好,当实际实施的时候就会发现往往很难按照原计划开展。如在软件开发过程中资源匮乏、人员流动等都会对测试造成一定的影响。所以,这些就要求测试负责人能够进行宏观调控了,能够应对自如、处乱不惊。
测试设计
测试设计主要包括测试用例编写和测试场景设计两方面。
一份好的测试用例对测试有很好的知道作用,能够发现很多软件的问题。测试场景设计就是测试环境的问题了。
测试环境搭建
不同软件产品对测试环境有着不同的要求。如C/S及B/S架构相关的软件产品,那么对不同操作系统,如windows系列、unix\linux系列甚至苹果OS等,这些测试环境都是必需的。而对于一些嵌入式软件,如手机软件,如果我们想测试一下有关功能模块的耗电情况,手机待机时间等,则需要我们搭建相应的电流测试环境。当然测试中对于如手机网络等环境都有所需求。
测试环境很重要,符合要求的测试环境能够帮助我们准确的测出软件的问题,并且做出正确的判断。
为了测试一款软件,我们可能根据不同的需求点要使用不同的测试环境。有些测试环境我们可以自己搭建,有些环境我们无法搭建或者搭建成本很高。不管如何,我们的目标是测试软件问题,保证软件质量。测试环境问题,还是应该具体产品以及开发者的实际情况而采取最经济的方式。
测试执行
测试执行的过程可以分以下几个阶段:
单元测试 -> 集成测试 -> 系统测试 -> 出厂测试,其中每个阶段还有回归测试等。
从测试的角度而言,测试执行包括一个量和度的问题。也就是说测试范围和测试程度的问题。比如一个版本需要测试哪些方面?每个方面要测试到什么程度?
从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。
测试记录
缺陷记录总的来说包括两方面:由谁提交和缺陷描述。
一般而言,缺陷都是谁测试谁提交,当然有些公司虎会为了保证所提交缺陷的质量,还会在提交之前进行缺陷评估,以确保所提交的缺陷的准确性。
缺陷管理
缺陷管理方面,很多公司采取管理工具来进行管理,常见缺陷管理工具有Test Director、Bugfree等。
软件评估
这里评估指的是经过一轮又一轮测试后,确认软件无重大问题或很少问题的情况下,对准备发给客户的软件进行评估,以确认是否能够发行给客户或投放市场。
测试总结
每个版本有每个版本的测试总结,每个阶段有每个阶段的测试总结,当项目完成RTM后,一般要对整个项目做个回顾总结,看哪些做的不足的地方,有哪些经验可以对今后的测试工作有借鉴使用。测试总结无严格的格式要求,但测试总结还是很重要的。
测试维护
由于测试的不完全性,当软件正式release后,客户在使用过程中,难免遇到一些问题,有时甚至是严重性的问题,这就需要修改相关问题,修改后再次对软件进行测试、评估、发行。
原文地址:https://www.cnblogs.com/weno/p/9821300.html