python自动化测试实例—保险测试场景中的应用

liftword4个月前 (02-08)技术文章30

最近公司做保险项目的测试,发现保险测试是一件非常繁琐的事情,特别是保费那块。

遇到的保险场景是这样的:要测一款重疾险,不同年龄段的人保费会不相同,有或是没有社保,保费不相同,还有各种附加险选择买或者是不买,最终保费也会不一样。如果0—70岁的人都能购买,10年为一个年龄段,那就有7个年龄段。无论你有多好的等价类划分,如果纯手工测试的话工作量大,而且并不能构造所有的输入数据,当然也就不能得到准确的测试结果。于是我想到了用python来生成大量的测试数据去测试接口,然后把测试结果数据保存到excel文档中,最后只需要比对需求文档上的保费数值和测试结果数据的值是不是一样的就可以了。

主代码是在run.py运行的,每个附加险定义分别为一个字段,有无社保定义一个字段,值都为列表,可以取0或者1,1表示有该附加险或者有社保,0表示无该附加险或者无社保。

?run.py里面的代码不复杂,其实就是把读取excel表格中的年龄,然后把全部输入数据进行循环,生成各种排列组合后向接口发送多个请求,得到的每个测试结果,再全部保存到excel结果表格中。

下图1.1为需要读取的excel数据,包含年龄、身份号。excel表格放在data目录下。

读取和保存excel代码见下图exelUtil.py,推荐大家使用pyexcel模块。它能够读取excel中的内容为列表,让处理excel就像处理列表一样简单。

下图1.2为测试结果,第一行为年龄,下面的列为各种排列组合下的保费结果。


发送请求,在send.py


相关文章

概率分布与编程:二项式分布、泊松分布的原理,Python3如何实现

在说二项式分布之前,先来复习一下排列组合的概念,尤其是组合(Combination) C。排列的定义:从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个不同的元素按照一定的顺序排成一列,叫做...

先Mark后用!8分钟读懂 Python 性能优化

从本文总结了Python开发时,遇到的性能优化问题的定位和解决。概述:性能优化的原则——优化需要优化的部分。性能优化的一般步骤:首先,让你的程序跑起来结果一切正常。然后,运行这个结果正常的代码,看看它...

Python常用算法学习(7) 动态规划,回溯法(原理+代码)-最全总结

引言:从斐波那契数列看动态规划  斐波那契数列:Fn = Fn-1 + Fn-2 ( n = 1,2 fib(1) = fib(2) = 1)练习:使用递归和非递归的方法来求解斐波那契数列的第 n 项...

Python整数类型(int)详解_python中整数类型

整数就是没有小数部分的数字,Python 中的整数包括正整数、0 和负整数。有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小选用不同的...

python经典算法实践:回溯算法backtrack

回溯算法导读回溯法(back tracking)(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,...

2-1,0基础学Python之 break退出循环、 continue继续循环 多重循

用 for 循环或者 while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句。比如计算1至100的整数和,我们用while来实现:sum = 0 x = 1 while True...