前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何通过代码分析精简用例(2)

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

原创
作者头像
章志青
修改2017-08-31 09:32:09
7840
修改2017-08-31 09:32:09
举报
文章被收录于专栏:章志青的专栏章志青的专栏

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

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

测试需求:

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

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

代码分析:

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

[1504062450223_6967_1504062450403.png]
[1504062450223_6967_1504062450403.png]

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

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

check_user_profile_quota_processor.cpp

[1504062474266_6268_1504062474634.png]
[1504062474266_6268_1504062474634.png]

cc_risk_manage_svr.cpp

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

customer_profile_processor.cpp

[1504062498587_3645_1504062498834.png]
[1504062498587_3645_1504062498834.png]

用例精简:

拿两个用例来举例:

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

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

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

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

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

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

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

[1504062515650_4728_1504062515839.png]
[1504062515650_4728_1504062515839.png]

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

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

总结

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 测试需求:
  • 代码分析:
  • 总结
相关产品与服务
腾讯云代码分析
腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档