如何通过代码分析精简用例(2)

上一次分享的如何通过代码分析精简用例主要是针对WEB侧逻辑复用,从而精简冗余用例的案例。

本次的案例分享是希望通过对SVR代码的分析,完成用例执行的精简。

测试需求:

每日每工号B2C电话拉取画像限制为200次

这种类似频次的需求,在很多项目中都会遇到,它们共通的特点是实际操作起来比较复杂,在有限的时间里可能难以覆盖。对于这类需求比较好的方式是单元测试+全流程测试的组合,关于单元测试的方法在我曾经的乱弹单元测试中有介绍,本次介绍的是手工测试如何通过代码分析来简化。

代码分析:

涉及SVR:画像SVR(cc_customer_data_svr) 风控SVR(cc_risk_manage_svr)

不想看下面的分析过程的可以直接看上图。

  1. 画像SVR在拉取画像前会请求风控SVR,检查画像拉取配额信息customer_profile_processor.cpp
  2. 风控SVR首先拉取用户画像配额配置(如:200次),接下来通过读取redis获取用户画像使用次数,判断使用次数是否小于配额,如果不小于配额则返回没有配额,否则自增使用次数写入redis后返回。

check_user_profile_quota_processor.cpp

cc_risk_manage_svr.cpp

  1. 画像SVR通过返回的配额信息,决定是否拉取画像。

customer_profile_processor.cpp

用例精简:

拿两个用例来举例:

登录工号A,拨打B2C网络电话同一号码n次,同一天内尝试再次拨打

登录工号A,拨打B2C网络电话不同号码n次,同一天内尝试再次拨打

通过这两个用例我们可以得出写用例同学是希望校验同一号码是否会被“去重”。

通过代码分析后,我们的执行则可以变成:

(前提:拨打一次B2C后),拨打同一号码,用户画像使用次数是否增加。

(前提:拨打一次B2C后),拨打不同号码,用户画像使用次数是否增加。

用户画像使用次数的查询,如果直接去通过命令行去查redis是比较麻烦的,从代码里我们可以看到开发其实是把查询结果写进了日志。我们可以通过日志比较直观的看到查询结果。

DEBUG162: kfuin=2852199351, kfext=2852997014, quota result=0, use=5, max=5

至此,我们就完成了从耗时较长的多次电话拨打转变为拨打少量电话检查日志,从而完成了用例执行的精简。

总结

对于一些共通的需求和设计保持敏感,保持测试的完备性的同时提升测试效率。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏针针小站

【Soft】Metro For Steam – Steam Metro UI

26930
来自专栏葡萄城控件技术团队

是什么让C#成为最值得学习的编程语言

随着 Web、iOS、Android、智能设备的流行,新的编程语言纷纷涌现并表现不俗,如 Ruby,Python,Scala,Go,Node.js,Swift ...

29870
来自专栏角落的白板报

【52ABP实战教程】0.0.0 -- ASP.NET CORE系列介绍

为什么是.net core? 记得在半年前.NET CORE刚刚出了1.0,当时有朋友推荐我使用的时候,个人觉得还不成熟。 现在.NET Core已经到了2....

41080
来自专栏ATYUN订阅号

微软为OneDrive和SharePoint带来了自动转录和计算机视觉功能

微软今天宣布计划向使用OneDrive和SharePoint的Microsoft 365客户推出一系列AI服务。今年下半年,用户将能够从所有音频和视频文件中获得...

9330
来自专栏张善友的专栏

如何为Windows Phone 7认证考试70-599做准备

Windows Phone 7的考试将于7月14日开始提供。 彼得对库恩Silverlight Show上已发布了有关如何准备Windows Phone 7认证...

18350
来自专栏小狼的世界

Silverlight:正式进入2.0

2008年10月30号,微软正式发布了Silverlight为VS 2008的SP1补丁,我们可以从这里下载:

6420
来自专栏MelonTeam专栏

WWDC2017小结

WWDC 2017 硬件 iMac Pro ? 这款深空灰色的设备被称为至今为止的最强 Mac,它将搭载最高 18 核心的 Intel Xeon 处理器和 AM...

20490
来自专栏张善友的专栏

针对构架师的.NET 3.0介绍

微软.NET的最新版本,.NET Framework 3.0,为开发下一代业务解决方案软件系统开启了新的可能。它的设计目标是:提高生产力,降低基础设施复杂性,提...

18360
来自专栏程序员八阿哥

年薪20万Python工程师进阶(2):Python 资源 + 经典练手项目

Python 越来越火爆,最近自己也在学习。整理下一些 Python 资料,和练手的项目。希望对你学习 Python 有所帮助。

13110
来自专栏云计算D1net

XP“退休“ 用户该选择Win 7还是Win 8?

? 微软为Windows XP提供支持已经13年了,4月8日后,Windows XP的技术支持将停止,包括保护PC的自动升级等,同时微软也将停止在其官...

32230

扫码关注云+社区

领取腾讯云代金券