在上一篇中,小酋讲解了“用户需求和软件需求”,接下小酋就讲讲拿到需求后,如何进行测试需求分析,重点是测试点的提取。
1、测试需求是什么?
测试需求主要解决“测什么”的问题。
测试需求应全部覆盖已定义的业务流程,功能和非功能方面的需求,以及隐性需求(即没明确列在软件需求中,但实际对用户非常重要的需求)。最终提取整理出测试点,并指明优先级,用于指导后续测试工作(包括制定测试计划和方案、测试用例设计、测试执行等)。
测试需求分析的主要目的:依据需求文档以及其他依据(参见下文)提取测试点,根据测试点来编写测试用例。
2、测试需求的依据与收集
测试需求通常是以待测对象的软件需求为基础进行分析转变过来的。
但测试需求并不等同于软件需求,
它是以测试的观点根据软件需求整理出一个思维导图(小酋推荐采用思维导图)或checklist,作为测试该软件的主要工作内容。
并通过其他多种途径对隐形需求(即没明确列在软件需求中,但实际对用户非常重要的需求)进行补充。
测试需求主要通过以下途径来收集:
- 软件需求;
- 原型设计;
- 开发设计(概要设计、详细设计等);
- 用户需求,包括与客户或软件需求分析员的沟通;
- 项目会议和培训;
- 行业知识和通用规范;
- 经验积累;
- 测试案例库(过往的项目测试用例库,网上分享的用例库或测试点);
3、如何进行软件测试需求分析,并提取测试点?
通过分析软件需求描述中的输入、输出、处理、限制、约束等,罗列出每个测试点;
通过分析各个功能模块之间的业务顺序,和各个功能之间的传递信息和数据,对存在功能交互的功能项,给出对应的验证内容(功能交互测试点);
考虑到需求的完整性,要充分覆盖软件需求的各种特征,包含隐形需求(隐形需求从哪里来?主要通过上面测试需求获取途径的后四点)的验证。
举个例子,下面是一个B/S系统的登录功能测试点(以思维导图罗列出来):
后面可以根据上面的测试点,来编写用例。
如“用户名和密码输入错误,提示用户或密码错误”,针对这点,后面可以写三条用例:
1、用户名正确,密码不正确,给出提示
2、密码正确,用户名不正确,给出提示
3、用户名和密码都输入错误,给出提示
至于具体用例怎么写,方法、规范格式等,希望大家持续关注小酋的 “小酋测试”系列文章。
确定测试点的优先级:
通常,需求管理规范的客户,会规定用户需求/软件需求的优先级别,测试需求的优先级可根据其直接定义。
如果没有规定项目需求的优先级,则可与客户沟通,确定哪些功能或特性是需要尤其关注的,从而确定测试需求的优先级。
明细要求:
就像软件的需求一样,测试需求根据不同的公司环境,不同的专业水平,不同的要求,详细程度也是不同的。但是,对于一个全新的项目或者产品,测试需求力求详细明确,以避免测试遗漏与误解。
5、测试需求说明书的编写
每个组织的测试团队都有自己的书写模板,不一定要一样。只要涵盖了测试点、测试执行优先级最重要的亮点即可。
其中注意:
①如果有明确的不要求测试的特性(即测试点),也应该写明;