浅谈测试过程中的数据构造
常见的测试数据构造方式及优缺点
一、ui层面
按照实际业务流程,直接在应用界面上操作,构造测试数据
略
通过编写ui自动化脚本,模拟通过应用界面上点击的方式构造大量测试数据
略
二、接口层面
通过借助接口测试工具或使用curl命令行的方式向接口发送请求,构造测试数据,请求内容可以通过浏览器的开发者工具(F12)或者其他抓包工具进行抓包,并复制为curl请求,然后导入到postman等接口测试工具或者直接打开cmd命令行执行curl命令完成请求。
eg. 将复制的curl请求导入到postman,根据需要修改请求数据并进行接口请求
eg. 对应的curl请求(部分关键信息已屏蔽,使用xxxx替代)
1curl -X POST "https://xxxx.com/api/70500201/ProcessAcceptApp/AddInspectionLot?appVersion=3.1.5960&hotUpdateVersion=3.38.538&platform=Android&_LogUserCode=17561729602&extKe ...
python面向对象
基本概念
类:一群有着相同属性和函数(方法)的对象(实例)的集合,也可以具象化的理解为是一群有着相似特征的事物的集合;用class来声明。
抽象类:是一种特殊的类,只能作为父类存在,一旦对象化(或叫实例化)就会报错;一般使用class Classname(metaclass=ABCMeta)来声明。
类的继承:子类继承父类,子类可以使用父类的属性和函数,同时子类可以有自己独特的属性和函数;子类在生成对象的时候(实例化时),是不会自动调用父类的构造函数的,必须在子类的构造函数中显示的调用父类的构造函数;继承的优势是减少重复代码,降低系统熵值(即复杂度)。
属性:用”self.属性名“来表示,通过构造函数传入;表示对象(实例)的某个静态特征。
私有属性:以__开头的属性,举例:self.__属性名,只能在类内部调用,类外部无法访问。
公有属性:和函数并列声明的属性,可以理解为常量,一般用全大写表示;在类中通过”self.常量名“来调用,在类外使用”对象名.常量名”或者”类名.常量名”来调用。
函数:表示对象(实例)的某个动态能力。
构造函数:用def __init__(s ...
数据结构-链表
python实现单链表123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111class Node(object): """结点""" def __init__(self, elem): self.elem = elem self.next = Noneclass SingleLinkList(object): """单链表""" def __init__(self, Node = None): self.__hea ...
排序算法-冒泡、插入、选择排序
定义计算函数运行时长的装饰器1234567891011import timedef calcTime(func): def wrapper(*args, **kwargs): startTime = time.time() func(*args, **kwargs) endTime = time.time() print(f"函数{func.__name__}耗时为{endTime-startTime}s") return wrapper
冒泡排序(Bubble Sort)冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。
12345678910111213141516171819202122232425262728import random"""冒泡排序第一种实现方 ...
排序算法-归并排序、快速排序
归并排序(Merge Sort)归并排序的核心思想还是蛮简单的。如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051"""归并排序思想:如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。"""# 归并排序算法, a 是数组,n 表示数组大小@calcTimedef merge_sort(a: list, n: int): """ 归并排序 param a: 数组 param n: 数组大小 """ merge_sort_c(a, 0, n-1) def merge_sort_c(a: ...