在测试工作中,正确的测试数据对于测试结果的判断至关重要,因此了解、熟悉一些工作中常见实用的准备数据方法对于提高工作效率很有帮助。可以分为手动创建和自动化创建两种。
一、手动创建
1.用户界面上按步骤添加
比如想要新增某购物网站上的订单,就按照下单流程的操作步骤,一步步去添加。这种通常适用于所需数据较少的情况,常见于联调测试或系统测试完成后的验收测试阶段。
2.导入测试数据文件
测试人员可能提前存好了一些保存有测试数据的Excel、CSV、DB等文件,在修改成符合目标数据的格式后,可以通过导入来创建数据。
3.正式环境数据导入到测试环境
涉及到正式环境的操作要格外注意,数据导出也是一样。要先确定线上的数据能否准确地复刻到测试环境,以及是否需要修改后才能使用。可以尝试先从正式页面上先导出、再导入测试环境中,或者直接从把正式数据库里的数据导出sql文件,再导入到测试数据库中。
4.在数据库中写SQL
这里专指利用Navicat、Mysql Workbench等数据库管理软件编写目标数据对应的SQL语句。这种方法要求对目标数据在数据库中的位置、字段、约束等比较熟悉,而且跳过了前端验证,测试时需注意。
二、自动化创建
1.利用已有工具实现
一、里提到的一些方法里,其实都有很多现成工具可以套用,来帮助快速实现数据的生成。(毕竟我们目前思考、面临的很多问题,都是很多前人已经经历过的,在拥有没有工具也能干好活的能力前提下,善用工具会是一个非常好的选择)
界面操作:可以选用jmeter+badboy、qtp等屏幕录制软件,然后按照需要进行修改调整;
数据生成工具:有很多免费还好用的网站或是软件,输入关键字搜一搜就出来了,https://tableconvert.com/zh-CN/sql-generator 支持Excel表格和多种格式文件代码的转换;https://generatedata.com/generator 支持常见数据类型字段的数据转换为多种格式文件的代码,部分数据可自定义格式。
2.利用手写代码实现
对编程功底有一定要求,需要掌握一些相关的库、函数。比如:
python+selenium实现UI自动化操作,要会元素定位等知识
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.find_element_by_id("sth1.").send_keys("name")
time.sleep(2)
driver.find_element_by_id("sth2").submit()
time.sleep(2)
driver.quit()
这样每执行一次代码,便相当于手动在页面上提交了生成了一次name数据,如果要批量的话,还可以设置循环、随机数等。
导入pyodbc库结合SQL语句生成数据
import pyodbc
conn=pyodbc.connect('DRIVER={SQLServer};SERVER=192.168.1.1;DATABASE=TEST;UID=XXXXXX;PWD=XXXXXX)
sql = "update tablename set productID =xxxx,quantity=xxxxx where orderID in( X1,X2,...Xn)"
cursor = conn.cursor()
cursor.execute(sql)
resultRows = cursor.fetchall()
nums=len(resultRows)
print nums
实际工作中可能会有很多影响因素,具体情况选择何种方式需灵活处理。
|