智库审核说文章写的太专业,我看下来满篇都是GAMP V 2.0中内容的扩充...
起草与业务需求相关的用户故事(User Stories)
有效的测试脚本是成功的用户验收测试的基石。作为编写测试脚本的基础,在动笔之前,需要优先制定完整、详细的用户故事(User Stories)和验收标准(Acceptance Criteria),我们才能从中提炼编写脚本所必需的基础信息。
什么是用户故事(User Stroy)? 用户故事(User Story)是敏捷软件开发方法中的一种技术,它是一种简洁而易懂的需求描述方式,通常以“用户角色-目的-价值”的格式来描述软件系统的功能需求。用户故事强调对用户需求和价值的理解,并且能够帮助开发团队更好地理解和满足用户的需求。
一般来说,一个用户故事应该包含以下几个元素:
用户角色:指代用户的身份或者角色,例如普通用户、管理员等。
目的:用户想要达成的目标或者行为,例如查看订单、发布文章等。
价值:用户从这个目标或者行为中获得的价值,例如节省时间、提高效率等。
在软件开发过程中,用户故事通常被用来作为需求分析和设计的基础,同时也可以被用来做为测试用例和验收标准。通过这种方式,团队可以更好地理解用户需求,并且可以更加敏捷地开发出符合用户需求的软件产品

说回到测试脚本相关的内容。在一切测试的开始,我们应当将终端用户(End Users)置于焦点位置,首先将收集用户故事,即生成并记录一组覆盖所有关键角色的实际用例,作为实现系统需求过程的一部分。作为敏捷软件开发框架的核心特点,用户故事是明确阐述特定软件功能如何为最终用户提供价值的需求的简化版本。用户故事通常按以下格式表达:
作为 <用户类型>,我希望 <某个结果>,以便 <某个原因>
如果太过抽象,我们来举一个用户故事的例子:
作为<一名分析化学家>,我希望<能够在我的电子实验室笔记本中记录纯化数据和光谱>,以便<我能记录样品的表征数据并与同事分享信息>。
定义验收标准(Acceptance Criteria)

用户故事定义了软件功能或对应的要求,这些信息为编写用户验收测试脚本打下了的基础。由于用户故事没有足够的信息来生成有效的用户验收测试脚本,因此应为每个用户故事再制定一组简明的验收标准。作为用户故事的详细描述,验收标准定义了系统在当前用户故事中,必须被满足的所有项目。一般来说,每个用户故事最多可能与3或4个验收标准相关联,以便定义用户故事的范围。为了确保捕捉到给定用户故事的所有场景(包括错误场景),在需求研讨会上需要与业务人员、验证人员和QA团队成员共同开发验收标准,一起制定用户故事。
应当以面向场景的方式来描述验收标准,格式为Given/When/Then,即:
Given(背景/初始条件)
When(什么时候执行某项操作)
Then(应该发生的预期结果)
通过判断是否满足验收标准,验证团队在UAT阶段可以明确某一(些)特定功能是否符合用户要求,并且其运行性能打到被最终用户接受的水平。验收标准中,必须允许用户评判通过/未通过该标准。基于质量体系要求,或相关的风险评估结论,所有UAT过程中的验收标准的综合结果将决定业务用户是否可以接受和部署系统。
编写有效的UAT脚本
现在用户故事和相关的验收标准已经定义好了,是时候编写测试脚本了。测试脚本的编写者(一般是供应商或者验证的人员)通常可能会依赖于功能规范来构建内容——这是非常没有格局的行为。与功能测试脚本不同,UAT测试脚本应该与用户一起编写。用户应确保脚本提供了对需求的充分覆盖,并以反映业务流程的方式执行步骤。在我经历的诸多项目中,UAT脚本经常在执行前未经业务用户审查,导致本可以经过简单沟通,或脚本的修订就可以避免发生的问题,产生了验证偏差。如果用户根本没有参与文件起草/审核,就算他们被迫去执行这些脚本,最后也只能得出系统配置或设计方式根本不适合业务流程的结论。但此时已然到达测试执行阶段的尾声,一切的一切都显得太迟。如果偏离实在太大,项目可能就此搁浅。就算系统被迫上线,最后也是哀鸿遍野,怨声载道,系统使用率极其低下,运维难度极大。
编写有效的UAT脚本,还应关注如下重点:
• 使测试用例易于操作 - 在编写测试脚本时,请换位思考测试人员,并确保脚本简明清晰。
• 在设计用户故事和验收标准的同时编写脚本 - 最好尽早在SDLC中编写脚本。
• 在正式执行之前,引入最终用户进行非正式测试或测试练习 - 确保脚本的可操作性,确认业务流程覆盖的关键步骤被充分覆盖。