当前位置: 首页 > 科技观察

软件开发中的配对测试

时间:2023-03-20 12:46:44 科技观察

软件开发就是培养不同的观点。产品负责人、设计师、开发人员、测试人员、DevOps和项目经理等不同角色的原因之一是在任何生命周期中都有不同的视角。它可以是项目生命周期、产品生命周期、软件开发生命周期、软件测试生命周期等。产品负责人将以业务为导向。这一切都与我们发布的内容及其对客户的价值有关。开发人员更受实施驱动。这都是关于如何在代码中实现我们的功能。测试人员的视角通常包括技术和业务两个方面。这一切都是关于建设性地批评产品并向利益相关者提供有价值的反馈。培养观点差异的一种方法是使用结对活动。结对编程和结对测试是最流行的两种。本文重点介绍结对测试,我分享了团队如何利用结对测试发挥优势的经验。每个角色的配对测试配对测试可以在测试人员之间、开发人员之间以及测试人员和开发人员之间进行。只要参与的人有不同的关注点和观点,结对测试就会非常有益。测试人员之间的配对测试无论测试计划和组织得多么好,配对测试人员都可以发现遗漏的边缘案例。特别是在具有不同专业水平的测试人员之间,在探索性会话中集思广益测试用例将有助于更多地了解被测系统。例如,将可用性测试人员与后端测试人员配对可能会以可能导致有趣发现的方式相互补充。每次新功能准备好进行测试时,不同开发团队之间的测试人员都会安排结对测试。在某些情况下,配对测试安排在测试执行之前和测试用例设计期间。前端开发人员和后端开发人员之间的配对测试可以集思广益,为什么事情会以他们在需要棘手实现的用例中的方式工作。接下来,不同团队的开发人员可以配对测试代码的相互依赖性。一个团队使用配对测试进行单元测试和集成测试。其他团队成对测试从单元和集成测试一直到API测试。最后,没有测试人员的开发团队使用结对测试来拓宽他们对实施的看法。测试人员和开发人员之间的结对测试这通常是结对测试最有效的组合之一。开发人员经常进行测试以检查已实现的代码是否按预期工作。测试人员经常进行端到端测试以检查软件系统是否按预期运行。最重要的是,测试人员还必须探索系统中的任何类型的风险和意外情况。与开发人员进行配对测试以应对意外和风险,对所有相关人员进行教育。测试人员可以从开发人员那里了解系统为何以这种方式运行。开发人员可以学习新的方法来检查导致问题行为的系统和用例。例如,有一个6人的开发团队,在发布前进行配对测试。开发人员在单元级别进行了测试,也在UI级别进行了冒烟测试。测试人员完成对系统行为的验证和探索。他们使用了一个定时会议,整个团队都参与了最终的绿灯发布。另一个团队在发布后进行了团队范围的匹配测试。在完成所有测试活动并发布被测功能后,团队聚集在一起进行团队范围的冒烟测试活动。这有助于团队确信发布不会引起不愉快的意外。更快地发布功能在遵循以下周期的团队中:开发→代码审查→QA测试→发布,在代码审查之前和开发期间进行结对测试有助于更快地发布功能。开发人员和测试人员组织配对测试会议来演示他们的功能如何工作。在配对测试中,他们检查了正面和负面的情景。讨论了UI的外观和感觉,以及可能的性能瓶颈。当双方都对结对测试的结果感到满意时,开发人员检查被测代码。随后进行代码审查,然后由测试人员进行全面的QA测试。结对测试通常会发现基本问题。这减少了用于修复错误或在发布前实施重要改进的开发→代码审查→QA测试周期。更少的周期意味着更快的发布。FindMoreMispairs测试可用于发现新的错误。无论我们编写了多少测试,无论我们执行了多少案例,当我们跳出框框思考并以新的方式测试系统时,我们总会发现更多的错误。我们可以拥有大量的测试用例,涵盖所有可用的功能和非功能需求。及时,测试套件将捕获回归错误。虽然回归错误对于查找和修复很重要,但可能还有其他未识别的重要错误。结对测试期间的头脑风暴可能会激发探索和识别新问题所需的创造力。更快地修复错误在配对测试会话中向同事展示问题似乎比在错误跟踪系统中发布错误并等待同事找时间修复它们更有效。错误必须在错误跟踪系统中进行跟踪。然而,在人们在截然不同的时区工作的远程工作环境中,在结对测试期间发现的错误更有可能更快地得到解决。通过错误进行沟通和协作通常可以更有效地解决问题。解释也有助于解释者通常,当我们尽最大努力解释一种现象时,我们往往会更好地理解我们刚刚解释的现象。不仅听我们讲话的人知道,而且我们更了解。结对测试带来的最重要的价值之一是结对可以增进相互理解。这通常会导致新的想法和问题的解决方案,因为交流新想法会增加创造力。当开发人员试图解释新代码的工作原理时,她可能会理解一开始不清楚的事情。当测试人员解释重现偶发问题所遵循的操作顺序时,问题的隐藏细节可能会变得显而易见。结对测试可以在软件开发组的任何角色之间进行。产品负责人、设计师、开发人员和测试人员之间,以及具有相同角色的同事之间。为了充分利用结对,我们需要观点的多样性。多样性导致创造力。只要多样性也能带来建设性的反馈,结对测试就可以有效地增加我们对高质量功能发布的信心。