测试需求分析概述

2020-12-01 09:54:59 浏览数 (2)

测试过程的生命周期:

1. 测试需求分析:从产品需求中挖掘出测试需求

2. 测试设计:根据测试需求设计测试方案和测试用例

3. 测试计划

4. 执行测试

5. 质量评估

为什么要做测试需求分析?

我们来打个比方,经常会有人这么问,我想买台电脑,有什么推荐吗?这个时候,我们就能马上给出一个推荐吗?我们是否还应该问问这些问题:1)主要用途是什么?2)台式机还是笔记本?3)预算多少?4)对品牌有什么要求?…… 在这些问题都有答案之后,我们才能帮着去推荐。也就是说,通过这些问题,我们才能真正了解对方的需求。同样的,我们做测试工作,产品需求也不等于是测试需求。没有测试需求分析,会导致我们的信息不完整、不准确,无法对所测产品有一个清晰全面的认识。所以,我们要先进行测试需求分析,在这个基础上,再进行后面的测试设计,测试计划等工作。

那么,怎么进行测试需求分析呢?分析任何一个事物,我们都需要具体的一个分析对象。同样,测试需求分析,首先要确定产品要做成什么样,想要得到什么样的效果。作为测试需求分析的对象和依据,一般有这么几种形式:产品需求文档,业务的交互稿,技术文档(比如后端的接口文档)等。然后我们用测试的观点和思路来分析,为了保证实现的效果,测试需要做什么。在实际分析过程中,会有一些分析方法来指导我们(下一文章介绍)。然后也会有一些工具来帮助我们更好地整理思路,并把结果呈现出来。我们经常会看到一些流程图,通过流程图把业务逻辑表现出来,可以一图顶千言。测试需求分析的过程,就是从广度和深度这两个维度对每个功能点不断进行发散思维的过程。比如我们要考虑正常流程有哪些输入和使用场景,又会有哪些因素会导致从正常流程走到异常处理流程。到了异常处理流程后,产品又需要怎样的容错处理等等。对这样一个过程,我们发现,思维导图就是一个很好的工具。它可以把思考过程和思考结果层次化、形象化地表达出来,对我们很有帮助。

测试需求分析的结果可以有多种表现形式。如果用思维导图表现出来,就可以是这样(以刚才买电脑的例子为例):

接下来拿一个产品例子来分析。这是网易云课堂交互稿中参加课程这个功能点的页面,在这个页面上,产品需求是用户可以选择这门课程来进行学习,那么测试需求会有哪些呢?

我们先从测试类型的广度上来考虑。测试类型包括:功能测试,性能测试,兼容性测试,安全性测试,可用性测试等等。接下来我们就通过云课堂这个例子,分别从功能,性能,兼容性这三个类型来进一步细化各自测试需求,得到测试需求分析的结果。

对功能测试,根据交互稿(可到网易云课堂网站实际操作),一是要先登录才能参加课程,而是登录后参加课程这个操作会有可能失败。那我们来考虑功能测试点,就要分析用户参加课程这个行为可能会发生哪些情况。比如没登录的时候来参加课程,程序应该要怎样处理。再比如说,参加结果分成参加成功和参加失败,那么哪些原因会导致失败呢?有可能是网络错误,服务器错误,课程不存在等原因。这些在交互稿或需求稿里没明确写出来的情况需要发散性的思维去考虑到。

再来考虑性能测试需求。一般需求稿和交互稿不会把性能要求明确写出来。这个时候,就需求依靠和开发的沟通与自己的经验去考虑。哪些点需要进行性能测试。比如说,上万用户同时参加某一课程,会不会有人无法参加课程,系统处理速度会不会变慢,会对服务器产生什么样的影响等等。所以对性能测试,我们就要对多人同时参加课程场景进行测试,然后我们想到,参加课程一定要先登录。那么大量用户同时登录是不是也要做性能测试呢?

接下来是兼容性测试。现在有很多兼容性平台,iOS,Android,Windows,Linux系统,然后在不同系统平台上有不同的浏览器:IE,Chrome,Safari等等。我们首先要确认,我们的产品目标是要支持哪些系统平台和浏览器。然后根据产品目标去考虑。

————————————————————

0 人点赞