当前位置:文档之家› 软件测试工程师的学习工具

软件测试工程师的学习工具

软件测试工程师的学习工具
时间一晃已来到2018年,千锋教育的软件测试教学总监王老师对比了在今年比较热门的7款开源自动化测试框架的优缺点,以帮助你选择适合自己的测试框架。

软件测试工程师的学习工具1.Robot Framework
Robot Framework(RF)是用于验收测试和验收测试驱动开发(ATDD)的自动化测试框架。

基于Python编写,但也可以在Jython(Java)和IronPython(.NET)上运行,提供跨平台支持(Windows、Linux或MacOS)。

优点:通过使用关键字驱动测试(KDT)方法简化了自动化测试过程,方便测试人员创建易读的测试。

测试数据语法简单易用。

生态系统丰富。

由各种通用测试库和工具组成,这些工具都是作为独立项目开发的。

具有高度可扩展性。

可通过pabot或Selenium Grid执行并行测试。

缺点:自定义HTML报告较为麻烦。

如果是针对大范围的库和扩展的KDT自动化测试,建议使用此跨平台框架。

如果想要添加新的关键字(通过RF测试库API),需要具备Java/ Python/C语言的基础知识。

软件测试工程师的学习工具2.JUnit
JUnit是一款针对Java应用的单元测试框架,用于编写和运行可重复的测试。

优点:纯Java编写。

支持测试驱动开发(TDD)。

允许创建自己的单元测试用例套件。

能很好地与其他工具(如Maven)和IDE(如IntelliJ)集成。

长时间发展,有自己庞大的用户群体,可以很容易找到文档。

缺点:如果需要mocking能力,则需要额外添加Mockito(或其他模拟库)。

因JUnit中的方法名称受Java约定限制等原因,非技术人员很难读懂测试结果。

如果你正在为你的Java应用编写单元测试,那这可能是更好的选择。

但是,对于功能测试或非Java应用,应考虑其他解决方案。

软件测试工程师的学习工具3.Spock
Spock是用于Java和Groovy应用的测试和规范框架,基于JUnit。

优点:测试可读性强,支持简单的英文句子,便于阅读。

提供周边上下文,从而能轻松了解如何解决故障。

内置mocking和stubbing功能。

支持数据驱动测试(DDT)。

缺点:需要具备基本的Groovy语言知识。

如果你的应用是基于JVM的,并且目标是使用DSL进行BDD自动化测试,则此框架正适合!
软件测试工程师的学习工具4.NUnit
NUnit是支持所有.Net语言的单元测试框架。

起初也是基于Junit的启发,完全采用C#编写,目前已被完全重新设计以使用更多.NET语言功能。

优点:启动和测试执行速度快。

自带断言和注释。

支持并行测试。

支持测试驱动开发(TDD)。

缺点:非跨平台,仅适用于.Net语言。

未集成到Visual Studio echo系统中,意味着使用它需要更多的维护。

一个很好的C#开源单元测试框架,历史悠久,口碑较高。

不过,如果你正准备使用.NET语言,也可以考虑MSTest。

软件测试工程师的学习工具5.TestNG
TestNG是一个Java自动化测试框架,受JUnit和NUnit的启发,但又改进和新增了一些功能。

旨在涵盖所有自动化测试类别:单元测试、功能测试、端到端、集成测试等。

优点:容易整合到maven循环中。

使开发人员能够编写灵活而强大的测试。

支持数据驱动测试(DDT)。

注释很容易理解。

测试用例可以轻松分组。

允许创建并行测试。

缺点:只支持Java,至少需要具备Java编程语言的基础知识。

必须投入时间进行框架设置和设计。

如果你使用Java,并正寻找端到端的自动化测试框架,同时愿意投入一点时间去设置框架,你应该考虑使用TestNG。

软件测试工程师的学习工具6.Jasmin
Jasmine是一个JavaScript单元测试框架,也被称为JavaScript的行为驱动开发(BDD)测试框架。

适用于网页、Node.js项目或任何可以运行JavaScript的地方。

它主要与AngularJS配对使用。

优点:除了JavaScript,还可以运行在Python和Ruby中。

如果想在你的服务器端运行客户端测试,它可以帮助你。

被许多CIs使用和支持。

内置用于断言的语法。

缺点:多数情况下,它需要一个测试运行器(如Karma)。

难以异步测试。

如果你正在寻找一个统一的(客户端-服务器)单元测试解决方案,Jasmin可能会非常适合。

软件测试工程师的学习工具7.Mocha
Mocha是一个JavaScript单元测试框架,它在NodeJs上运行测试,主要与ReactJS配对使用。

优点:内置测试运行器。

支持异步测试。

使用灵活,可使用任何符合需求的断言库(Chai、expect.js、Must.js等)作为Node标准“断言”功能的替代品。

缺点:相对较新(起始于2012年),意味着有许多的未知性和可变性,在某些方面或缺乏用户基础和支持。

仅提供基本的测试结构,因此需要额外的设置和配置(对于一些可能是有利的)。

如果你正在寻找JavaScript的独立单元测试框架,Mocha是首选!
还要学习更多的软件测试工程师的学习工具吗?快来千锋教育看看吧!。

相关主题