最近参与了需求实例化讨论,当前处于敏捷开发流程的学习过程,记录下参与过程中的感受、思考、困惑
在当前项目的研发流程中,需求落团队开发前,会先经历一个环节:需求实例化;他的目的和本质是为了消除歧义,市场原始需求中是一些描述性语言,有些原始需求往往是一句话,在需求传递过程中存在失真,需求实例化是通过举例的方式理出实际场景、编写一定的验收准则,以实际应用场景,帮助大家理解需求,其实就是把抽象的东西用例子把需求描述得更清楚些;
当前项目需求实例化安排固定铁三角(规划SE、开发BA、测试专家)来参与;借着学习的机会参与了需求讨论;
1、感受:项目的需求实例化过程利用行业内常用的步骤来进行,有相关的模板;需求实例化5步骤:
定系统边界:对外提供的软件接口、服务输出;
找用户:提出方(市场SE)、规划方(PO)、分析方(需求SE)、需求实现方(开发)、需求测试者(测试)、工程运维者(工程)、需求用户
问目的:各用户的目的挖掘分析;Want-Need-Win结构
画场景:不同用户所使用的场景,包含常规场景和特殊场景
列功能:根据典型场景,拆分功能项
2、思考:针对测试人员为什么参与、需要注意什么、输出是什么来思考测试人员参与需求实例化过程
Q:哪些测试人员会参与需求实例化?
A:在需求实例化阶段,主要由测试专家参与,在测试团队中属于技术骨干,在某一领域内对系统框架、系统特性、特性交互精通;
Q:测试人员参与需求实例化的目的和作用是什么?是否一定要参与需求实例化?
A:测试人员参与需求实例化,主要从用户的角度来思考该特性的开通上线、实际应用、后期维护操作的可行性,方便性、可维护性;从用户的角度来挖掘需求;测试专家参与需求实例化很有必要,在前期分析透,想明白需求要点,在测试过程中就能更准确、更全面
Q:需求实例化过程中测试人员重点关注什么?
A:测试专家需要关注该需求及波及特性:
1)可测试性,主要有
可呈现:测试结果的输出可呈现,可以被清楚明确的被观察,通过观察可分析出正确合理性
可控制:有各种输入和明确输出,可以通过工具进行自动化
可解耦:可以拆分成独立的模块来进行测试
可理解:对用户来说是否清晰可维护,易于理解
2)已有自动化的覆盖情况
3)需求分析的场景覆盖全面性(这点会影响测试场景的全面性)
Q:需求实例化一般会有多次讨论才会定稿,测试人员在什么时候参与最合适?
A:理想的情况,测试专家是跟随需求的讨论贯穿始终;目前的项目流程这点可持续优化改进,目前需求一次讨论、一次定稿(在落团队澄清需求时一起参与)
3、行动:如果参与需求实例化……
提前收集信息:了解需求,收集需求来源相关信息(需求相关波及文档、背景细节等)
输出倒逼输入:在了解完需求后尝试测试分析的输出,带着问题参与需求讨论(理想状态,对个人和项目流程有一定要求;提前完成需求分析输出、预留时间)
参与后灵魂问:
这次的讨论有什么收获?
这次的讨论哪些可以直接应用?
这次的讨论后第一步可以做什么?
这次的讨论我需要加强的是哪方面?
网友评论