什么是数据驱动?
数据驱动是主流的自动化测试设计模式,测试数据和测试代码分离,测试数据存储在外部文件中,如 excel、json、yaml等文件,也可以存在数据库中。同一个测试方法,可以多个自动化测试 case。
数据驱动如何实现?
-
选择 unittest 单元测试框架,该框架本身支持数据驱动的方式,unittest + ddt 模块结合,可以实现数据驱动;
-
编写自动化测试代码,需要包含支持读写外部文件的代码,读取外部文件中的内容作为测试数据源。用到测试数据的地方要支持循环读取数据源,unittest 在测试方法上写 ddt 注解即可实现此功能;
测试方法中也需要支持通用的逻辑处理和校验,兼容大部分业务场景。
-
将测试数据存储在外部文件中,常用的有excel,json 文件,可根据业务实际需求选择测试数据的存储介质;
-
测试脚本编写完成后,执行单用例测试,测试通过后再接入数据源执行批量测试。
数据驱动的优势?
很多时候编写测试用例就是复制粘贴,同样的用例结构改下测试数据就变成一条新的测试用例,实际上测试用例有很多重复的地方。关于数据驱动的优势,可以通过一个例子来证明。
eg:手工编写500条测试用例,转换为自动化用例300条,实现这300条自动化用例,使用普通方式和数据驱动方式有什么区别呢?
普通方式:测试类中写300个测试方法,每个测试方法除了名称不同,可能大部分方法代码一样,只是输入数据不同。这种方式提升了代码量,但是不利于后期维护,如果业务有改动,就需要改动300个方法,对追求质量和效率的测试来说,这是一个噩梦。
数据驱动方式:从300条自动化用例中找出通用的逻辑,编写测试方法。测试数据存放在外部文件中,测试数据变化而代码不变。更加利于后期测试代码维护,业务有改动,只需修改少量测试代码即可。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】
软件测试视频教程观看处:
【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。