测试人世纪难题:如何写“好”测试用例?

发表于:2022-9-01 09:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余冬菊    来源:51Testing软件测试网原创

  对于软件测试人员来说,有几大核心能力:
  测试策略设计能力
  测试用例设计能力
  分析问题能力
  沟通协调能力
  自动化技术能力
  这6大核心能力中,最基本的一个核心能力就是测试设计能力。所以我们今天先来谈谈怎么去培养我们的测试设计能力,从而去提升我们的测试思维。
  测试用例设计能力指的是一种通用的放之四海而皆准的能力,拥有这个能力后,不仅在你熟悉的业务领域,而且在面对任何系统时都能熟练地把测试设计方法和具体业务有机结合,从而输出优秀的测试用例。
  当然在这个过程中还考验你的总结归纳能力,因为很多用例场景或者说一些真正容易漏掉的场景是通过多积累,多归纳才能整理出来的。
  有了这个总结归纳,你才能慢慢由点到线到面地形成体系化的用例设计思维。
  什么是好的测试用例
  借用茹炳晟老师“池塘捕鱼”的一个例子来给大家分享一下。
  如果把被测试软件看作一个池塘,软件缺陷是池塘中的鱼。“好的”测试用例集就是一张能够覆盖整个池塘的大渔网,只要池塘里有鱼,这个大渔网就一定能够把鱼给捞出来。
  如果渔网本身质量是合格的话,那么捞不到鱼,就证明池塘中没有鱼,而渔网的好坏与池塘中是否有鱼无关。如果渔网过小,就可能会产生“漏网之鱼”。
  对于测试用例其实也是同样的道理,“好的”测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关。
  希望借这个例子来帮大家理解一下什么是好的测试用例。
  那一个“好的”测试用例必须具备哪些特征?
  首先它肯定是完备的集合,能够完全覆盖测试需求。
  这个完备性,就可以用MECE分析法来做,通过把一个整体划分成多个区域,这些区域是相互独立的,且是能够完全穷尽这个整体的。也就是说每块区域不要有交集,相当于减少了测试用例的冗余,同时区域间又不能有裂缝(也就是术语中的漏测)。
  另外,根据项目的情况,好的测试用例还有一些扩展的特性,有些项目这个测试用例并不仅仅是自己来看的,还需要接下来的验收测试。
  可执行性:别人拿着你的用例能够很通畅地把你的用例验证出来。
  可维护性:可维护性其实就是在说测试用例管理相关的,有些项目组的用例是放在线上的,那这份用例就可能需要别人来维护你的用例。
  兼容性:这条用例最好是兼容不同环境的,就比如不同的环境下可能测试步骤有一些细微的差别,或者说由于一些数据和配置的差别,实际的业务结果可能不太一样,但是又是可以找出一些共同的地方的,那就需要总结一下,或者加些字段进行区分来做到用例兼容性,避免维护多份用例。
  如何写好测试用例
  我认为主要是分为几大块,这里总结了几个词来代表不同的级别:做得到、做到好、做到妙,层层递进。
本文源自第六十七期《51测试天地》
《如何写“好”测试用例》一文
查看更多精彩内容,请点击下载:
  版权声明:本文出自《51测试天地》第六十七期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号