sylan215 测试用例设计过程中长期存在的两个问题

sylan215 · 2019年08月22日 · 最后由 zhao33333 回复于 2019年08月29日 · 4170 次阅读

之前在文章《需求评审之实战演练》中,我们讨论过需求的合理性和全面性问题,其实测试用例的编写也需要考虑类似的全面性和针对性。

现在我们来一起回想下,在写测试用例的时候是否有这些困扰:
测试用例写了很多条,感觉有冗余,要精简又无从下手;
测试用例写了很多条,但是总感觉还少了点啥;

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

一、用例条数过多

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

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

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

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

主要原因有两个:

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

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

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

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

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

二、针对性用例偏少

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

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

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

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

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

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

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

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

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

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

共收到 13 条回复 时间 点赞

快上榜了,天道酬勤

simple 回复

欧耶,谢大佬支持

最近在做一个项目的接口自动化,开发相关的文档 (接口文档,设计文档) 极度不完善,研发支持力度低,最好没办法,只能通过看代码去理解接口逻辑、读写的库表、缓存,是否有依赖其他服务接口等等,然后设计用例,进度很缓慢。。但覆盖率应该是挺高的。

重来看雨 回复

能有代码权限去获取自己需要的信息,这是最好的支持了,很给力

sylan215 回复

代码权限这个不是正常操作?构建持续集成也需要 checkout 代码吖。。

重来看雨 回复

这个……部分公司会开放这个权限,但不是所有公司都是这样的

sylan215 回复

好吧,可能我需要做 CI/CD,代码权限是有的😂

重来看雨 回复

好好发挥,多好的机会不要浪费了✊

sylan215 回复

恩,一步步的补充好用例,一个个服务接进来,价值就能体现了,研测流程也能随之改变

为啥是用例设计呢??为啥不提升到测试设计来做为切入口??你说到开发不信任感问题,是什么原因导致的不信任??是测试专业性还是工作导致他的不信任感?最后你们选择了自动化的方案来解决这个问题,我个人觉得方向是错误的

疯子 回复

前两个问题没看懂😅
第二三个问题,目前我们的情况是这样的:「特别是测试过程中如果发现一些提测说明中没有提到的修改点的问题时」

欢迎提供好的建议供参考,多谢多谢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册