测试需求分析
什么是测试需求
- 测试需求主要解决“测什么”的问题 ,即指明被测对象中什么需要测试。
- 测试需求通常是以软件开发需求为基础进行分析,通过对开发需求的细化和分解,形成可测试的内容。
- 测试需求应全部覆盖已定义的业务流程,以及功能和非功能方面的需求。
需求的定义及分类
需求定义:需求(requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件。
需求分类:使用中,需求按照功能性(行为的)和非功能性(其它所有的行为)来
(1) 在一般分类。
- 功能性需求是说有具体的完成内容的需求。
例如:比如客户登录、邮箱网站的收发收发邮件、论坛网站的发帖留言等。 - 非功能性需求是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。
例如:性能要求:要求系统能满足100个人同时使用,页面反应时间不能
超过6秒;
可靠性: 系统能7×24小时连续运行,年非计划宕机时间不能高于8小时。要求能快速的部署,特别是在系统出现故障时,能够快速的切换到备用机
安全性:即与防止对程序技术局的非授权的故意或者意外访问的能力有关的软件属性。如用户权限、动态口令、数据库字段加密等. 另联机帮助、日志管理等
为什么要测试需求
- 软件测试需求是开发测试用例的依据
- 有助于保证测试的质量与进度
- 测试需求是衡量测试覆盖率的重要指标
测试需求分析过程
需求采集
- 需求采集的过程是将软件开发需求中的那些具有可测试性的需求或特性提取出来,形成测试需求矩阵
- 可测试性是指这些提取的需求或特性必须存在一个可以明确预知的结果,可以用某种方法对这个明确的结果进行判断、验证,验证是否符合文档中的要求;
测试要点分析
测试要点是对原始测试需求表每一条开发需求的细化和分解,形成的可测试的分层描述的软件需求;
对开发需求的细化和分解具体包括:
- 通过分析每条开发需求描述中的输入、输出、处理、限制、约束等,给出对应的验证内容;
- 通过分析各个功能模块之间的业务顺序,和各个功能模块之间传递的信息和数据(功能交互分析) ,对存在功能交互的功能项,给出对应的验证内容。
今天太阳也东升,而后西沉,早晨盛开的花儿也将凋谢;今天的太阳也西沉,而后东升,阳光照射之处遍地花开,但却已非昨日之花。