参数化建模 Python_参数化建模和直接建模的区别

Python - 参数化
  • Step1:什么是参数化
  • 同一种测试方法根据不同的参数,输出相同的结果(或结果的不同只体现为输出的数据不同时),可以把测试数据组织起来用不同的测试数据调用相同的测试方法,该方法称为参数化。
  • 参数化测试是一种“数据驱动测试",使用不同的参数重复执行同一个测试方法,以覆盖所有可能的预期分支的结果。可以将测试数据放入文件、数据库或者外部介质中,再由测试程序读取,使测试数据与代码分离。
  • Step2:安装paramunittest库

在cmd中输入pip install paramunittest安装

  • Step3:使用paramunittest库

paramunittest支持字典、元组、列表作为入参

@paramunittest.parametrized装饰器中可传入n个参数,表示设置n组测试数据,每组测试数据可包含n个值(本案例中设置3组测试数据,每组测试数据包含2个值)。参数为列表、元组时,元素数量必须与setParameters函数中形参数量一致;参数为字典时,key必须与setParameters函数中形参名称一致。

  • 结果:
  • 注意:如果将多组测试数据定义为一个变量,需要通过可变长度参数传值。测试数据的外层数据结构可使用列表或元组(本案例中使用列表),里层数据结构可传入字典、列表、元组,数据要求与传入多个参数时一致。
  • 结果:
  • Step4:接口参数化案例
  • 案例:测试添加发布会接口
  • 测试脚本将以start_time参数为例进行演示:
  • 1. 通过等价类、边界值等测试用例设计方法,分析start_time参数的测试点:

正向测试用例:1)用例执行的当前时间;2)当前时间至系统允许的最大时间范围内的任一正确时间;3)系统允许的最大时间

反向测试用例:1)错误的时间格式;2)错误的日期(如 ::);3)错误的时间(如 ::);4)时间为空;5)错误的字符;6)当前时间前一秒;7)系统允许的最大时间的后一秒

  • 2. 编写自动化脚本:

正向测试用例系统的响应是一致的,因此在写测试脚本时只需要写一个测试方法,通过参数化的方式覆盖即可。

  • 结果:

反向测试用例与正向测试用例的区别在于系统响应可能不一致,因此除测试数据外,还需要设置不同的预期结果。

结果:

原文链接:,转发请注明来源!