A从业务角度进行分析:通过业务流程、业务数据、业务操作等分析,明确要验证的功能、数据、场景等内容,从而确定业务方面的测试需求。
B从技术角度分析:通过研究架构设计、数据库设计、代码实现等,分析其技术特点,了解设计和实现要求,包括系统稳定可靠、分层处理、接口集成、数据结构、性能等方面的测试需求。
从测试对象本身、角色、用户行为与场景进行需求分析
业务目标:所有要做的功能特性都不能违背该系统要达到的业务目标。
系统结构:产品是如何构成的?系统有那些组建、模块?模块之间有什么关系?有那些接口?各个组件又包含那些信息?
系统/业务功能:产品能做那些事情、处理那些业务?处理某些业务又那些功能来支撑、形成怎样的处理过程?处理那些错误类型?有那些UI来呈现谢谢功能?
业务数据:产品要输出那些数据?最终输出那些用户想要的结果?那些数据是正常的?那些数据是异常的?输入数据如何被转化、传递的?之间要经过那些过度数据?输出数据格式有什么要求?输出数据存储在哪里?
系统运行的平台:系统在什么硬件上?什么操作系统上?有什么特殊的环境配置?是否依赖第三方组建?兼容性有什么要求?
系统操作:有那些操作角色?在什么场景下使用?不同角色?场景有什么不同?有那些交集?
从其它纬度完成测试需求分析
a.竞品对比分析,明确测试重点。
b.质量存在那些风险,包括安全性漏洞等。
c.对过去类似产品或本产品上个版本所发现的缺陷进行分析,总结缺陷出现的规律,看是否有漏掉的需求。
d.在易用性、用户体验上有什么特别的需求要验证。
e.有没有响应的行业规范、特许质量标准?
需求分析的过程,从源头--质量要求出发展开,如从功能、性能、安全性、兼容性等各个质量角度出发,不断细化其内容,挖掘其对应的测试需求,覆盖质量要求。需求测试分析,是一个分解的过程,也是一个合成的过程,先分解,再合成,通过不断分解,先达到分析深度,然后通过合成,确保测试需求完整性,在整理需求测试时,还要根据功能特性对用户的价值、重要性、质量风险大小,决定测试项的优先级。
功能特性对用户的应用价值越大,其测试优先级越高。
功能特性存在风险的可能越大,其测试的优先级越高。
还要将稳定、确定性需求与易变、不确定性需求的分离,优先完成确定性需求的测试,然后再完成不确定性需求的测试,尽量确保测试有效性。
读者感想:敏捷测试思维,其实以前一直是这样做的,但对于为什要这样做?
a)我只是停留在尽早发现需求问题,从源头提升产品质量;
b)要进行那些测试?功能,性能,安全,界面…
c)分析业务关联逻辑,理清业务关系;
d)测试工作量评估,及人力分配;
朱老师的观点超级到位,让我理解了需求测试分析真正的意图及观点的表达……
网友评论