如何高效能的设计一个测试用例?

前言:若是问一个问题,如何设计测试用例,恐怕会贻笑大方,由于刚入测试这一行的同窗也都能噼里啪啦说上十分钟不歇气。可是若是追问下去,好比项目快速迭代时怎样让测试用例保持有效新鲜?什么是更高效的设计方式?恐怕能回答上来的人很少了。
在现在的软件迭代过程当中,​在测试用例上投入的大量时间和亟需提高的研发效率正在成为日益凸显的巨大矛盾。如何在二者之间取得平衡,笔者总结了敏捷化设计测试用例的十条建议,认为测试用例应该具有如下特色:数据库

1、独立性微信

所谓独立性是指每组(个)测试用例能够单独维护、执行,不影响其余的测试用例组,若是测试用例之间是强耦合的,考虑对它们进行合并。这样设计的好处是当迭代出现变动时,能够对测试用例组进行增删改的操做而不相互影响。例如一些操做是针对登陆用户的,那么登陆相关的用例和这些操做用例就是强耦合的。或者在一个场景中,存在上下文数据的传递关系,必须组合使用,可是单独任何一个步骤拿出去都是不可执行的,那么这种场景就须要设计成一个完整的测试用例,由于每一个步骤都是不可分割的。工具

2、易用性测试

易用性顾名思义就是测试用例应该是尽可能简洁,同时又要易于理解的。这样描述听起来有些简单,可是实际操做起来并不容易把握尺度。举例来讲,按传统方法设计的一个测试用例,具有如下几个要素,title(新注册用户进首页领取首次奖励)、priorityp1)、pre-step(新注册用户)、step1、用户打开App2、用户进入首页;3、点击蒙层;4、点击领取新人奖励按钮;5、领取成功并展现成功图片)、result(领取成功且展现成功图片)、description(新人首次进入页面才会展现蒙层图片)等,这还不包括一些“非必要”(注1)元素例如ownerid,这样一个测试用例从构思到完成大概须要十分钟,因此每小时大约可以完成六个用例设计,按天天八小时工做制计算天天能够设计四十八个测试用例。这样的效率在现在的研发迭代是难以接受的高成本,所以许多公司引入了思惟导图(注2)设计测试用例的方法,这种方法再也不强调格式,而是强调自由发散,所以大部分测试用例相似于check list,例如上文的测试用例能够用以下的一句话测试用例来代替:“新注册用户首次进入主页则展现引导蒙层,手指点击屏幕任何地方便可领取奖励,且弹窗展现成功图片”,这样的用例就大大提升了用例的设计速度,大概完成一个须要两分钟,因此每小时可以完成三十个用例设计,天天就能完成二百四十个用例。较传统方法提升了四倍效率。优化

3、有效性spa

测试用例的有效性是有几个要点能够阐述的。首先测试用例不是空想得来,必须来源于真实的产品需求,不然就是无效的测试用例;其次测试用例应该是对产品内核的充分理解,不该该是对产品文档的复述,不然就是无效的测试用例,不少初级的测试人员就是辛苦的搬运工,把产品经理的文档拆解成一条条再搬运到测试用例的系统,你不能说它是错误的(wrong),可是其实它就是无效的(no use);而后每组测试用例对应一个独立产品模块,产品模块变动触发用例变动(新增、修改、删除),若是不能跟随变化,就是无效的测试用例,这一点尤其常见,大多数国内公司的测试人员天天都疲于设计新的测试用例,可是数据库中堆积了数万数十万的废弃测试用例无人问津。设计

4、进化性图片

建议测试人员尽可能早的交付一个测试用例版本,并随着客户需求的变化而层层递进,这个最先的版本必定是较为粗犷和简约的,可是它为未来的细化设定了“锚点”(注3),后续的设计工做都将由这些锚点展开。测试人员应该按期反思和回顾测试用例的设计,时间周期上能够跟随迭代,不断的对譬如颗粒度、数据流向、场景,进而调整设计策略。同理,因为测试用例的设计是基于需求的,因此测试用例设计绝对不是一次性工做,所以须要“欣然面对需求变化”,跟随迭代不断优化。ip

 

最后,根据以上内容,我提炼出测试用例的十条设计建议,做为设计测试用例的建议原则,供你们参考:开发

  1. 每组测试用例 能够单独维护、执行,不影响其余的测试用例组;

  2. 若是测试用例之间是强耦合的,考虑对它们进行合并;

  3. 每组测试用例之间能够传递数据、状态;

  4. 测试用例应该是尽可能简洁,易于理解的;

  5. 好的测试用例应该是对产品内核的充分理解,不该该是对产品文档的复述;

  6. 每组测试用例对应一个独立产品模块,产品模块变动触发用例变动(新增、修改、删除);

  7. 尽可能早的交付一个测试用例版本,并随着客户需求的变化而层层递进;

  8. 测试用例的设计应该是基于需求的,因此不是一次性工做,所以须要“欣然面对需求变化”,跟随迭代不断优化;

  9. 应该按期反思和回顾测试用例的设计,譬如颗粒度、数据流向、场景,进而调整设计策略;

  10. 邀请开发、产品和其余团队的测试参加测试用例评审,避免我的盲区;

 

最后的最后,在此感谢您的阅读,指望对您有些许的帮助。

 

1:非必要,是指不影响阅读理解的必要因素。

2:思惟导图,the mind map,也俗称为脑图,是一种图形化的发散式思惟工具。

3:锚点,anchor又叫作锚记,能够帮助人们迅速定位,找到须要访问的位置。

 

更多原创测试技术文章请访问微信公众号 :三国测,敬请扫码关注我的的微信号,感谢!

相关文章
相关标签/搜索