福州模板做网站,wordpress无法预览,如何制作餐馆网站,深圳酒店网站建设数据驱动测试
在实际的测试过程中#xff0c;我们会发现好几组用例都是相同的操作步骤#xff0c;只是测试数据的不同#xff0c;而我们往往需要编写多次用例来进行测试#xff0c;此时我们可以利用数据驱动测试来简化该种操作。
参数化#xff1a; 输入数据的不同从而产…数据驱动测试
在实际的测试过程中我们会发现好几组用例都是相同的操作步骤只是测试数据的不同而我们往往需要编写多次用例来进行测试此时我们可以利用数据驱动测试来简化该种操作。
参数化 输入数据的不同从而产生不同的测试结果简单来说就是将输入的数据作为变量传入。 比如搜索商品不同的搜索关键字和搜索条件作为入参就会得到不同的搜索结果。
数据驱动 测试数据的改变驱动自动化测试的执行产生不同的测试结果数据驱动本质上是高级的参数化。 对于测试数据我们可以将其存放在代码的数据结构中比如数组、集合也可以存放在外部文件比如json、csv、yaml、Excel或数据库中通过相应的读取技术拿到测试数据实现数据驱动测试。
各大语言测试框架都有对应的功能比如Python的UnitestJava的TestNG/Junit
如TestNG有提供DataProvider注解实现数据驱动测试
方式一将测试数据保存到代码中数组
//指定数据提供者注入测试数据到测试方法中实现数据驱动测试
Test(dataProvidergetDatasFromArray)
public void test(String name,String phone,String pwd) {//TODO
}//从二维数组中获取数据驱动测试所需的测试数据(包含入参和期望值)
DataProvider
public Object [][] getDatasFromArray(){Object [][] datas {{13323234545,123456,登录成功},{133232345451,123456,手机号码格式不正确},{13323234545,,密码不能位空}};return datas;
} 方式二将数据保存到外部的文件中Excel
//指定数据提供者注入测试数据到测试方法中实现数据驱动测试
//需要注意的是此时数据提供者返回的是一维数组数组里元素类型是ExcelData对象所以方法这里需要通过ExcelData类型接收
Test(dataProvidergetDatasFromExcel)
public void test(ExcelData excelData) {//TODO
}//从外部文件Excel中获取数据驱动测试所需的测试数据
DataProvider
public Object [] getDatasFromExcel(){//读取指定Sheet ListExcelData list EasyExcel.read(filePath).head(ExcelData.class).sheet(Sheet1).doReadSync();//将集合转换为数组return list.toArray;}
数据驱动测试的优点
1、相似的测试步骤只需要编写一条用例可以直接通过多条测试数据驱动执行提高了测试脚本的复用性
2、测试数据和测试脚本分离提高后期脚本可维护性
无论是将测试数据保存在代码或者文件又或者数据库中都可以。至于保存在哪里取决于测试数据量大小和使用场景
少量的数据比如账号相关的信息可以直接写入代码中进行维护数据的量级在几十~几千之间可以通过外部的文件进行管理比如Excel当数据量级特别大的情况下通过数据库这样方式的管理数据相对比较高效
**ps**小编个人收集啦许多软测资料希望能够帮到学软件测试的朋友们软件资料分享包括但不限于Java自动化测试、Python自动化测试、性能测试、web测试、APP测试
测试开发工具包appuim安装包、fiddler安装包也有配套视频教程、eclipse、git、jmeter、loadrunner、monkey、postman、soapul、Xmind等等
感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取