软件行业中什么是需求?
简单的说需求就是产品经理(市场)要求软件必须完成的事务以及必须具备的基本功能。
很多开发会说永远不要相信产品经理 – 其实因为市场在变而不断变动。
所以需求的轨迹就如同下图
什么是需求测试
测试需求主要解决“测试什么”,即指明被测对象中什么需要测试。
需求测试通常是以软件开发需求为基础的分析,通过对需求的细分化和分解,形成可测试的内容。
测试需求因覆盖全部已定义的业务流程,以及功能和非功能方面的需求。
其重要性如同下图
需求测试
目的就是明确需求,明确到底要的是什么
软件测试需求是开发测试用例的依据
有助于保证测试的质量和进度
测试需求是衡量测试覆盖率的重要指标
需求测试过程中要发现什么类型的需求点
功能需求:功能性需求是产品必须完成的那些事情,要求一定的功能品质
非功能需求:如感官,易用性,安全性,性能,法律法规等这些属性方面的需求
限制条件:限制条件是指全局性的,它们可以对整个项目进行有限制。
挖掘需求:挖掘需求是指在产品阶段未能完全定义出的需求,如同在客户沟通挖掘出更深层次的需求。以免后期需求变动。导致项目失败。
需求测试中主要运用的方法
业务模型法:要参与需求评审,评审需求的过程实际也是熟悉业务需求的过程。只有对业务比较熟悉了,才能更好的,更充分的设计出高质量的测试用例。
业务场景法:要善于沟通,多和客户、开发、测试人员进行沟通。遇到不明确的问题、有疑问的需求,可以咨询项目负责人或者客户等。这样才能提前解决需求理解偏差等。
功能分解法:业务功能,辅助功能,数据约束,易用性需求,编辑约束,参数约束,权限约束
细节挖掘:
1.要多阅读文档,其中包括产品策划书、规格说明书、需求文档,接口文档等,我们可以收集一切相关的文档来帮助理解所要测试的产品需要完成的目标。
2.尽量多参加项目组内的会议。比如需求讨论、设计讨论、计划讨论等会议,这样在讨论过程中也能加深对产品的理解。
需求阶段测试要做的工作
很多测试人员再需求阶段会比较茫然,不知道要做什么,其实做好真正的需求测试很重要,需要运用之前讲到的一些方法来进行需求测试,测试计划准备,测试方案准备,测试用例准备。
目前一些敏捷型开发,甚至都是采用的测试驱动,以测试用例为主导反推写代码。这样在某些方面开发出来的质量会更高。
A.测试需求,检查需求文档描述的正确性,整理出需求的疑问点,明确点,让所有人一致理解正确的需求。
可运用的方法:路径分析法(业务模型,场景分析)
B.测试用例编写,从界面,从业务,从功能出发。
因果分析法,边界值法,等价类划分法,错误推测法(反向测试用例)等
C.缺少需求文档时,那就要发挥测试人员的主管能动性了
需求测试的总结
结合业务场景,了解业务
结合基本需求,挖掘需求
结合分解方法,测试需求
结合用例编写,覆盖需求