抽奖概率相关的测试方法

抽奖活动的中奖事件是个随机事件,用大量的手动测试来检验中奖概率的正确性显然不可取,除了手工对中奖流程,后续处理的校验外,可以和开发配合,使用接口来测试中奖的概率是否符合预期的设计要求。

  1.思路:

  (1)开发提供中奖的接口,get该接口(此处需要向开发详细了解),每次随机返回以下四个结果:

  0--表示未抽中

  1--表示抽中1等奖

  2--表示抽中2等奖

  3--表示抽中3等奖

  (2)使用for循环,多次请求该接口,并使用testNG框架中自带的设置多次执行方法和处理多线程的方法,使多个方法并发运行,缩短执行时间,来模拟大数据量下的中奖事件。

  (3)对(2)中的中奖事件进行数据处理,获取各类中奖事件的概率。

  2.代码

  用例代码LotteryTestCase.java 如下:




3.结果

  在testNG.xml中设置用例的路径,执行即可。综上可看,请求接口1000次,每个方法执行100次请求,执行10个该方法,每个方法的结果如下:

  [TestNG] Running:

  D:\krplus-api-test\testcase\testcase\Lottery\tesNG.XML

  -------中奖次数--------

  中奖失败的次数为16

  中一等奖的次数为2

  中二等奖的次数为9

  中三等奖的次数为73

  -------中奖概率--------

  中奖失败的概率为0.16

  中一等奖的概率为0.02

  中二等奖的概率为0.09

  中三等奖的概率为0.73

  之后和设计中的概率进行对比即可!

  在实践过程中的确发现通过这种接口测试可以发现概率和接口方面的问题:

  1.第一次中奖时,即使运行1000次,一等奖中奖次数也是0,后来是因为开发重写代码不完整所致

  2.运行时抛异常,运行单个接口发现有问题,如下:



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,035评论 6 13
  • 感谢原作者的奉献,原作者博客地址:http://blog.csdn.net/zhu_ai_xin_520/arti...
    狼孩阅读 14,793评论 1 35
  • 一般的抽奖管理功能,基本是在一个奖池中放一堆奖品,分别给它们设置不同的数量和概率,在奖品没有发完的情况下,概...
    wwking02阅读 9,506评论 1 4
  • 一般的抽奖管理功能,基本是在一个奖池中放一堆奖品,分别给它们设置不同的数量和概率,在奖品没有发完的情况下,...
    wwking阅读 13,488评论 3 16
  • 白雪 底特律的冬天漫长得令人绝望,十一月的气温接近零下二十度,走出哈德利堡的长廊,推开沉重的玻璃门,徐穆将白色羊毛...
    小猫啃芒果阅读 3,262评论 1 0

友情链接更多精彩内容