为了账号安全,请及时绑定邮箱和手机立即绑定

从下忍到影——通过《火影忍者》理解测试金字塔

标签:
测试

许久未更新文章,为了打破这段沉寂,我决定回归基础,重温那些对质量保障工程师和开发者至关重要的核心概念。我将从测试金字塔开始,借助**《火影忍者》中的忍者等级体系**作为类比,让这个概念更加生动易懂。

在探讨测试金字塔之前,有必要先简单了解《火影忍者》是什么。《火影忍者》是岸本齐史创作的日本漫画和动画系列。故事讲述了漩涡鸣人——一位来自木叶村的年轻忍者,他因体内封印着强大的九尾而从小孤独、被孤立。尽管如此,鸣人依然梦想成为村里的领袖——火影,以此获得认可并证明自己的价值。

在火影忍者的世界里,忍者根据其经验和职责被划分为不同等级:

  • 忍者学校学生
  • 下忍
  • 中忍
  • 上忍
  • 暗部

那么,这个忍者等级体系如何与测试金字塔对应呢?测试金字塔模型大约在2009年由Mike Cohn提出并推广。本质上,它是一个用于对自动化测试进行分类的模型,旨在实现更好的测试覆盖率、提升软件交付性能,并最终提高软件质量。该金字塔由三个主要层次构成:

  • 单元测试
  • 集成测试
  • 端到端(E2E)测试

现在,让我们借助《火影忍者》中的忍者等级作为隐喻,来审视测试金字塔的每一层。


单元测试 = 忍者学校学生与下忍

忍者学校学生是正在受训的孩子,尚未成为正式忍者。他们学习基础,如查克拉控制、村规、团队合作以及变身术、替身术、分身术等基本忍术。而下忍则是刚毕业的新晋忍者,开始佩戴护额并执行简单的任务,通常是D级或C级。他们在上忍的指导下以小队形式行动,专注于积累经验、遵守纪律和巩固基本技能。

故事初期的鸣人

在软件测试中,单元测试与这些初级忍者等级非常相似。就像下忍需要熟练掌握基础忍术一样,单元测试也需要覆盖所有基础功能。它们测试小而独立的代码片段,例如函数或方法。单个单元测试可能看似简单,但组合起来却能带来重要价值、快速反馈和广泛测试覆盖率。就像下忍的任务一样,它们数量众多、轻量级,并且构成了整个测试策略的基础。


集成测试 = 中忍

中忍是中级忍者,他们不仅展示战斗能力,还展现出智慧、领导力和情感成熟度。通常通过中忍考试晋升,他们能够领导小队、做出战术决策并执行更复杂的C级或B级任务。他们是村子运作的中坚力量。

中忍考试名场面:我爱罗vs李洛克

类似地,集成测试验证系统不同组件之间的交互。就像中忍需要协调小队作战一样,集成测试正是验证组件间协作的关键。它们测试服务间通信、数据库或外部API的调用。这些测试比单元测试执行时间更长,需要更多设置,但它们对于确保应用程序各个部分能够正确协同工作至关重要。如同中忍的任务,集成测试的数量比单元测试少,但它们仍然是金字塔中关键的一层。


端到端测试 = 上忍

上忍是经验丰富、能力全面的忍者,能够独立处理高风险的A级或S级任务,并指导下一代忍者。他们拥有深厚的技术知识、出色的查克拉控制能力和高超的战术技能。

精英上忍团队

端到端(E2E)测试与上忍的角色非常契合。这些测试模拟真实用户行为,验证完整的系统流程,例如登录过程或结账流程。虽然它们能提供很高的信心度,但也更复杂、执行更慢、维护成本更高。因此,应该谨慎使用,就像上忍只被委派执行最关键的任务一样。


手动测试 = 影

是一个村子中最强大、最受尊敬的忍者,负责战略、政治和军事决策,并在危机时刻保护村庄。影拥有丰富的经验,统管所有其他等级的忍者。

第七代火影漩涡鸣人

在这个类比中,影代表着手动测试。尽管测试金字塔侧重于自动化,但手动测试仍然必不可少。没有它,整个测试策略可能会失败。手动测试帮助质量保障工程师和开发者决定哪些应该自动化、在哪个层级自动化,以及哪些更适合保持非自动化。它们可以避免低价值的自动化,并确保测试工作始终与业务目标保持一致。


暗部 = 非功能性测试

暗部并非传统等级,而是一支直接听命于影的特殊部队。其成员执行敏感任务,如间谍活动、渗透和保护关键信息,行事隐秘,常常不为人知。

暗部时期的卡卡西

这个角色与非功能性测试(如性能、负载和安全测试)非常契合。这些测试关注系统的技术特性而非业务功能。虽然它们可能不像其他测试那样频繁执行,但其影响重大,因为它们直接关系到系统的稳定性、可靠性和可信度。


结论

总而言之,正如一个健全的忍者村需要坚实可靠的下忍基础、能力出众的中忍、精英级别的上忍、英明的影的领导以及专业的暗部力量一样,一个健康的测试策略也依赖于稳固的单元测试基础,辅以集成测试、少量的端到端测试、有指导意义的手动测试以及必不可少的非功能性验证。当这些元素得到良好平衡时,团队就能够有信心、高质量且可持续地交付软件。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消