总结:作为测试人员,您在软件测试活动中是否遇到过这样的场景?在测试功能或制定测试计划时,考虑简单的测试和简单的设计是很常见的。 这种情况发生的概率很低,几乎不可能存在。 如果未经测试,则不可能在实际应用程序中使用这么多用户。
在你的软件测试活动中,作为测试人员,你在测试软件时经历过这样的场景吗?简单的设计。
1. 这种情况发生的概率非常低,几乎不可能。 会有,但是是意料之外的
2. 实际应用中不可能有这么多用户,所以不需要考虑。
3. 业务量
4. 在此期间应该不可能有这么多用户。
4. 多个商家不可能同时出现。
然而,一旦一个版本发布并上线,通常会发现以前认为不太可能的东西实际上适用。 这是为什么呢? 企业管理中有一条法则,叫做墨菲定律。 该定律规定,如果某件事可能出错,无论可能性有多大,它总会发生。
在某些研发测试中,如果测试过程和测试交付存在潜在风险,导致不良结果,我们应该如何做好充分准备,主动应对不良结果的后果,避免或尽量减少影响? 。 我们将分享一个实际的流程,结合当前的项目运营来测试当前项目流程中的风险管理。
1.了解风险
在项目活动中,风险是指项目活动过程中不确定的事件或条件。 发生这种情况时,它会影响特定项目的一个或多个目标,例如:
/p>
·版本测试、不合理的测试工作量估算、测试不足
这些交付过程中存在的动态、静态、已知和未知的不确定性来源,无法满足测试交付目标的影响。外部市场需求。 那么我们应该做什么呢?
2. 风险管理
在项目测试活动中,我们通过一系列的风险管理活动来快速识别、有效评估并主动应对不确定因素,保证了项目测试活动的顺利进行。 实现价值交付;
1.风险识别:
风险识别阶段建立团队的整体风险意识,以便每个人讨论和制定风险识别的各个方面,并使用特定的工具和方法来管理风险数据。 处于相应的研发阶段。 收集以进行有效识别。
1)风险识别维度
根据项目实际运营团队的讨论,通过收集以下四个维度的信息作为风险识别的输入进行识别:
项目:项目的主要方面考虑因素:
・规划项目规划需求:项目迭代开始时规划需求和提交的规划点的内容。 在此过程中,会增加需求,对提交的计划进行更改,任何与原计划的偏差都会及时报告为风险。
・相关约束:是否有任何外部依赖? 外围软件、硬件版本的依赖等 必须在集成完成之前提供以满足交付要求。
p>
・里程碑时间点:时间点要求也是识别的依据。 随着里程碑的临近,当前状态和目标之间存在显着脱节。
・估计工作量。 工作量预估的合理性,有些是被项目强行压制的,工作量有很大偏差。
・不仅是看不见的元素,还有项目内团队之间的合作关系
资源:资源的维度,主要是人力资源是否充足,设备环境资源是否可以支持相应的测试活动。 例如是否满足组网场景、容量资源需求。
技术:技术方面主要考虑目前是否存在不熟悉的、需要技巧的盲点。
质量:质量方面主要取决于任务,例如是否仅满足基本的预研究穿刺测试或是否需要遵守国防部严格的交付标准以了解和确认。的质量要求 。执行以满足交货要求。
2) 风险识别阶段
风险识别活动始于测试SE参与需求分析、创建测试策略、跟踪功能实现过程以及在测试和其他(维护)阶段交付系统。被识别。
3)风险识别方法
专家判断:了解项目和业务的不同领域,考虑个体风险的各个方面,并识别整个项目的所有风险来源;
·头脑风暴:参考具体的风险识别方面,进行相关的头脑风暴。
・采访:采访领域专家和资深参与者。
·会议讨论:团队成员召开特别会议,讨论他们当前正在处理的任务、观察到的信息,并审查已识别的风险。
・风险清单:各阶段的风险点。 使用方法如下: 提醒(要求及时审核订单,定期更新调整)
风险识别经验总结:
1.团队建立风险意识,鼓励所有利益相关者参与风险识别。
2.除了显性和可见的风险外,还应该关注隐性的团队协作和气候风险。
2.风险评估
通过有效描述风险、明确风险类别、合理界定风险级别来评估风险。 ,确认风险影响,为后续风险应对措施提供依据。
1)风险描述:
风险包括四个要素:原因、时间、概率、影响。 了解风险的四要素后,使用结构化的SQCA描述方法论来区分并清晰地描述风险本身、风险偏好和风险影响。
S(情况):背景原因
C(复杂性):冲突事件
Q(问题):问题的影响
A(答案);答案
描述了一种结构化的方法:在特定的背景(原因)、复杂的(事件)情况下、什么类型(问题)以及如何解决它(答案)
风险影响和解决方案是风险描述的关键。 我建议进入正题。
·Q(对问题的影响):清楚地解释问题的影响范围、重要性和紧迫性
・A(解决方案):遵循3W原则,明确解决方案的具体内容,包括需要的资源(What)、具体责任方(Who)、解决方案由谁负责、具体内容等。规定的内容。 预计解决日期 点(何时)
・风险描述示例:
・技术风险描述示例:
随着公司业务的快速发展( S),我们的IT系统无法满足我们当前产品(C)的需求。 因此,您将无法满足您的客户(Q)。 当务之急是立即安排IT系统升级(A) · 质量风险描述示例:
采用迭代交付方式(S),测试自动化无法可靠运行(C),导致不完整。测试影响发布的 Guard 和质量风险 (Q)。 迫切需要在重复分发之前尽快完成自动执行守卫的修复(A))
2)风险分类
在有效描述风险后,进行风险分类,定义风险类别。 这个过程主要关注相关群体,要么将注意力和精力集中在风险最大的领域,要么制定针对风险的共同风险应对措施,以便更有效地应对。
・按照风险来源划分:技术风险、管理风险、外部风险、内部风险等。
・或者按照受影响的项目工作划分:解决方案设计、编码实施、验收测试等
目前,项目运营过程中,主要根据风险产生的原因进行风险分类。 分类风险中,外部依存风险占比较高,我们正在考虑共同的应对措施,比如通过前期联合项目规划来抑制外部依存风险的进展,通过日报和周报来监控外部依存风险的进展情况。 依赖性等。
3)风险评级
在对风险进行清晰描述和分类后,团队讨论风险偏好和风险重要性,并根据具体的研发流程评估风险影响并制定概率的定义。 。
例如,可以根据风险发生的概率和对测试目标的影响程度综合确定风险等级。
分级结果表明高风险或更高:立即采取行动。 中等风险:立即响应。 低风险:定期关注
3.风险应对:
完成风险评估和评级后,实施相应的适当应对措施。风险应对。 在实际的项目管理过程中,根据不同的场景采取不同的对策。
・风险报告:当超出个人或团队的应对能力时,需要进行风险报告,常见风险为风险级或更高。 例如,外部依赖风险包括项目调整。 否则,版本无法合并并创建成功。 反馈将通过面对面沟通、电话沟通或日报、周报的方式进行汇报。
·风险规避:发生概率高、负面后果严重的高优先级风险。 例如,版本发布时,某些功能由于测试不充分而没有经过充分测试,影响不明确。 集成后,现有的商业版本隐藏着未知的危险。 通过减少功能集成周期并避免版本发布质量风险
・风险转移:应对风险并将责任委托给第三方。 例如,在研发过程中,存在第三方,即使他们不熟悉新领域,但在技术成熟的情况下,他们会购买服务,签订合同,与第三方合作,将风险转移给第三方。能。
·风险缓解:降低风险的可能性和影响。 例如,当版本接近发布时,缺陷被合并,但缺陷范围广泛且测试不力。 分析故障影响后,对故障进行回滚、合并,避免影响。
・风险接受:对于低优先级的风险或其他策略,你无法再处理它们。
3. 经验总结
结束语:
1. 测试过程中,做好测试“交易者”,做好全面风险管理,做好准备,主动应对,避免或减少不好的事情的影响。
2.加强团队风险意识;风险管理和控制需要每个人的参与
3.作为团队优秀的测试人员收集和整理风险数据,养成分析的习惯。
4. 培养总结经验、识别风险的“敏锐眼光”。
5.作为测试人员,应该“未雨绸缪”,从源头控制风险,而不是做“救火队员”。
上述作者的经历更像是一个横向的知识网络,创建了一个交流平台914172719。 群里各种人技术互动、学习资料、面试经验等。使用了jenkins、docker、moutebank、python你对编程之类的东西学习得越深入,你需要的能量就越多。 每项技能只有掌握到一定深度,才能称为完整的知识体系。
最后大家可以关注公众号:Sad Latio!自从加入公司以来,我想跟大家分享的信息有很多! 这些信息包括了面试官在面试时应该问到的所有知识点,比如基础知识、Linux要领、shell、互联网编程原理、Mysql数据库、抓包工具等话题,还包括了很多测试行业的常识,例如: 接口测试工具。 、高级-Python编程测试、Web自动化测试、APP自动化测试、接口自动化测试、高级持续集成测试、测试架构开发测试框架、性能测试、安全测试等等。
对于我的博客如果您喜欢我的博客内容,请一键“点赞”、“评论”、“收藏”!
推荐文章
求职面试,求职面试,软件测试人员应该知道的面试技巧!
面试经历:在一线城市搬砖!我又来面试软件测试职位了。 5000就够了...
面试官:工作三年了,你还来面试初级测试吗?不幸的是,软件测试工程师这个职位需要用双引号括起来。 ..
什么样的人适合做软件测试?
按时离开公司的人在我之前升职了..
我保留了。转行当测试工然后消失……
评论前必须登录!
注册