软件测试中的项目风险分析和解决方案
什么是风险分析?
风险是发生不良事件的可能性。
软件工程中的风险分析是分析与您的测试项目相关的风险的过程。
为了项目的成功,应在项目开始前识别风险并确定相应的解决方案。软件工程中的风险识别有助于您在早期阶段识别可能的风险。
在本教程中,我们将借助一个案例研究来了解测试管理过程的第一步:风险分析和解决方案。
在本主题中,我们将借助一个案例研究来了解测试管理过程的第一步:软件测试中的风险分析和解决方案。
被测试的应用程序是https://demo.guru99.com/V4/,您可以在此处参考软件需求规范。
Guru99 银行将有两个角色
- 客户
- 客户:客户可以拥有多个银行账户。他只能查看自己账户的余额。
以下功能/模块将提供给这两个不同的角色
这里是网站的一个小游览
阅读需求文档后,您可能已经意识到该网站有太多功能性和复杂的场景。
情况是这样的——
- Guru99 银行网站已经完成了开发阶段。现在开始测试阶段。遗憾的是,您在需求阶段并未及早参与。
- 您的老板要求您在一个月内以有限的预算完成测试,但期望高质量。
- 一位经验丰富的团队成员告诉您
- 在这种情况下,您应该怎么做?
A) 这似乎是个大问题。我们需要尽快处理!!!
B) 我不在乎。我们现在就需要开始工作。
上述示例说明了测试管理中风险分析的重要性。
风险管理帮助您——
上述示例中提到的风险只是项目中可能发生的众多潜在风险之一。您应该识别它们并尽快做出决策来处理它们!!!因此,该示例中的正确行动是行动 A。
因此,测试中的风险分析非常重要
如何进行风险分析?
这是一个三步过程
- 识别风险
- 分析每个已识别风险的影响
- 对已识别和分析的风险采取对策
步骤 1) 识别风险
风险在软件产品中可识别并分为 2 种类型
项目风险
项目风险可定义为可能影响项目进度的不确定事件或活动。这种影响对实现项目目标的前景具有积极或消极作用。
项目风险主要分为 3 类
组织风险
这是一种与您的人力资源或您的测试团队相关的风险。例如,在您的项目中,缺乏技术熟练的成员就是一种风险。没有足够的人力按时完成项目是另一种风险。
为了识别组织风险,您应该列出一些问题并自行回答。以下是一些建议的问题。
A) 是
B) 否
A) 是
B) 否
A) 是
B) 否
如果您回答了以上所有问题,您将很容易识别出可能影响您项目的潜在风险。
技术风险
技术风险是指在执行技术流程(如未经测试的工程、错误的测试程序等)过程中发生损失的可能性。以下是技术风险的一个例子:
- 您在这个项目中的任务是测试一个银行网站。您必须设置与真实业务环境相匹配的适当测试环境。如果测试环境设置不当,产品将无法正确测试,许多缺陷将无法被发现。
商业风险
风险涉及外部实体。它可能来自您的公司、您的客户,但不来自您的项目。
下图显示了一个业务风险的示例。
在这种情况下,测试经理必须找出处理风险的解决方案,例如:
- 设置测试阶段的优先级,重点测试网站的主要功能
- 利用测试工具提高测试效率
- 应用流程改进以减少管理工作量。
产品风险
产品风险是指系统或软件可能无法满足或实现客户、用户或利益相关者期望的可能性。测试计划中的此风险与产品的功能相关,例如性能问题、安全问题、崩溃场景等。
以下是一些产品风险的例子:
- 软件跳过客户在用户需求中指定的某些关键功能
需求 - 软件不可靠,经常无法工作。
- 软件以对用户或使用该软件的公司造成财务或其他损害的方式发生故障。
- 软件存在与特定质量特性相关的问题,例如安全性、可靠性、可用性、可维护性或性能。
现在回到您的项目,Guru 99 银行网站是否存在产品风险?要回答这个问题,您应该遵循以下步骤:
完成以上 3 个步骤后,请做下面的小测验,以识别产品风险。
A) 是
B) 否
C) 我不确定
A) 是
B) 否
A) 安全资金转账
B) 用户可以注册新账户
C) 无需更多功能
步骤 2) 分析风险发生的影响
在上一主题中,我们已经识别出可能阻碍您项目的风险。以下是已识别的风险列表:
- 您可能没有足够的人力资源在截止日期前完成项目。
- 测试环境可能没有像真实业务环境那样正确设置。
- 由于业务状况,您的项目预算可能会削减一半。
- 该网站可能缺乏安全功能。
接下来,您应该分析这些风险。
每个风险都应根据以下两个参数进行分类
- 发生的概率
- 对项目的影响
使用下面的矩阵,您可以将风险分为高、中、低四类,或者值3、2、1。
可能性 |
|
---|---|
高 (3) |
发生概率很高,可能影响整个项目 |
中 (2) |
有 50% 的几率发生 |
低 (1) |
发生概率低 |
影响 |
|
---|---|
高 (3) |
如果不立即解决,项目活动无法继续。 |
中 (2) |
如果不解决,项目活动无法继续 |
低 (1) |
需要解决,但可以暂时采取替代方案 |
考虑以下风险
风险 |
可能性 |
影响 |
优先级 = 概率 * 影响 |
---|---|---|---|
项目截止日期未到 |
3 |
3 |
9 |
停电 |
1 |
2 |
2 |
根据上述优先级,您可以采取下表中提到的测试风险缓解措施或对策。
优先级 |
风险管理方法 |
|
---|---|---|
高 |
6 -9 |
立即采取缓解措施,并每天监控风险,直到其状态关闭。 |
中部 |
3-5 |
每周在内部进度会议上监控风险 |
低 |
1-2 |
接受风险并按里程碑监控风险。 |
现在是练习时间,我们在 Guru99 银行项目中发现了 4 个风险。请自行对其进行分类。
风险 | 高 | 中等 | 低 | 状态 |
|
|
|
|
正确。
不正确。
|
|
|
|
|
正确。
不正确
|
|
|
|
正确。
不正确
|
|
|
|
|
|
正确。
不正确。
|
步骤 3) 采取对策以减轻风险
此活动分为 3 部分
风险应对
项目经理需要选择能够将风险降到最低的策略。项目经理可以在以下四种风险应对策略中进行选择
回到前面确定的四个风险,我们必须找到测试中的风险和缓解措施或对策,以避免或消除它们。
B) 测试环境可能没有像真实业务环境那样正确设置
C) 由于业务状况,您的项目预算可能会削减一半
D) 该网站可能缺乏安全功能
由于公司情况,此风险无法避免;您无法为项目请求更多人力资源。在这种情况下,您可以通过选择以下一些选项来减少风险的影响:
- 选择有才华和经验的成员加入项目团队
- 创建培训课程以提升成员技能,帮助他们提高生产力
B. 测试环境可能没有像真实业务环境那样正确设置
如果您进行以下活动,可以避免此风险:
- 请求开发团队协助搭建测试环境
- 准备好所有搭建环境所需的设备或材料(服务器、数据库、PC 等)
C. 您的项目可能因业务状况而削减一半
这个风险是关键的;它可能会阻止整个项目进行。在这种情况下,您应该这样做:
- 重新定义项目范围,确定在这种情况下将测试什么,将忽略什么
- 与客户协商项目条款以适应项目预算
- 提高每个项目阶段(如测试、制定测试规范等)的生产力。如果您能节省时间,就能节省成本。
D. 该网站可能缺乏安全功能
此风险被视为中等优先级,因为它不会影响整个项目,并且可以避免。您可以请求开发团队检查并向网站添加这些功能。
登记风险
所有风险都必须由项目经理、利益相关者和项目成员记录、归档并认可。风险登记册应免费提供给项目团队的所有成员。
有一些有用的风险登记工具,例如Redmine、MITRE等。
监控风险
可以持续监控风险,以检查是否发生任何变化。通过持续监控和评估机制,可以识别新的风险。
为了更好地进行风险管理,您可以参考本文中包含的风险管理模板