今天我们要向大家介绍的是常见5种主流自动化测试框架,包括优缺点等内容,供大家参考学习。
1.ATF
自动化测试框架AutoTestFramework是B/S架构框架,可实现Selenium等多种自动化测试全流程、团队化管理的高级框架平台,通过集成自动化测试工具可实现PC端界面自动化、接口自动化、APP功能自动化测试和深度兼容性测试,测试完成后系统自动生成测试报告。目前该框架可以集成的自动化测试工具Selenium、AutoRunner、MobileRunner。
优点:
- 测试项目、测试脚本、测试需求、测试用例、测试缺陷、测试报告、测试人员等管理;框架可以无缝集成界面自动化工具Selenium、AR、QTP;集成接口测试工具postman;集成APP自动化工具MR;建立需求分析模型,基于活动图、数据和业务规则自动生成测试用例;多个项目可以选择预约执行或者定时执行,一个项目可以选择立即执行;界面自动化支持截图和视频;接口支持日志;通过测试用例覆盖业务规则的测试,减少脚本设计的复杂度和脚本设计的简单性;同时便于测试用例数据的维护和更新;可生成自动生成Selenium、AutoRunner、MobileRunner等工具测试执行的测试报告,测试数据准确客观;产品自主研发,可集成ALM生命周期管理工具、项目管理、测试管理、缺陷管理、持续集成、流程平台以及其他数据库;
缺点:
- 不是免费工具,商业测试工具,产品性价比较高;
2.JUnit
Kent Beck和Erich
Gamma开发的JUnit,它是xUnit的一个实例。其背后的主要目的是使Java开发人员能够编写脚本并执行可重复的测试用例。它通常用于测试小块代码。您还可以通过将JUnit与Selenium
WebDriver集成用于Java测试自动化来执行网站的自动化测试。无论何时添加任何新代码,您都需要重新执行整个测试用例并确保没有破损。
优点:
- 在测试驱动的环境中工作的开发人员发现它非常有用,因为他们被迫阅读代码并查找是否存在异常;早期检测到错误,从而产生更可靠的代码;开发更具可读性和无错误的代码可以起到增强信心的作用。
缺点:
- 该框架无法执行依赖性测试。这就是我们需要TestNG的地方。
3.JBehave
它是一种以透明的方式向业务用户描述验收测试的测试类型。JBehave是另一个用于BDD测试的Java测试框架,主要用于SeleniumWebDriver for Java。引入JBehave背后的主要目标是让新手能够轻松理解并熟悉BDD。它是一种设计理念,使应用程序的测试阶段更多地基于其行为。
优点:
- 与所有其他BDD测试框架一样,JBehave在许多方面也具有优势;通过在具有类似规范的不同项目上工作的不同开发团队之间实现更好的协调,实现行为驱动开发的重要目的;由于规范具有类似的格式,项目经理和利益相关者可以更清楚地了解开发团队和QA团队的输出。
缺点:
- BDD测试工具的成功主要取决于项目中涉及的不同成员之间的沟通,利益相关者,开发人员,测试人员以及组织的管理。缺乏沟通可能会导致无法回答的问题和疑问,这可能导致错误的申请或应用程序无法满足业务要求,从而导致所有各方互相指责。
4.TestNG
CedricBeust创建了TestNG,这是一个基于Java的开源自动化测试框架,受JUnit的启发。但是,它更强大。NG意味着TestNG中的下一代。该框架旨在在集成期间以更好的方式执行。该框架可帮助开发人员进行排序,分组和参数化等功能,从而使新测试用例更加灵活,并消除了之前使用的框架的缺点。
缺点:
- 该框架使您能够在多个代码片段上运行并行测试;在测试用例执行期间,您可以生成HTML报告;可以根据优先级对测试用例进行分组和排列;只需要让框架运行数据库测试或前端测试或任何你想要的东西,执行测试就会简单得多;您可以参数化数据并使用注释来轻松设置优先级。
缺点:
- 如果您的项目不需要测试用例优先级,则可能不想使用TestNG;此外,设置TestNG稍稍有些复杂。
5.Serenity
Serenity是一个开源库,用于行为驱动的测试。该框架可帮助您编写验收标准,这些标准结构良好且维护更多。它扩展了JUnit和WebDriver的功能。它被称为修昔底德。名称改变背后的原因只不过是发音的难度。不过,旧名称可以在引用时使用。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取