对于测试人员来说,最常打交道的就是测试用例了,测试用例的质量可以看出一定的技术写作水平和逻辑思维,今天邀请了测试大佬Monica来分享一下如何写好测试用例。
测试用例作为测试设计和测试执行的承载单位,在整个测试的过程中起着重要作用。绝大多数的测试人员,都会设计和编写测试用例,但是怎么样的测试用例,才是好的测试用例呢?怎样才能写好测试用例呢?
01
什么是好的测试用例
我们来看看测试用例包含什么?参考“软件测试文档标准(IEEE Std 829-1998)”中的描述,测试用例(Test Case) 由输入值、前提条件、预期结果和后置条件等元素组成,用来覆盖一定的测试目标及测试条件。
那么,测试用例的主要作用是什么?
测试用例是执行测试的依据,也是测试设计的文档化结果。一组测试用例需要覆盖各种合法和非法输入,覆盖测试范围内的各种操作和执行路径,保证产品的质量。
测试用例是越全越好吗?
测试用例的初衷是用来执行的,越多的用例其执行成本越高,后续维护成本也越多。因此少而精的测试用例,才是有价值的。
我们测试的目标之一就是尽可能多地发现缺陷,尽早地发现缺陷。好的测试用例可以发现更多的缺陷。缺陷发现的时间越早,其修复成本越低。
执行测试用例时如何发挥用例的作用?
一个好的测试用例,不同人执行的测试结果应该是一致的,这就是用例的有效性。好的用例被反复执行时,其测试结果应该是一样的,这就是用例的可重复性。
设计好的用例,其描述清晰、没有无用的步骤、并且可以分门别类地被整理和归纳。软件是不断发展变化的,新增需求和变更需求需要对用例进行经常性的增删改,所以好的用例,应该是易于维护的。
最后,总结一下好的测试用例应该符合以下几点:
1、包含输入值、前提条件、预期结果和后置条件等必要元素;
2、少而精的用例组合,覆盖测试范围内的合法和非法输入,保证产品的质量;
3、好的测试用例可以发现更多的缺陷;
4、不同人执行的测试结果是一致的;
5、被反复执行的测试结果是一致的;
6、描述清晰准确的;
7、易于归纳整理的;
8、易于维护的。
02
如何写好测试用例
第一步,分析需求文档和其他相关信息,明确测试范围,决定要测什么。除了小型项目,穷尽测试是不可行的。所以在早期划定测试范围,可以将好钢用在刀刃上,将有限的时间和资源聚焦在目标范围内。
我们要注意,测试范围要满足项目的目标,并尽可能的充分利用测试资源。如果系统不能完成客户的需求和期望,那测试和开发都是没有意义的。
第二步,列出测试点。在编写完整的测试用例之前,列出测试点,有助于我们理清测试思路,并且在后续测试用例评审过程中,可以辅助提高沟通和评审效率。
此时注意,测试点要少而精,便于组织和维护。
第三步,形成测试用例。测试点整理完成后,补充其它的测试用例要素,就可以形成测试用例,作为测试执行的依据。测试用例的步骤要足够清晰,但也不应包含无用的步骤用例分析图,保证不同的人执行时理解一致,反复执行时结果一致。
第四步,对测试用例进行评审。这一步有时会被忽略掉,但是用例的评审是必要的,这能保证项目各方对系统的理解一致,保证测试的质量。通过用例评审,测试设计人员的水平也能得到锻炼和提高。
第五步,对测试用例进行维护。通常情况下,系统是不断变化的,这就要求测试用例也应随之变化。不被维护的用例是死掉的,是一种浪费。
测试有一个“杀虫剂悖论”,是指采用同样的测试用例多次重复进行测试,最后将不再能够发现新的缺陷。为了克服这个问题,测试用例需要进行定期评审和维护用例分析图,不断增加新的测试用例来测试软件和系统的不同部分,从而发现潜在的更多的缺陷。
03
怎样执行好测试用例
执行用例的时候,如果不是自己写的用例,可以先通读用例,对所有的用例有个大致的了解。然后将这些用例按照自己的执行习惯,分批分类执行,有关联关系的可以放在一起执行,这样可以减少准备测试环境的时间。如果有多个测试环境,也可以并行执行,提高执行效率。
在执行用例的时候,多关注容易出现缺陷的点,例如边缘条件,模块之间的数据交互,尤其是不同模块之前对数据的限制是否不同,等等。
从用例的属性,到用例的诞生,再到用例的执行,如果您有什么想说的,可以在评论区留言,一起讨论。
欢迎小伙伴们投稿交流。
限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信: