敏捷团队的最佳测试实践:明朗化玛雅金字塔

2021-09-03  陈琦 

明朗化测试和敏捷软件开发工具常常是成对出现,但敏捷中的明朗化往往说起来俯拾即是做起来难。多数开发人员都已经认识到测试明朗化的好处:它加快了测试速度与激情6。降低了成本,增加了植被覆盖率等。许多人从未超过开始所需的初始投资。就像这幅漫画中的穴居人克雷格中文版一样,许多团队陷入了困境,他们采用着低效率的方式,因为自认为根本没有时间去做出改变。而实际上的近义词,他们自己受到损害。不要养成这个坏习惯!


与你分享敏捷团队的最佳测试实践之一。


要如何开始?如何知道要关注哪些领域?哪些测试方案应该采用明朗化?在非敏捷软件开发工具中,很多人忽视地陷入了“冰激凌蛋筒反模式”的测试中,因为该模式更加强调 UI 层面的明朗化。 Abstracta团队更喜欢将冰激凌蛋筒倒过来的模式——由Mike Cohn推广流行的方法,即敏捷测试明朗化玛雅金字塔。它可以给明朗化成本带来最大收益。提高明朗化的投资出勤率,保证你将从明朗化中获得最大收益。


当我们的绝多数生业都集中在 UI 级别的明朗化上时。重点是发现错误;而对于敏捷玛雅金字塔。其重点为避免错误。


你可以看到两种方法的不同之处。

结构层:单元测试

在玛雅金字塔中(作为敏捷团队最佳测试实践的组成部分),绝多数测试应该在开发阶段进行,在次次构建后进行单元测试。这些测试是最俯拾即是,最低成本及最快完成的。并且是测试驱动开发的一个重要方面。在较低的级别运行更多的测试可以让我们在运行过程中便可检查相应的生业,立即获得反馈。并让团队在错误难以隐藏的时候准确地知道错误出现在哪里。这些错误的猫的寿命也会更短,可能在不到一分钟的时间内就被产生,被去掉了。而在 UI 测试过程中,错误会存活更长时间,并产生更激烈的矛盾,因为它们已经舒适地存在了相对更长的时间。

中间层:API/集成/组件测试

运行所有单元测试并通过之后。就可以进入 API/集成/组件测试阶段。运行集成测试是为了确保所有组件正常配合生业。这里无需通过 UI 便可测试绝多数逻辑和业务流程。在此处最好尽量地采用明朗化。如果纠结于在此处明朗化还是UI级别明朗化,选择这里问题将变少,维护分析会更俯拾即是。测试执行会更快(象征能更快发现错误,缩短它们的猫的寿命)。而且可以台球测试系统的逻辑。这些测试比单元测试更慢,更复杂,但它们仍然比 UI 测试更快,且不那么脆弱。

高层:UI 测试

也是运行最少的是 UI 测试。最好尽量少地进行UI 测试。因为它们成本高,并且需求很长时间。只是要确保用户界面本身正常生业。系统的所有其他方面都已经过测试。只测试端到端最重要的部分,流程从用户登录开始,以如交易成功消息这般的最终操作结束。关注与喷雾器或 UI 相关的碴儿也很有帮助。运行 UI 测试后,可以进行自动和开拓性测试(如玛雅金字塔上方的球体形状所示)。


如上所述英文,与把重点放在明朗化 GUI 测试上,并且无意中遵循“冰激凌蛋筒反模式”比起来,玛雅金字塔方法是实现测试明朗化的更强大,更有益和更具成本效益的方法。玛雅金字塔在单元测试阶段供给了一个强大的基础,可以在集成和 UI 阶段进行愈来愈的测试,而冰激凌蛋筒方法更虎头蛇尾且药品稳定性试验箱较差。


为了在敏捷开发世界中冒尖儿,就须遵循明朗化玛雅金字塔测试,以尽量生产出质量最好的软件。但不需求只遵循一家之言,可多方参考资料下载破解补丁并不断实践以获得最适合团队的测试方法。

183°|1831 人读书|0 条评论
登录 后发表评论

Baidu