• 2
  • 3
分享
  • 【原创】测试用例设计过程中长期存在的两个问题
  • sylan215 2019-08-22 13:40:39 字数 1398 阅读 1606 收藏 3

在写测试用例的时候是否有这些困扰:

测试用例写了很多条,感觉有冗余,要精简又无从下手;
测试用例写了很多条,但是总感觉还少了点啥;

如果你不能同意更多,就请继续看看我们是怎么解决这两个问题的。

一、用例条数过多

很久之前,我有专门制定过测试用例改进计划,两步走策略。

第一步,保证全面性,能考虑到的测试点都进行罗列,尽量全的罗列,保证没有遗漏。

第二步,在全面性有保障的前提下,适当进行用例的删减,保证用例的针对性。

但是随着计划的推进,我们就一直在处在第一步的边缘,迟迟无法跨越到第二步。

主要原因有两个:

一个是和开发人员的持续信任感没有建立,特别是测试过程中如果发现一些提测说明中没有提到的修改点的问题时,这种不信任感尤其强烈,既然是这样的现状,就说明我们用作测试用例编写范围判断的依据已经不可靠,当然就没法确定说哪些用例是可以删减的了。

另一个是作为测试的责任心使然,宁可自己多跑一些场景,多做一些回归,也绝不让问题漏出,那么每删除一条用例,在不确定修改内容的情况下,就增加了漏出问题的确定性,大家当然就很忐忑了。

但是一直这样持续,终究不是办法,有问题还是需要解决的。

现在我们的解决方案是从自动化着手,不敢精简用例的核心原因是怕漏掉测试点,那么我们就借助自动化来保证回归范围的覆盖,手工去保证本次明确修改范围的覆盖,在不减少覆盖率的情况下,去解决因为测试用例过多而造成的人力损耗。

至于自动化为什么没有早就完成覆盖,主要是实现过程中碰到了各种各样的问题,这是另一个比较大的话题了,以后详聊。

二、针对性用例偏少

上一个问题说的用例条数过多,主要指的是在全面性有保障的情况下的过多,目前很多人在全面性的保证上都还存在问题,所以更不敢贸然的推进用例精简了。

所以这里说的针对性用例偏少,区分了如下两种情况。

一个是用例全面性本来就不够,特别是一些明确提测修改影响范围的点的用例覆盖率不够,而这里面绝大部分是异常场景的覆盖度欠缺,还有一部分是没有区分哪些是测试重点,一味在自己熟悉的逻辑上增加用例,而忽略了自己不熟悉但是应该是重点的逻辑覆盖,关注点的偏差就体现为测试点的偏差。

另一个是全面性足够的情况下,没有针对性的做深度挖掘的测试,比如新增一个通用接口,我们就找个调用方去做下联调测试,没有针对接口做接口逻辑层的测试,比如新调用了一个系统 API,我们只停留在知道这个 API 名称的程度,没有去考虑这个 API 的特性,和针对性的测试点等等。

目前用例评审过程中,对于全面性的关注偏多,对于针对性的关注偏少。

为了解决关注点偏差的问题,我们建议编写测试用例的同学,从需求和逻辑实现本身出发去考虑用例设计,暂时搁置用例执行的问题,只需要考虑我们的测试目的,测试点是测试目的的显式表述。

为了解决深入度不够的问题,我们强调分层测试的概念,所有涉及逻辑实现的地方,都引导大家考虑逻辑层和数据层的测试点,进一步做深度挖掘。

目前来看,这两方面都还略有成效,但这个不像自动化是一个显式可见的效果,这个需要测试人员的能力到了一定的程度才能更好的发挥效用,所以目前处理第一个问题的优先级最高。

以上,通过自己的测试实践和对外界的部分观察,针对测试用例设计过程中发现的两个问题进行了简单的复盘,不知道你在实际项目中是否碰到了类似的问题,欢迎留言说说你是怎么解决的。

当然,如果你认同我的观点,欢迎分享文章到朋友圈 + 点个「在看」让更多人看到,谢谢。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1.2.计算机网络1.2.1.计算机通信网的组成计算机网络由通信子网和资源子网组成。其中通信子网负责数据的无差错和有序传递,其处理功能包括差错控制、流量控制、路由选择、网络互连等。其中资源子网:是计算机通信的本地系统环境,包括主机、终端和应用程序等,资源子网的主要功能是用户资源配置、数据的处理和管理、软件和硬件共享以及负载均衡等。计算机通信网就是一个由通信子网承载的、传输和共享资源子网的各类信息的系统。1.2.2.通信协议为了完成计算机之间有序的信息交换,提出了通信协议的概念,其定义是相互通信的双方(或多方)对如何进行信息交换所必须遵守的一整套规则。协议涉及到三个要素,分别为:语法:语法是用户...
            13 15 3178
            分享
          • app测试中,随着功能的不断增多,每次发版本的时候需要回归内容就越来越多,回归需要花费的时间从1小时扩大到4小时,8小时甚至多天。为了减少投入回归的时间成本,人力成本,无数的测试人员开始尝试UI自动化。其实无论是web UI还是app UI 自动化都是存在一定的共性内容。就是通过控件的位置、名称、属性等获取控件对象,并且通过操作控件对象或者坐标来模拟用户的操作。它包括三个核心部分:1、动作执行动作执行需要先有动作,然后再进行执行,动作的获取有两种方式,一种是通过录制脚本,主要是记录空间的位置坐标和发生的事件,通过回放脚本完成测试事件,像airtest框架就提供比较方便的录制回放功能。...
            0 0 570
            分享
          •   前言  在做web自动化的过程中,相信用到最多的浏览器就是chrome浏览器,那么在chrome中有许多关于selenium的配置内容,这个你知道吗?  单个浏览器调试  在编写自动化用例的过程中,经常会进行调式代码,正常情况下,当我们在写完用例,执行代码就会给我们重新打开一个浏览器,然后在进行一系列的操作。如果我们的需要调式的地方比较容易做到,这个方法就很容易,那如果我们需要调试的位置需要做很多前置操作,那么就浪费我们的时间。这个时候我们就可以通过打开浏览器调试功能,然后让浏览器直接在当前的页面进行debug。  打开浏览器调试需要进行以下操作:  1.将chrome浏览器安装地址配置到...
            14 14 1988
            分享
          •   之前小编有和大家讲到测试思维,今天来讲一下思维的直接体现是什么——测试用例。  测试用例包括的元素:功能/模块,测试标题,前置条件,优先级,测试步骤,预期结果。这些是用例中必须有的字段,除了测试标题,其他都很好写的。下面重点讲解测试标题。测试标题也叫测试点,测试是分析设计的结果。  分析是分析需求,分系统,分析业务,甚至分行业。这样才能知道测试对象是什么行业的什么系统,有什么功能,哪些是核心,哪些是非核心。  设计是设计测试数据用来执行的。这个数据不用十分具体,也包括不同的测试条件和场景。  测试点形成方法有:等价类,边界值,流程图,场景法,因果图,错误推测法。这几个是基础,也是非常常用的...
            0 0 701
            分享
          •   据报道,当地时间周一,Twitter首席执行官埃隆·马斯克将公司网站上的蓝鸟图标换成了数字货币标志柴犬的图片,此举推动加密货币狗狗币的价格飙升超过30%。  上周五,Twitter和马斯克的律师要求联邦法官驳回一项价值2580亿美元的诉讼,该诉讼于2022年指控这位亿万富翁操纵狗狗币价格,使其上涨超过36000%。  Twitter的标志被改成柴犬后,马斯克在Twitter上向他的1.335亿粉丝分享了一个这一变化的表情包。这个柴犬图片只会出现在一些Twitter用户面前,其中包括网站上的用户。  目前,Twitter没有回应置评请求。  几年前马斯克就开始兜售狗狗币。他定期在推文上谈论这...
            0 0 589
            分享
      • 51testing软件测试圈微信