有一个抽奖活动抽到一等奖的概率是万分之一,您知道怎么测试这个概率吗?
抽奖活动的中奖事件是个随机事件,用大量的手动测试来检验中奖概率的正确性显然不可取,除了手工对中奖流程,后续处理的校验外,可以和开发配合,使用接口来测试中奖的概率是否符合预期的设计要求。
1.思路:
(1)开发提供中奖的接口,get该接口(此处需要向开发详细了解),每次随机返回以下四个结果:
0--表示未抽中
1--表示抽中1等奖
2--表示抽中2等奖
3--表示抽中3等奖
(2)使用for循环,多次请求该接口,并使用testNG框架中自带的设置多次执行方法和处理多线程的方法,使多个方法并发运行,缩短执行时间,来模拟大数据量下的中奖事件。
(3)对(2)中的中奖事件进行数据处理,获取各类中奖事件的概率。
2.代码
用例代码 LotteryTestCase.java 如下:
package com.krplus.api.autotest.testcase; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.testng.annotat