2007年7月9日,星期一12:55

使用户重新进入用户验收测试

撰写者
为什么让用户参与用户验收测试(UAT)如此具有挑战性?它不是因为用户是主要参与者而被称为UAT吗?我的经验表明,让用户参与项目的各个阶段,尤其是UAT,是确保项目成功的最佳方法。

我最近从事的一个项目是在软件应用程序投入生产后发现一个主要缺陷。此缺陷导致用户执行三天的手动处理。 IT项目团队的用户无数的加班时间。该缺陷还导致用户组和业务发起人感到沮丧。项目团队的士气低落,业务用户对项目团队提供优质软件解决方案的能力失去了很大的信心。为了减少将来犯此重大错误的风险,项目团队通过让用户更多地参与来改进了UAT方法。

传统方法

很多时候,用户接受测试并没有被认真对待。由于许多原因,UAT缩短了,没有以确保项目成功的方式进行,或者在最坏的情况下根本没有完成。

我过去使用的方法是由项目团队成员(业务分析师和QA分析师)组成的,他们编写测试脚本并向用户提供新应用程序的演示。然后,用户将逐步浏览测试脚本。在某些组织中,BA编写并执行UAT测试,然后将结果提交给用户以供签署。

传统的方法通常是无效的,因为它们缺少关键要素-适当数量的用户参与。在前面提到的项目中,我们必须解决与UAT有关的五个主要问题。这些是许多组织中与缺乏用户参与有关的常见问题:

•用户可能未完全归属UAT。在传统方法中,用户在UAT期间由BA指导,并且在项目中加入得太晚而不会影响测试计划。这会导致用户缺乏所有权,而用户对项目成功或失败的责任则减少。

•当要求用户测试新功能时,他们并不完全了解它们应该如何工作。仅观看演示通常是不够的。这可能导致UAT会话成为培训机会,而不是真正的考验。

•测试通常是通用的,并且并非全部基于实际场景。如果测试脚本是由IT项目团队编写的,则丢失真实场景的风险更大。这是因为与用户不同,IT项目团队不是每天都在使用该应用程序。

•项目团队成员通常需要时间。在UAT期间,通常已经分配了BA来执行另一个项目的需求活动。平衡多个项目意味着BA在满足其他项目截止日期的同时,很难专注于UAT。

•UAT测试计划的高通过率。具有讽刺意味的是,这不是一件积极的事情。通常,BA会编写测试脚本并在UAT之前亲自对其进行测试,以确保脚本通过。当BA编写测试脚本时,不会给用户机会插入足够多的实际场景来验证系统。

推荐方法

为了解决这些常见问题并增加项目成功的机会,我们需要采用一种新的UAT方法。

1. 尽早吸引关键用户

一旦质量保证(QA)开始测试,就应该开始进行UAT规划。确定对业务需求有深刻理解并且是该组的变更代理人的用户。确定所有需要完成的任务,每个任务的所有者以及高级别的时间表。这将有助于确保所有合适的人都参与其中。

2. 为UAT参与者提供系统的动手培训

提供演示还不够好。质量检查人员认为应用程序足够稳定后,请向UAT参与者进行动手培训。向用户解释由于质量检查测试未完成而可能出现的问题非常重要。让用户专注于应用程序的工作方式,而不是专注于应用程序无法完全运行的事实。

3. 使用简化课程来创建测试计划

让用户编写自己的测试计划。这听起来可能有些牵强,但是这对于使UAT尽可能接近现实生活至关重要。 BA的主要作用是促进UAT测试计划的创建过程,而不是编写单个测试脚本。使用流程工作流图和需求包中的用例文档,要求用户确定需要测试哪些流程和系统功能。向UAT参与者提供测试脚本的示例,并说明获取每个测试目标,必要步骤和预期结果的必要性。这些步骤成为系统用户的第二天性,他们经常发现很难记录他们为实现目标所采取的每个步骤。帮助他们详细考虑其流程,以确保他们已完整记录每个任务。

查看测试计划。一旦编写了测试计划,广管局便会检查测试计划,以确保将对所有受影响的必要功能和流程进行测试。

确定必要的输入和输出。编写完所有测试计划后,请用户记录他们完成每个测试脚本所需的输入以及将要生成的输出。确保所有UAT参与者都有必要的输入以根据所有输出完成测试。如果缺少某些内容,请邀请其他用户在测试执行期间创建这些输入。

使它尽可能接近现实生活。为了增强现实生活的感觉,BA与用户一起确定测试时间表。确保时间表遵循他们的日常流程。再次,使用流程工作流和用例文档来确保按照实际执行活动的顺序执行测试计划。

4. 确保用户执行测试

BA的作用是确保建立测试环境并在用户执行测试时提供帮助。用户的角色是执行测试并记录结果。

结果

推荐的UAT方法

1.及早吸引关键用户

2.为UAT参与者提供动手系统培训

3.使用简化课程来创建测试计划

4.确保用户执行测试

使用这种方法可以帮助降低将重大缺陷投入生产的风险,并确保用户对解决方案满足每个项目的目标感到满意。这是使用改进方法的一些主要结果:

•UAT参与者对发布的成功承担责任。由于与IT项目团队的合作以及UAT计划,测试创建和执行的参与,他们感到自己是团队的一部分。它们还有助于向更大的用户群宣传每个发行版的好处。

•由于进行了预测试培训,用户对新的应用程序感到满意。这使用户可以开发现实生活中的测试方案,并且不将用于测试的时间用于培训。

•由于用户创建并执行了测试计划,因此测试非常接近实际情况,并且用户更愿意运行测试。

此外,未来的项目还有明显的好处:

•质量检查将用户记录的方案纳入了将来版本的质量检查测试计划中。

•随着时间的流逝,BA用于UAT的时间减少了。由于BA促进了UAT流程并且不执行大部分工作,因此BA可以专注于其他必要任务-例如启动下一个项目。

实施方法

用户不参与UAT并不罕见。我敦促您尝试这种方法,即使您还没有经历过激烈的唤醒电话,例如生产中的重大缺陷。

要求我们越来越快地提供解决方案,将主要缺陷投入生产只是时间问题。以下是一些入门提示:

•从小开始。为了使用新方法帮助管理更改,请确定用户和/或新功能较少的版本。这将使您能够测试新流程,发现经验教训并进行必要的调整。

•计划更多时间。使用这种新方法最初将需要更多时间。与项目经理合作,为前两个或三个项目计划更多时间进入UAT阶段。当您习惯了这种方法时,它将需要更少的时间。

•确定高级用户和应用程序拥护者。他们是您最好的测试人员,并且对项目的成功最感兴趣。

•向用户出售新方法的好处。与任何新方法一样,BA需要帮助用户了解该方法是什么,以及它将如何最终改善他们的业务。

•保存用户测试计划以用于将来的版本。重用测试计划将有助于加快将来发行版中专用于UAT的时间,并可用于更新您的QA测试计划。成功实施此方法有助于确保项目满足用户需求。用户与项目团队的协作导致项目成功与失败的共同责任。

What is UAT 和 Why We Do It?

UAT是客户最终的批准,表明可以部署新系统或增强功能。 UAT与其他类型的软件测试(例如,单元测试,系统测试,集成测试)不同,因为在UAT期间,我们正在寻找一致性。我们需要验证该解决方案是否满足业务目标并且可以在实际场景中正常工作。 UAT通常由用户在BA和其他项目团队成员的协助下进行。
UAT通常在将系统部署到生产环境中之前进行。对于高风险项目,在生产中运行旧系统和新系统时,UAT可能会持续一段时间。这给了用户充足的时间来使新系统满足他们的需求。对于商业软件公司,UAT也称为“ Beta”测试。在这里,该系统被启动到生产环境中,但是仅向部分客户提供,这些客户将提供有关缺陷和必要改进的反馈。 
库佩·库珀史密斯

使人们变得很棒是他的主要目标。

他在帮助组织实现业务价值方面拥有20多年的经验。
最近,他是一家利基培训组织的总裁。

他还曾担任能源,电视,体育管理和市场营销行业项目的首席业务分析师和项目经理。

为了完善Kupe的经验,他是训练有素的即兴演员,并运用这些技能来帮助他的客户成为更好的合作者和团队合作者。

Kupe是《傻瓜商业分析》的合著者,并且是业界要求的主旨演讲者。作为即兴的喜剧演员,库佩(Kupe)一定会在您学习时让您发笑。 Kupe是一个连接器,人生目标是与所有人见面!

©BA Times.com 2020

麦格雷戈徽标白色网站