一.测试需求分析是什么
测试需求分析是测试工作的第一步,经过需求分析,对原始需求列表中列出的每一个需求点,找到我们需要测试的测试要点;针对所确定的测试要点,分析测试执行时对应的测试方案/方法。
简单来讲就是把不直观的需求文档简化为直观的需求(测试点)
1.使得测试范围可以度量(有多少功能,有多少功能项)度量测试范围(规定测试范围)
2.使得该系统所有测试业务场景度量(各种各样流程图)
3.使得独立的功能点对应的所有分支也可以独立(细化大的功能点的功能范围)
4.方便需求验证(明确输入-输出结果)
二.为什么要做需求分析---活在自己世界里的人是可悲的,只凭感觉不做详细了解就下定论的项目是失败的。
如果把测试活动比作软件生命周期,需求分析就是软件需求规格,测试策略==软件架构设计,测试用例就是软件详细设计,测试执行就是编码过程。
三.不做需求分析的后果
不做需求分析或需求分析不到位,可能会产生很严重的问题,比如:
(1) 浪费时间和资源实现了用户不需要的需求;
(2) 遗漏了需求文档中没提到,但很重要的需求,导致客户满意度降低。
(3) 需求分析不到位,错误的估计了测试的工作量,导致延误发布周期,可能会降低发布质量。
(4) 编写测试用例时候容易漏项
四.如何做需求分析?
1.通过需求文档了解需求的实现背景---静态测试的过程
拿到一个需求后,我们首先应该通读需求文档,先通过需求文档,对要做的需求的背景有个整体的了解,其实这个过程也是对需求文档测试的过程,对需求整体的了解后,我们可以先记录自己的一些疑惑,为后面需求的分析做一个准备工作,这个环节我们应该更多的了解一些需求的目的和一些用户的使用场景。
2.分析需求的合理性
通过业务分析需求的合理性----测试人员必备技能之一
而不是通过系统怎么实现来判断需求是否合理
不盲目的给什么需求就测什么需求
需要有深厚的业务功底+系统现有的实现分析
3.确定测试范围(关键)
结合需求文档内和文档没包含的内容
开发实现及改造对功能的影响
罗列全部测试点并分析优先级
4.分析并细化测试点,以及对应的测试方法(关键)
特性和关键模块可以单独拿出来分析
5.回头再重新梳理,查漏补缺
比如后续的需求变更
变更影响的关联关系
变动带来的风险和策略
一些问题
2.如何使用质量模型法开展测试需求分析?
软件质量由ISO9126的6大项的27个质量特性子项来衡量,质量模型分析就是从软件质量因子角度来分析的。从不同的测试目的出发、以不同的角度来分析和测试产品,不同类型的测试会发现不同类型的Bug。在测试分析设计活动中考虑质量模型分析,能够使测试分析设计人员尽可能从多个方面和角度进行测试分析,能非常有效的提升测试完备性。质量特性表参见如下:
3.如何使用功能交互法开展测试需求分析?