本章内容概要
- 什么是软件测试需求
- 软件测试需求的必要性
- 如何对软件测试需求进行分析(重要)
1. 软件测试需求
测试需求主要解决"测什么"的问题,一般来自需求规格说明书
中原始需求
产品文档 — 产品收集整理 — 市场调研/甲方客户
测试需求应全部覆盖已定义的业务流程
,以及功能和非功能方便的需求
测试 – 分析需求文档 – 怎么测试?测试什么?测试点?
开发 – 分析需求文档 – 怎么开发?怎么实现功能?
异常场景 – 站在用户角度,提高用户体验,业务流程尽可能多的去覆盖各个路径,多花时间了解/通透需求文档,梳理业务逻辑/流程
功能与非功能
功能:第一优先级保证正确性---业务流程(功能+业务)---正常/异常
非功能:界面+兼容+易用+安全+性能
先从功能业务发现问题,提高产品质量
2. 软件测试需求的必要性
开展软件测试需求是为了确定下面几点:
- 测试范围:测试什么内容
- 测试方法和工具:怎么去测试?测试工具:接口|性能|数据库,测试方法:用例设计四大金刚
- 测试时间评估
- 测试人力分配
- 测试环境,PC,web,app,小程序/H5
统一的统筹安排工作 – 测试负责人(测试计划) — 通过需求分析文档得到测试计划 — 组内评审
3. 测试如何来做需求分析,输出 测试点?
- 了解项目内容,什么架构,BS or CS,具体涉及哪些实际场景(PC,App,Web),了解业务逻辑,业务流程
- 细化分析(分模块,约束条件,要点),具体测试点 — 正向+异常场景
- 功能之间的模块交互测试(模块的关联测试)
- 非功能的测试(界面(设计图),兼容(产品/客户),安全(产品),性能(产品),易用(用户角度))
测试点思路步骤
-
正常功能:是否可以正常提交,注册成功
-
单个功能验证(异常) — 效率高,易区分
规则:按顺序从上至下,对每一个输入项进行验证 — 避免漏测
(1) 数据长度,数据类型验证,必填项验证,重复
(2)限制约束验证 — 重复的话,去重(重复测试)
(3)隐形需求:充分熟悉产品业务/知识储备,参考成熟产品 – 经验积累 – 用例评审 -
功能交互验证
模块之间传递的信息和数据,对存在功能交互的功能
-
非功能性测试
界面,易用性,兼容性,安全性,性能压力
遇到隐性需求:
充分理解需求文档,参考成熟产品(同类产品/竞品分析),与产品沟通,知识储备