首先,关键字驱动和数据驱动这两个概念更多的是应用在自动化测试里面。
自动化测试一般为了高效期间,根据项目的特征会选用不同的自动化测试框架来做。其中,关键字驱动和数据驱动是自动化框架里用的比较多的框架,它跟我们通常比较熟悉的bdd框架是不一样的。
一款自动化测试工具,它既可以用来做数据驱动,也可以做关键字驱动。譬如我们比较熟悉的QTP(UFT),Katelon,TOSCA,他们是既可以用来做数据驱动,也可以做关键字驱动。
数据驱动就是以不同的数据输入为导向来进行测试。
关键字驱动是指用用户常用的操作来串联整个测试用例。
举个例子,譬如一个登录的测试用例,按照数据驱动,它应该是通过excel表格上传不同的测试数据来执行同样的用例,它的测试数据可以是:有效用户名,有效密码;有效用户名,无效密码(含密码为空);无效用户名(含用户名为空),有效密码;无效用户名,无效密码等。这就叫数据驱动测试。
关键字驱动更多的是指测试用例的步骤。譬如还是登录的测试用例,按照关键字驱动,它应该是打开页面;输入用户名;输入密码;点击登录按钮。相应的自动化api应该是open url(); input username(); input password();click()。
由此可以看出,一条测试用例是既可以是数据驱动的,又可以是关键字驱动的。
至于最上面提到的BDD(behave drive develop)框架,它更多的是一种比较主流的软件开发实践,是以前的TDD(test drive develop)的改进版。它是大型软件项目开发的最佳实践。业务分析员或产品经理通过站在用户的角度来起草相应的用户故事(作为一个用户,我想要…,当…的时候,要…表现),开发跟测试人员也会按照用户的这个思路来理解产品需求。同时,测试人员可以直接将这种写作用法应用到测试用例中,如果是自动化用例,它的语法就是given, when, then的BDD模式。
有关具体的BDD框架,关键字驱动框架和数据驱动框架,我后面会写篇文章具体介绍它们的用法跟实例。
文章都看到这儿了,不妨点个关注或喜欢鼓励一下吧。