自动化测试框架是应用于自动化测试的程序框架,它提供了可重用的自动化测试模块,提供最基础的自动化测试功能,或提供自动化测试执行和管理功能的架构模块。它是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。
数据驱动测试是测试从数据文件(数据池,ODBC源,cvs文件,Excel文件,DAO对象等)中读取输入和输出数值并载入到捕获的或手工编码的脚本中变量里的一种框架。此框架可以将所有测试数据在自动化测试执行的过程中进行自动加载,动态判断测试结果是否符合预期结果,并自动输出测试报告。这个框架一般用于在一个测试流程中使用多组不同的测试数据,以此来验证被测试系统是否能正常工作。
这个框架趋向于减少你为了实现所有测试用例而需要的全部的脚本数量,并且在开发绕开错误的办法(Workaround)和维护方面提供了最好的灵活性。和表格驱动测试非常相似的是,表格驱动测试只需要非常少的代码就可以产生大量的测试用例。
测试数据单独维护,变更测试数据不需要修改程序,不懂编程语言的测试人员也可以修改用例数据进行测试。
关键字驱动测试框架可以理解为高级的数据驱动测试框架。使用被操作的元素对象、操作的方法和操作的数据值作为测试过程中输入的自动化测试框架,简单表示为。item.operation(value)。被操作的元素对象、操作的方法和操作的数据值可以保存在数据数组、数据文件、数据库中作为关键字驱动测试框架的输入。
关键字驱动测试框架属于更高级的自动化测试框架,可以兼容更多的自动化测试操作类型,大大提高了自动化测试框架的使用灵活性。
极大的减少了自动化开发工程师维护量,普通测试工程师,可以很好的维护自身负责的模块中涉及的测试case和测试数据。
模块化框架是最容易掌握和使用的。在一个组件上方建立一个抽象层使其在余下的应用中隐藏起来,这是众所周知的编程技巧。这样应用同组件中的修改隔离开来,提供了程序设计的模块化特性。模块化测试脚本框架使用这一抽象或者封装的原理来提高自动测试组合的可维护性和可升级性。
几乎所有大的变更引起的工作量都由自动化测试开发工程师完成,控件识别和业务逻辑本身属于不同的领域,没有很好进行抽象封装。
测试库构架框架和测试脚本模块化框架非常相似,有着同样的优势,但是它把测试下的应用程序分成过程和函数,而不是脚本。这种框架要求创建代表测试下应用程序模块,零件和函数的库文件(SQABasic libraries, APIs, DLLs等等)。然后这些库文件被测试用例脚本直接调用。
被测试系统无论是哪层发生变化,只需要相应的人员进行变更维护即可,完成了控件识别操作和业务逻辑的抽象分离。
变更引起的工作量还是附加在自动化测试开发工程师身上。
最常见的已实现的框架是上述技术的组合,抽取它们的优点,剔除其弱点。这种混合的测试自动化框架是发展时间较长且应用项目最多的框架。