最近公司做保险项目的测试,发现保险测试是一件非常繁琐的事情,特别是保费那块。
遇到的保险场景是这样的:要测一款重疾险,不同年龄段的人保费会不相同,有或是没有社保,保费不相同,还有各种附加险选择买或者是不买,最终保费也会不一样。如果0—70岁的人都能购买,10年为一个年龄段,那就有7个年龄段。无论你有多好的等价类划分,如果纯手工测试的话工作量大,而且并不能构造所有的输入数据,当然也就不能得到准确的测试结果。于是我想到了用python来生成大量的测试数据去测试接口,然后把测试结果数据保存到excel文档中,最后只需要比对需求文档上的保费数值和测试结果数据的值是不是一样的就可以了。
主代码是在run.py运行的,每个附加险定义分别为一个字段,有无社保定义一个字段,值都为列表,可以取0或者1,1表示有该附加险或者有社保,0表示无该附加险或者无社保。
![a2b7120869c16d78bd4f9a823a001ff8.png](https://i-blog.csdnimg.cn/blog_migrate/bfa0fe1f6a6d5cc91ba1f3294bc184c7.jpeg)
run.py
run.py里面的代码不复杂,其实就是把读取excel表格中的年龄,然后把全部输入数据进行循环,生成各种排列组合后向接口发送多个请求,得到的每个测试结果,再全部保存到excel结果表格中。
![7d69047fdc534229915037f52630da90.png](https://i-blog.csdnimg.cn/blog_migrate/a1f04c9a293869ce78f40f4457d855be.jpeg)
run.py
下图1.1为需要读取的excel数据,包含年龄、身份号。excel表格放在data目录下。
![bccc63dbd674b0d5d5d8f942376cd3e5.png](https://i-blog.csdnimg.cn/blog_migrate/398fcadde7b525cd13267828712b8e45.jpeg)
1.1需要读取的数据
读取和保存excel代码见下图exelUtil.py,推荐大家使用pyexcel模块。它能够读取excel中的内容为列表,让处理excel就像处理列表一样简单。
![ea89a6b987f2db0dd9d8c11f243c45ec.png](https://i-blog.csdnimg.cn/blog_migrate/7e09280f98486da55e0d713631a3775e.jpeg)
execlUtil.py
下图1.2为测试结果,第一行为年龄,下面的列为各种排列组合下的保费结果。
![06f1ca120e1a7b33197aaa6539b40e9a.png](https://i-blog.csdnimg.cn/blog_migrate/450189a7b5bc2d384872e9411d76367e.jpeg)
1.2测试结果
![aa6e7e77e12b77b385f42c2223ae8bc2.png](https://i-blog.csdnimg.cn/blog_migrate/dfeff0a958c0d453bfa597c17f07ef18.jpeg)
保存测试结果部分代码
发送请求,在send.py
![0caec5c59eb1402b23c64b4e4b8c53c8.png](https://i-blog.csdnimg.cn/blog_migrate/7622d650fa89f4d1c6e5f413a2fe7358.jpeg)
send.py截图