测试动态 / 质量专栏 /我们如何不顾一切地缩短测试周期
我们如何不顾一切地缩短测试周期
2022-10-17 浏览次数:1098

  我们做不到!你疯了?你是认真的?

  当我询问我们是否可以将系统测试时间缩短到一到两周时,这只是我的团队回答的一个例子。我们在一个特定项目中有七个月的交付周期,其中两个月专门用于代码完成里程碑之后的系统测试。在最后两周,我们在晚上和周末工作。当我与团队讨论休假一周时,会议收到了很多理由,说明我们需要更多时间,而不是更少时间。所以,我们选择了不同的方法。我们花了一些时间想知道时间都去哪儿了。我们首先编写了我们在这两个月中所做的一切,结果是下面的等式:

  测试持续时间(项目 X)= RC * (TCE / TV + D * DLC) / PT

  1、RC = 我们重新测试的次数,因为在我们之前测试过这个区域之后对代码进行了修改。

  2、TCE = 每个周期运行的测试用例数

  3、TV = 在给定时间内完成的测试用例数。

  4、D = 在测试阶段发现和纠正的缺陷数量(忽略关闭为无效、重复等的缺陷。)

  5、DLC = 缺陷生命周期,从打开到关闭每个缺陷。

  6、PT = 在此期间测试产品的人数。

  现在我们有了这个模型可以使用,我们可以提出更具体的问题,比如

  1、我们如何加快测试过程?

  2、我们能否更有效地处理缺陷?

  3、我们在哪里可以找到更多的测试人员,我们如何提高他们的生产力?

  4、我们可以做些什么来减少重新测试的数量?

  5、是否有必要运行所有测试用例?

  6、我们如何限制在测试阶段检测到的缺陷数量?

  只有在花时间将大而棘手的问题分解为更易于管理的问题之后,我们才意识到我们可以真正有所作为。我们并没有我们想象的那么无能为力。我们只提出其中一个查询来重新开始会议,之后我们研究了如何仅增强该单个变量。经过几个月的调整,我们最终能够将系统测试周期缩短到三周。当我们第一次开始谈论它时,我们不相信我们可以从原始测试周期中删除一天,但最终我们克服了所有困难,缩短了持续时间。

  让我们来看看我们在头脑风暴会议期间所做的一些讨论和解决方案,因为它们说起来容易,而不是实施。

  扩大您的测试能力

  团队要求的第一件事就是组建一个更大的团队。我首先犹豫是否要求更高的预算,因为我不想看起来做更多相同的事情。然而,在实施了上述一些修改并展示了它们的进展之后,我们的领导层询问我们还能做些什么。做出重大改进需要您的团队付出努力。我们能够雇佣更多的人,并展示了我们期望从新资金中获得的确切收益。我们最终找到了一个离岸合作伙伴来协助进行大部分回归测试。这给了当前团队更多的时间来实施改进,创建了一个反馈循环。

  在与离岸合作伙伴接触之前,我们得到了该组织其他员工的一些帮助,他们帮助进行了一些测试。产品管理、开发人员和技术文档团队都致力于打造更好的产品,并花时间协助测试。我们还进行了几次“测试会议”,在其中我们聚集了整个团队一天来测试产品的各个方面。每个人都贡献了,包括工程师和管理层,每个人都测试了一天。我们向那些发现最重要和最严重的错误的人颁发了奖项。测试课程令人满意,对团队凝聚力很有用。

  主要关注最关键的测试用例

  当我们第一次考虑减少我们运行的测试数量时,我们遇到了一些阻力。然而,一旦我们开始将其作为基于风险的测试,将最多的测试工作投入到风险最大的领域,我们就开始改进。我们从两个维度对每个测试套件进行评分:这些测试发现缺陷或故障的可能性,以及如果在产品的该部分发现缺陷对客户影响的严重性。在将每个维度评为高、中或低后,我们使用图表来选择我们的方法:

  注意:您可以调整提供的分数,以便每个计算确定您的优先级。

  我们与开发团队一起进行了这项分析,询问他们认为哪些领域最脆弱。他们能够立即识别出一些地方,并且他们还查看了更改日志以查找具有定期缺陷修复的代码。我们与产品管理团队分析了这些数据,以确定严重性对客户的影响。同样,他们也有一些早期的问题,并且还根据用户分析进行了后续分析。

  P1 优先级测试套件对我们来说是最重要的执行。我们注意在整个周期中尽早并频繁地测试这些,然后再确保没有回归测试。P2 测试套件紧随其后,我们在循环后的回归测试中给了自己更多的回旋余地。我们彻底分析了 P3 测试套件并减少了它们,利用样本并在系统测试中只执行一次。

  提高测试速度

  增加测试自动化覆盖率看起来像是提高测试速度的自然方法,自动化非常有帮助。但我们还发现了其他可能提高速度的因素。我们提供了工具来帮助在部署后自动填充测试数据,以便测试人员在早上上班时已经部署了构建并准备好了必要的测试数据。我们还建立了“最需要的缺陷修复”列表,并对这些问题进行了优先排序。最需要的缺陷是那些阻止测试完成的缺陷,因此我们将开发人员的优先级与测试人员的生产力联系起来。这减少了测试人员等待修复的时间。

  减少系统测试中的错误

  我们开始解决在系统测试期间发现的缺陷数量,因为我们发现并修复了许多问题,这表明还有改进的空间。但是,更重要的是,最大限度地减少缺陷对于我们生产高质量软件的总体目标至关重要。直到此刻,我们才跟踪系统测试中检测到的缺陷的根本原因,因此我们不得不做出一些判断并与开发团队合作。我们检查了在上一个测试周期中发现的问题样本的趋势。我们发现了一些小的编码问题以及几个吞吐量问题。

  为了减少编码错误的数量,我们花了一些时间确保我们从代码审查中获得最大收益。我们进行了代码审查培训,跟踪了代码审查,并向团队报告了调查结果。我们还开始使用某些旨在识别内存泄漏的技术。这两项改进开始减少在系统测试期间处理问题所需的工作量。我们最终开始记录缺陷的核心来源,并且我们进行了频繁的分析以发现更多的优化机会。

  缩短缺陷生命周期 (DLC)

  当我们查看我们的缺陷列表时,我很尴尬地看到我们提交的 60% 的缺陷在没有修复的情况下被关闭。两个最重要的原因是工程师无法重现问题,并且该缺陷与系统中存在的缺陷重复。这只需要一个简单的更改:我们指示测试组在提交新错误之前检查缺陷跟踪系统。如果他们发现了类似的问题,他们会考虑使用修改后的事实更新原始错误报告,或者咨询分配给该缺陷的开发人员。

  我们对无法复制的缺陷进行了研究。测试人员不会记录缺陷并继续前进,而是召集“缺陷小组”向开发团队展示缺陷。这种缺陷聚会经常在一天结束时举行。在对话之后,测试人员将起草缺陷报告。这导致维修速度大大加快,因为开发人员经常会惊呼:“啊,我明白发生了什么。” 缺陷演示有助于消除复制缺陷的方法中的任何不确定性。经过这些调整,我们发现超过 50% 的报告缺陷得到了修复,并且我们的“乒乓”游戏更少了。

  自从这个项目以来,我已经多次使用这种策略来加快测试周期。团队喜欢将时间分解为特定元素并确定立即改进的机会的过程。

     卓码软件测评是一家[ 具备CMA、CNAS双重资质 ]的专业做软件测试的第三方软件测试服务机构, 可根据您的需求提供各类软件测试服务,并出具合格有效的软件测试报告。点击→→可了解测试报价

        部分文字、图片来自网络,如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。负责人:曾菲       电话:4006070568

文章标签: 软件测试
专业测试,找专业团队,请联系我们!
咨询软件测试 400-607-0568