自动化测试的测试组件
更新时间:2022-01-05 09:39:55 作者:多测师 浏览:206
1. 测试基础组件
a)单元测试 单元测试基础组件可以作为任何自动化测试框架的基本部分。它可以用于以下情况:
通过@test 或[test]等特定的形式来定义正在使用的测试方法
执行影响自动化测试最终结果的断言
运行简单明了的测试
无论是从命令行、IDE、专用工具还是 CI(持续集成)系统运行测试,为了确保单元测试以简单的方式运行,单元测试库都提供了测试运行器。
单元测试库支持几乎所有编程语言,比如以下这些:Java 的 JUnit 和 TestNG,.NET 的 NUnit 和 MSTest,Python 的 unittest(前身为 PyUnit)。
b)集成和端到端测试 在执行集成和端到端测试自动化的同时,也非常合适去实践现有测试库提供的功能。由应用程序UI驱动的API级测试需要有消除不必要的编码负担的组件,这样能让与被测应用程序的交互变得更容易。因而,测试人员就不会受到连接到应用程序、发送请求、接收结果响应这些编码工作的困扰。
这种类型的几个重要测试组件有:Selenium(可用于主要语言)、protractor(特定于 JavaScript)、Karate DSL(Java 特定的 API 级集成测试)。
c)行为驱动开发(BDD)专门用于BDD的组件以行为规范为目标,以可执行代码的形式创建可执行规范。在这部分,测试人员可以将预测行为的不同特性和场景转化为代码。尽管不像其他测试工具哪有直接跟被测应用程序交互,但可以作为BDD过程的支持,创建与自动化测试的范围和意图相一致的活动文档。BDD组件的典型例子有:cucumber(支持主要语言)、Jasmine (JavaScript)、SpecFlow (for .NET)。
2、测试数据管理
在软件测试自动化和测试创建过程中,最大的困难是如何利用测试数据管理系统。随着自动化测试数量的增加,始终存在这样一个问题:确保执行特定测试所需的某些测试数据在执行测试时可用或可创建。目前对这种情况并没有一个万无一失的解决方案,这就要求采用可靠的测试数据管理方法来让自动化工作成功运转。
因此所采用的自动化测试框架需要配置充分,以便能提供基本的补救措施来进入或创建、清除要执行的测试数据。解决这一问题的方法是使用适当的模拟工具,使数据更加简化、更加清晰、更易于理解。
3、mock、stubs和虚拟资产
在对自动化测试进行实践和探索的历程中,可能会出现以下情况:
希望将模块与在单元测试中有经验的已连接组件隔离
处理在现代应用程序的集成,或端到端测试中常见的繁琐而关键的依赖关系
在这些情况里,就会觉得创建mock、stubs和虚拟资产来反映连接组件的行为模式是非常必要的,还可能会发现处理 mock 和 stub 是一项大范围、大体量的任务。无论如何,测试人员都会意识到,在开发自动化测试框架期间选择有用的虚拟化工具是件十分重要的事。 实现模式的通用机制 除了以上提及自动化框架组件,还有一些有用的机制可以帮助创建、使用和维护自动化测试,例如:
包装器方法(Wrapper methods):使用 Selenium WebDriver 组件时,创建自定义包装器会让人更轻松地处理错误。 创建了用于 Selenium API 调用的自定义包装后,就可以更好地处理超时、异常处理和故障报告。 这之后,创建了自动化测试的人员可以重新使用,这样就可以避开复杂流程的关注点,专注于进行有价值的测试。 抽象方法(Abstraction methods):抽象机制意味着可读性的提高和冗余细节的掩盖。例如,在创建 Selenium WebDriver 测试时使用页面对象的目的是在网页上公开用户输入操作,包括输入凭据或单击页面上的某处,目标是通过超越或绕过探索页面特定元素的需求来实现高级测试方法。 此方法适用于许多类似的应用程序和自动化测试。
以上内容为大家介绍了自动化测试的测试组件,希望对大家有所帮助,如果想要了解更多接口自动化测试相关知识,请关注多测师。https://www.aichudan.com/xwzx/
上一篇:自动化测试框架知识
下一篇:自动化测试的架构优化项目实践