-
2020-10-25 12:56:29
前言
随着DevOp的不断流行,自动化测试慢慢成为Java开发者的关注点。因此,本文将分享10款优秀的单元测试框架和库,它们可以帮助Java开发人员在其Java项目上编写单元测试和集成测试。
1. JUnit
我绝对JUnit不需要太多的介绍了。即使您是Java初学者,也可能听说过它。它可以帮助您为Java代码编写单元测试。 几乎所有主要的IDE(例如Eclipse,NetBeans和IntelliJIDEA)都提供JUnit集成,这意味着您可以直接从那些IDE编写和运行单元测试。 我们大多数人仍在使用JUnit 4,但JUnit 5已经发布。您可以将JUnit用于单元测试和集成测试,它还支持Java 8功能。
2. REST Assured
REST Assured是github上一个开源项目。
项目地址:https://github.com/rest-assur…
优点:
简约的接口测试DSL
支持xml json的结构化解析
支持xpath jsonpath gpath等多种解析方式
对spring的支持比较全面3.Selenium
Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。
4. TestNG
TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便。
5. Mockito
Mockito是GitHub上使用最广泛的Mock框架,并与JUnit结合使用Mockito框架可以创建和配置mock对象。使用Mockito简化了具有外部依赖的类的测试开发。
6. Spock Framework
Spock是一个为Groovy和Java语言应用程序来测试和规范的框架。这个框架的突出点在于它美妙和高效表达规范的语言。得益于JUnit Runner,Spock能够在大多数IDE、编译工具、持续集成服务下工作。Spock的灵感源于JUnit,JMock, RSpec, Groovy,,Scala,,Vulcans以及其他优秀的框架形态。
7.Cucumber
Cucumber是一个支持BDD(Behavior Driven Development),即行为驱动开发的自动化测试框架。在进行单元测试或者集成测试之前,事先将测试的步骤和验证信息用通用的语言(英语)定义好,使得测试的步骤、单元测试和集成测试每一步执行的目的能被非开发人员读懂,并且写单元测试和集成测试的人员可以依据事先写好的框架进行代码的编写,达到行为驱动开发的目的。
8.Spring Test
Spring Test是Spring MVC自带了一个非常有用的测试框架,该框架无需进行Web容器即可进行深度测试。
它是用于向Spring应用程序编写自动测试的最有用的库之一。它提供了一流的支持,可以为Spring的应用程序(包括MVC控制器)编写单元测试和集成测试。9. DBUnit
DBUnit是一个基于Junit扩展的数据库测试框架。它提供了大量的类对与数据库相关的操作进行了抽象和封装,虽然在80%的情况,你只需使用它极少的api。它通过使用用户自定义的数据集以及相关操作使数据库处于一种可知的状态,从而使得测试自动化、可重复和相对独立。
10.Robot Framework
Robot Framework是一个基于Python的,可扩展的关键字驱动的测试自动化框架,用于端到端验收测试和验收测试驱动开发(ATDD)。它可用于测试分布式异构应用程序,其中验证需要涉及多种技术和接口。
总结
以上就是针对Java开发人员的一些必要的单元测试和集成测试工具,框架以及库。当然这里没有列出所有的工具,例如AssertJ,Hamcrest,它们可以帮助您编写漂亮而流利的测试。
微信搜一搜【程序员阿沐】关注这个文绉绉的程序员,关注后回复【面试】有我准备的一线大厂面试资料和简历模板,希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!
更多相关内容 -
单元测试工具C++Test简介
2021-03-23 16:15:12Test简介单元测试工具C++Test简介软件测试C++Test是Parasoft公司出品的一个针对C/C++源代码进行自动化单元测试的工具。它可以对源代码进行三种测试:白盒测试、黑盒测试以及回归功测试。白盒测试C++Test对C/C++源... -
开源单元测试工具汇总
2021-02-25 06:13:10作为开源软件的爱好者,了解了单元测试这概念后,自然忍不住去找找有什么开源单元测试工具。下面列出了30款1,不分先后顺序。授权协议:Apache开发语言:Java操作系统:跨平台NoSQLUnit详细介绍NoSQLUnit是一个JUnit的... -
软件单元测试工具比较[2]
2021-03-23 16:31:14软件单元测试工具比较[2]软件测试三、JUNIT1、简介:Junit是一个开源的Java测试框架,它是Xuint测试体系架构的一种实现。在Junit单元测试框架的设计时,设定了三个总体目标,第一个是简化测试的编写,这种简化包括... -
软件单元测试工具Numega
2021-03-23 15:45:06NuMeganumega软件单元测试工具Numega1前言MILY:宋体">我在本文中详细介绍了测试工具NuMegaDevpartner(以下简称NuMega)的使用方法。NuMega是一个动态测试工具,主要应用于白盒测试。该工具的特点是学习简单、使用方便... -
NUnit单元测试工具,测试框架Moq.rar
2020-06-02 13:23:03NUnit单元测试工具,测试框架Moq.rar -
2021年软件测试工具总结——单元测试工具
2021-11-23 22:23:15在应用程序中,单元是具有一个或多个输入和单个输出的软件中最小可...单元测试是自动化测试金字塔模型中占比最大的测试类型,做好单元测试对于保证软件产品的质量非常重要,单元测试可以: 及早发现软件中的缺陷并在应用程序中,单元是具有一个或多个输入和单个输出的软件中最小可测试部分。单元测试是一种测试软件代码单元的方法,通常包括一个或两个输入,产生一个输出。单元测试主要关注独立模块的功能正确性,目的是确保每个单元都按照预期的方式运行。
要进行单元测试,开发人员需要编写测试代码。单元测试有手动和自动化测试两种类型,自动化通常是首选的方法,可以为开发人员节省大量的时间和精力。
单元测试是自动化测试金字塔模型中占比最大的测试类型,做好单元测试对于保证软件产品的质量非常重要,单元测试可以:
-
及早发现软件中的缺陷并及早修复
-
修复单元测试发现的缺陷时,代码更改不会影响其他模块
-
模块集成变得更容易
-
减少缺陷率和时间成本
现在让我们来总结一下针对Java、C++和Python语言的单元测试中,受欢迎的测试工具,它们不仅包括单元测试框架,还包括了Mock工具、代码覆盖率工具,以及两个智能化的单元测试用例自动生成工具:
-
Junit
-
TestNG
-
GoogleTest
-
pytest
-
unittest
-
Jmockit
-
JaCoCo
-
gcov、lcov、gcovr
-
Coverage.py
-
EvoSuite
-
Diffblue Cover
单元测试框架
当前成熟的单元测试框架包括:JUnit、TestNG、gtest、pytest、unittest。
1)JUnit
JUnit是一个为Java编程语言设计的开源单元测试框架,由 Kent Beck 和 Erich Gamma建立,它是单元测试框架家族中的一个,这些框架被统称为xUnit,JUnit是xUnit 家族中最为成功的一个。JUnit 有它自己的 Junit 扩展生态圈,多数 Java 的开发环境都已经集成了 JUnit 作为单元测试的工具。JUnit 的最新版本是JUnit 5,它不再是一个单一的JAR 包,而是由JUnit platform(平台)、JUnit Jupiter 和JUnit Vintage 这3 部分组成。
官网地址:https://junit.org/junit5/
2)TestNG
TestNG 是另一个为Java编程语言设计的开源单元测试框架,是一个受JUnit和NUnit启发而来的测试框架,但它引入了一些新功能,使其更强大、更容易使用,例如:
-
核心特性是多线程测试执行,测试代码是否是多线程安全的;
-
提供注释支持;
-
支持数据驱动测试(使用@DataProvider);
-
支持参数化测试;
-
强大的执行模型(不再有TestSuite);
-
支持各种工具和插件(Eclipse, IDEA, Maven等…);
-
嵌入BeanShell以获得更多的灵活性;
-
用于运行时和日志记录的默认JDK函数(没有依赖关系)。
官网地址:https://testng.org/
3)GoogleTest
GoogleTest是一个跨平台的(Liunx、Mac OS X、Windows 、Cygwin 、Windows CE and Symbian ) C++单元测试框架,由google公司发布,为在不同平台上为编写C++测试而开发的。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。例如:
-
测试用例本身就是一个exe工程,编译之后可以直接运行,非常的方便。
-
编写测试案例变的非常简单(使用一些简单的宏如TEST),让我们将更多精力花在测试用例设计上。
-
提供了强大丰富的断言的宏,用于对各种不同检查点的检查。
-
提高了丰富的命令行参数对脚本运行进行一系列的设置。
代码开源地址:https://github.com/google/googletest
4)pytest
pytest是一个非常成熟的全功能的支持Python语言的单元自动化测试框架。简单灵活,容易上手,支持参数化;能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试,以及接口自动化测试(pytest集成requests)。
官网地址:http://pytest.org/
5)unittest
unittest 是 Python 自带的一个单元测试框架,无需安装,使用简便,引入包 import unittest 即可使用。unittest单元测试框架作为python的标准库,是其他单元测试框架的基础。
官网地址:http://docs.python.org/zh-cn/3/library/unittest.html
单元测试Mock工具
在进行单元测试时,需要测试的类有很多依赖,这些依赖的类或者资源又会有依赖,导致在单元测试代码里无法完成构建。因此,我们需要采用Mock 技术隔离依赖对象,即模拟这些需要构建的类或者资源,提供给需要测试的对象使用。
6)JMockit
JMockit是一个用于Java语言单元测试的开源Mock工具,包含了工具和API集合。Jmockit可以和junit和TestNG配合使用编写单元测试。
JMockit支持类级别整体mock和部分方法重写,以及实例级别整体mock和部分mock,可以mock静态方法、私有变量及局部方法。
这个工具还具有统计单元测试代码覆盖率的功能,提供了三种类型的代码覆盖率,如行覆盖率、路径覆盖率和数据覆盖率。
官网地址:http://jmockit.org/
单元测试覆盖率工具
单元测试中还需要用到代码覆盖率工具。代码覆盖率是用来度量在单元测试过程中被覆盖代码的指标。代码覆盖率统计工具用来发现没有被测试覆盖的代码,完善单元测试的覆盖率。另外,这类工具还可以用来构建代码调用关系,精准的确定回归测试范围,避免全量回归造成测试资源的浪费。
7)JCoCo
Jacoco是一个开源的免费Java代码覆盖工具,由EclEmma创建,其使用方法很灵活,可以嵌入到Ant、Maven中;可以作为Eclipse插件,可以使用其Java Agent技术监控Java程序等等。很多第三方的工具提供了对JaCoCo的集成,如sonar、Jenkins等。
JaCoCo包含了多种尺度的覆盖率计数器:
-
指令级覆盖(Instructions,C0coverage)
-
分支(Branches,C1coverage)
-
圈复杂度(CyclomaticComplexity)
-
行覆盖(Lines)
-
方法覆盖(non-abstract methods)
-
类覆盖(classes)
官网地址:https://www.jacoco.org/jacoco/
8)gcov、lcov、gcovr
gcov、lcov、gcovr都是支持C/C++语言代码覆盖率的工具。
gcov是由gcc内建的代码覆盖率生成工具,可以很方便的和GCC编译器配合使用,通常情况下,直接安装gcc工具链,也就同时包含了gcov命令行工具。gcov得到的结果是文本形式的,而且不同的源码文件需要一一执行gcov命令,对于大工程是不方便的,这时就需要lcov。
lcov是gcov工具的图形前端,收集多个源文件的gcov数据,生成描述覆盖率的HTML页面。生成的结果中会包含概述页面,方便浏览。
一般场景下使用gcov和lcov能满足代码覆盖率的获取和展示工作,lcov和genhtml配合生成的HTML报告内容详尽,简洁直观,行覆盖率、分支覆盖率都有,但是HTML文件在常用的持续集成工具(比如Jenkins、gitlab-ci)中均无法集成,因此我们需要其他的工具用于覆盖率结果的持续集成展示。gcovr是一款针对C/C++代码覆盖率并支持以多种方式(包括列表方式、XML文件方式、HTML网页方式等)展示出来的工具,而XML文件刚好是可以被持续集成工具解析的。
lcov下载地址:https://github.com/linux-test-project/lcov
gcovr下载地址:https://github.com/gcovr/gcovr
9)Coverage.py
Coverage.py是一个度量Python语言代码覆盖率的工具。Coverage.py可以指定要通过配置文件分析哪些源文件,通过分析源代码,发现没有被测试覆盖的代码。
官网地址:https://coverage.readthedocs.io
智能化的单元测试用例自动生成工具
单元测试的重要性毋庸置疑,但是在很多企业推行的并不好,一个非常重要的原因是开发人员不愿意把时间花费在编写单元测试代码上。如今,有两个值得推荐的智能化工具可以自动生成单元测试用例,帮助提高单元测试的覆盖率,提高企业的研发效能。
10)EvoSuite
EvoSuite是由英国Sheffield(谢菲尔德)等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行,并得到了Google和Yourkit的支持。通过使用此自动测试工具能够在保证代码覆盖率的前提下极大地提高测试人员的开发效率。但是只能辅助测试,并不能完全取代人工,测试用例的正确与否还需人工判断。
官网地址:https://www.evosuite.org/
开源代码地址:https://github.com/EvoSuite/evosuite
11)DiffBlue Cover
Diffblue Cover是一个自动化的单元测试编写工具,通过分析Java应用程序编写反映当前行为的单元测试,提高测试覆盖率,并帮助开发人员在将来的代码更改中发现回归缺陷。
插件开源社区版地址:https://plugins.jetbrains.com/plugin/14946-diffblue-cover--community-edition/versions
-
-
常见单元测试工具
2020-10-24 01:04:36常见软件单元测试工具 发表于:2010-2-05 13:22 作者:未知 来源:51Testing软件测试网采编 Parasoft Jtest 是第一个自动化Java单元[测试](javascript:;)工具。 Jtest自动测试任何Java类或部件,而不需要您写一个...常见软件单元测试工具
发表于:2010-2-05 13:22 作者:未知 来源:51Testing软件测试网采编
Parasoft Jtest
是第一个自动化Java单元[测试](javascript:;)工具。 Jtest自动测试任何Java类或部件,而不需要您写一个测试用例、驱动程序或桩函数。只要点击一个按钮,Jtest自动测试代码构造([白盒测试](javascript:😉)、测试代码功能性([黑盒测试](javascript:😉)、维护代码完整性(回归测试)和静态分析(编程标准执行和指标度量)。不需要复杂的设置,Jtest能够立即使用并指出问题。如果您使用“按合同设计”技术在代码中加入描述信息,Jtest能够自动建立和执行测试用例验证一个类的功能是否符合其功能描述。
Parasoft C++Test
是[单元测试](javascript:;)和静态分析工具,自动测试C和C++类别、功能或组件,而无需编写单个测试实例、测试驱动程序或桩调用。只需点击按钮,C++Test即会采用业内编码标准执行代码的静态分析,测试代码构造(白盒测试),测试代码功能性(黑盒测试),并保持代码完整性(回归测试)。
Parasoft .TEST
是单元测试和静态分析工具,自动测试写在Microsoft?.NET框架的类别,而无需编写单个测试场景或桩调用。只需点击按钮,.TEST即会在.NET源代码上自动执行完整系列的静态和动态测试。.TEST RuleWizard性能通过图形化表达希望.TEST在自动编码标准执行过程中查找的模式,支持设计定制的编码标准。
Parasoft Insure++
是一个自动化的内存错误、内存泄漏的精确检测工具。Insure++能够可视化实时内存操作,准确检测出内存泄漏产生的根源。Insure++还能执行覆盖性分析,清楚地指示那些代码已经测试过。将Insure++集成到您的开发环境中,能够极大地减少调试时间并有效地防止错误。
Parasoft CodeWizard
是高级C/C++源代码分析工具,采用三百种以上行业相关的编码准则,自动识别编译器未检测到的危险的编码构造。CodeWizard可以容易地通过 RuleWizard性能,创建新定制的准则,或者抑制用于定制分析的准则。日常使用CodeWizard,可简化代码检查,并使代码更具可读性和可维护性。
DevPartner Studio Professional
是针对软件开发小组使用 Microsoft Visual C++,Microsoft Visual Basic,Java,ASP 或 HTML 设计的一套紧密配合的调试,测试和管理工具。该产品结合了强大的错误检测,性能分析,覆盖率分析,[需求管理](javascript:😉,测试和发布工具与全面的工程跟踪,错误管理,任务管理和自动的[工作](javascript:;)流程。DevPartner Studio Enterprise Edition 通过提高软件生产率,提高代码质量,支持工作流以及通讯标准让你对软件工程有更多的控制权。
Rational Purify
是一个面向VC, VB或者Java开发的测试Visual C/C++ 和Java代码中与内存有关的错误,确保整个应用程序的质量和可靠性。在查找典型的Visual C/C++程序中的传统内存访问错误,以及Java中与垃圾内存收集相关的错误方面,Rational Purify可以大显身手。Rational Robot的回归测试与Rational Purify结合使用完成可靠性测试。
网址:http://www-306.ibm.com/software/rational/
Rational Quantify
是一个面向VC、VB 或者Java开发的测试性能瓶颈检测工具,它可以自动检测出影响程序段执行速度的程序性能瓶颈,提供参数分析表等等直观表格。帮助分析影响程序短执行速度的关键部分。
网址:http://www-306.ibm.com/software/rational/
Rational PureCoverage
是一个面向VC、VB或者Java开发的测试覆盖程度检测工具,它可以自动检测你的测试完整性和那些无法达到的部分。作为一个质量控制工程,可以使用PureCoverage在每一个测试阶段生产详尽的测试覆盖程度报告。
-
NET下的单元测试工具
2021-03-23 15:56:43NETnetNET下的单元测试工具软件测试在.NET下的单元测试工具非常多了,其中微软也提供了自己的测试的UnitTestFramework,我在这里仅仅推荐一下比较实用的两种测试工具。VisualStudioTestEdition利用... -
单元测试工具及资源推荐[1]
2021-03-23 16:01:54资源单元测试工具及资源推荐[1]单元测试本文将简单介绍一下如下几种单元测试工具以及推荐一些学习资源。1.NUnit2.TestDriven.Net3.NUnitForms4.NUnitAsp一.NUnit提起大名鼎鼎的NUnit,我想没有几个不知道吧?NUnit是... -
软件测试实验-单元测试工具JUNIT.pdf
2022-07-10 17:34:54软件测试实验-单元测试工具JUNIT.pdf软件测试实验-单元测试工具JUNIT.pdf软件测试实验-单元测试工具JUNIT.pdf软件测试实验-单元测试工具JUNIT.pdf软件测试实验-单元测试工具JUNIT.pdf软件测试实验-单元测试工具JUNIT... -
软件测试实验-单元测试工具JUNIT.docx
2022-07-10 06:31:19软件测试实验-单元测试工具JUNIT.docx软件测试实验-单元测试工具JUNIT.docx软件测试实验-单元测试工具JUNIT.docx软件测试实验-单元测试工具JUNIT.docx软件测试实验-单元测试工具JUNIT.docx软件测试实验-单元测试工具... -
产品手册-SmartUnit单元测试工具.pdf
2020-02-17 17:19:34智能化单元测试工具 SmartUnit DDC 动态缺陷检查工具 概述 汽车电子领域等高安全领域,对单元测试有较高的行业标准: 汽车电子行业遵从ISO26262标准。安全等级从ASIL-A到ASIL-D,对单元测试的要求依次增高。... -
第四代单元测试工具
2019-01-04 11:43:10在简要介绍单元测试工具发展历史的基础上,重点介绍第四代单元测试工具(表格驱动的单元测试工具)的核心特性及优势。浏览此文档,可快速了解最新的单元测试技术,掌握评估和选择单元测工具的要领。 -
JUnit单元测试原则 单元测试工具
2012-03-28 21:32:12Java语言是一个支持面向对象的语言,通常情况下我们可以将程序的一个单元看成是一个独立的类,因此进行单元测试的重点就是对这些类进行测试。 1、不需要测试get和set这样的行为 2、一个方法至少需要测试一次 -
代码检查、评审、单元测试工具 大搜集
2019-10-10 16:36:231.团队评审工具 静态代码分析工具列表分析—代码分析工具列表(30款工具) 2.代码检查工具 华为DevCloud 三款主流静态源代码安全检测...java单元测试工具 junit 一文了解十大 Java 开发者必备测试框架! 4....——看书真是迅速进入一个陌生领域的最快办法……系统的、体系完整的知识比起在互联网上七拼八凑出的认识强太多了!
先记下一些理论概念……-
软件生命周期模型
分析
设计与文档
编码与审查
测试与调试
发布与维护 -
软件测试对象的6种分类:
单元测试(静态检查、动态测试)
集成测试
压力测试
回归测试
Alpha测试(系统测试)
Bete测试(交付测试)
一、大致分类
0.项目集成构建与管理
Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,可以处理任何类型的构建或持续集成1.团队评审工具
有助于团队通过共同的开发、测试和管理工作以便能生产出高质量代码的代码审查工具。它允许团队在一个透明、协作的框架下进行同行代码审查、用户故事和测试计划——即时保持整个团队知晓对代码所做的更改。
windows下GitHub的安装、配置以及项目的上传过程详细介绍
Tortoise SVN 使用教程
静态代码分析工具列表分析—代码分析工具列表(30款工具)2.代码审查工具(静态分析)
华为DevCloud(提供指导修复)
三款主流静态源代码安全检测工具比较
静态代码分析工具清单:开源篇(各语言)
开源的C++静态分析工具
代码静态分析工具——splint的学习与使用
cppcheck一个静态C / c++代码分析工具C++代码质量扫描主流工具深度比较
以下为工具在付费价格、规则数量、准确率、扫描效率、编译依赖、IDE支持、跨平台支持、可扩展开发方面的对比数据。注:本次竞品分析的选择了3款游戏项目(约500万行代码)。
3.OJ——Online Judge在线判题系统
用户可以在线提交程序源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。
OJ大集合4.代码测试框架、(性能、安全等的单元测试)工具、测试辅助
0.测试数据生成(其余内容在下一节)
生成测试数据神器:使用python的faker库
Java 生成测试字符串的库:Java Faker
测试用例自动化生成工具
一个自动生成测试用例的项目二、现有具体工具分类
1.软件模拟人工界面操作
AutoRunner (录制动作,生成系统脚本,自动运行的测试工具)2.单元测试工具——代码段测试、用例自动生成……(官网链接,软件介绍)
parasoft官网(不止java,还有支持包括c++的一众语言):https://www.parasoft.com/
代理商1慧都:https://www.evget.com/supplier/439
代理商2麦克泰:http://www.bmrtech.com/proddetails_91614.html
parasoft Jtest 使用教程:生成、执行和扩展Junit测试
使用 Parasoft Jtest:一款优秀的 Java 代码优化和测试工具
parasoft c++test操作手册JUnit 是一个回归测试框架,Junit唯一争议的地方便是需要自己编辑测试用例,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量。
java单元测试工具 junit
Junit的基本使用(详解)
Randoop随机测试&自动生成测试用例(它基于Junit格式自动生成测试用例.)凯乐软件官网:http://www.kailesoft.com/
Visual Unit官方博客:http://www.51testing.com/html/58/35658.html
Visual Unit 简明教程测试之家:http://www.tlemp.com/
雨田单元测试系统LDRA:https://ldra.com/
使用LDRA Testbed对代码进行单元测试星云测试/wings发布版开源:https://gitee.com/teststars/wings_release
c语言单元测试用例全自动生成软件wings介绍
Wings 与 parasoft c++ test 在单元测试用例自动生成能力的比对3.ide工具
Visual Studio的宏扩展功能(可用来函数测试)
parasoft C++test(VS2010插件版)简明操作手册
单元测试框架 CppTest
Visual AssistX(代码补全、函数提示的好工具)
Visual Studio C++单元测试总结——3种方法可用4.相关收费产品(百度广告的。)
(1)带有用例库管理的团队管理
测试用例编写工具ONES TestCase
(2)自动化测试
TestStand5.其他待发掘的工具……
其他总结类文章……
开源单元测试工具汇总
源代码、单元测试工具
一文了解十大 Java 开发者必备测试框架!
常用自动化测试工具
C++ 的单元测试工具 —— Catch其他工具
Google C++单元测试框架—Gtest框架简介(译文)
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具
单元测试工具IBM Ration Purify
CppUnit测试框架入门
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。
Snaipe/Criterion-一个简单可扩展的 C 语言测试框架三、各类功能小结
在获取源代码后可以做的工作↓
0.代码规范检查
提供基于内置编码规范的代码检查、基于用户自定义的编码规范的代码检查、自动修复代码规范错误和访问代码规范描述信息等功能。1.静态程序分析
静态代码分析是指不运行源程序,仅通过分析源程序的语法、结构、接口等来检查程序正确性,找出代码隐藏的缺陷之处。
作为一个多人参与的项目中代码审查过程的一个阶段,因编写完一部分代码之后就可以进行静态分析,分析过程不需要执行整个程序,这有助于在项目早期发现以下问题:变量声明了但未使用、变量类型不匹配、变量在使用前未定义、不可达代码、死循环、数组越界、内存泄漏等。在获取源代码并配置好环境后可以做的工作↓
2.自动化单元测试
自动建立测试环境,自动生成测试用例以及测试驱动程序和桩函数,自动执行
白盒(自动建立测试驱动程序和桩函数)、
黑盒(根据代码中定义的方法入口参数,自动生成大量黑盒测试用例)、
回归测试(只需选择测试项目,即可重复执行原有的白盒和黑盒测试。)。在获取源代码并设置好用例后可以做的工作↓
3.测试用例的生成与使用管理
测试用例管理
测试用例生成4.其他功能
代码编写过程中↓
代码审查:的自动代码补全、函数提示。项目编写过程中↓
团队评审辅助:共同的开发、测试和管理。四、相关论文或资料:
【《软件测试(第2版)》,作者佟伟光】
关键字:测试用例自动生成
面向java函数调用路径的测试用例生成方法研究
基于动态链接库技术的测试程序实现方法
GUI自动化测试系列(一)测试用例的设计及自动生成
一种软件测试用例自动生成方法与流程
自动生成测试脚本方案浅析关键字:静态测试软件设计
一种API自动化测试工具的设计与实现搜索关键词:
测试用例自动生成工具
自动化测试工具
自动生成java测试用例的工具
java函数输入值生成测试工具
单元测试工具下面这张图是Parasoft中文网上的自夸~(其中包括了很多测试公司)
五、测试工具(框架)集中整理
太多了:Free Open Source Windows Quality Assurance Software
(博客格式符用起来整理太累,不断更新……以下是还没放进列表的)Boost.Test, UnitTest++, lest, bandit, igloo, CxxTest, cute
CodeTest :C
RTRT :C,C++,ADA,Java
Cantata :C,C++
Logiscope:C、C++、Java、Ada 等
VectorCast:C,C++,ADA
Tessy :C
AsmTester :汇编
Ounec5.0 扫描语言VB、C、C++、C#、Java,属于付费工具。
Coverity Prevent 扫描语言有C、C++、C#、Java,属于付费工具。
Stake SmartRiskAnalyzer 扫描语言C、C++、Java,属于付费工具。
Flawfinder 扫描语言C、C++、属于付费工具。
Static Code Analyzer 扫描语言C、C++、C#、Java,属于付费工具。
PolySpace Client 扫描语言C、C++、python、perl、php,开源
Fluid 扫描语言Java,开源。
静态代码分析工具清单:开源篇(各语言)
静态代码分析工具清单:开源篇(多语言)
开源静态代码审计软件分析比对由于可能有重名,建议童鞋们搜索时用公司名+工具名来搜索,比如Parasoft Jtest
其中不乏一些小众、冷门、过气、因年代久远销声匿迹了的(以官网凉了为准)。软件测试网:http://www.51testing.com
1.动态测试(输出检测)
动态测试工具:动态测试工具的一般采用"插桩"的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。动态测试工具的代表有:Compuware公司的DevPartner软件;Rational公司的Purify系列等。
名称 针对语言 所属公司 开源/商业收费 官网/下载地址 产品形式 googletest(Gtest) c++ google 开源 https://github.com/google/googletest 框架 JUnit java xUnit家族 开源 https://junit.org/ 框架 CUnit C cunit.sourceforge.net/ 框架 Catch C++ 开源 https://github.com/catchorg/Catch2/ 框架 NUnit .NET xUnit家族 开源 CppUnit c++ xUnit家族 开源 https://sourceforge.net/projects/cppunit/ 框架 cpptest (区别于parasoft的c++test) c++ http://sourceforge.net/projects/cpptest Rational Suite 一大系列 —— IBM 收费 Coverage C/C++ Bullseye 收费 Cactus java 开源 BoundsChecker 开源 VcTester Ada, C/C++ http://www.eztester.com(凉了) 插件 NuMega Devpartner VB、VC++及Java Compuware 2.静态分析(代码质量)
静态测试工具:直接对代码进行分析,生成可执行文件。静态测试工具一般是对代码进行语法扫描,根据某种质量模型评价代码的质量,生成系统的调用关系图等。静态测试工具的代表有:Telelogic公司的Logiscope软件;PR公司的PRQA软件。
http://www.sohu.com/a/225782178_505788
https://www.cnblogs.com/hejing-swust/p/9451512.html名称 针对语言 所属公司 开源/商业收费 官网/下载地址 产品形式 c++check(cppcheck) c++ —— —— https://sourceforge.net/projects/cppcheck http://cppcheck.sourceforge.net http://cppcheck.net/demo(在线试用) vs插件/应用/在线 Olink(Pork) c++ Mozilla —— http://danielwilkerson.com/oink/index.html Dehydra c++ Mozilla —— https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Dehydra C and C++ Code Counter c++ http://sourceforge.net/projects/cccc/ Splint c++ Weff++ for GNU g++的选项功能 c++ Klocwork c++ 收费 Gimpel c++ 收费 Coverity c++ 收费 SCA 很多 Fortify Software 收费 CxSuite 很多 Checkmarx 收费 CodeSecure ASP.NET、JAVA、PHP Armonize 收费 Hypersource JAVA art of defence Prevent JAVA .NET C/C++ Coverity Flawfinder C/C++ 开源 CodeSonar(集成了FindBugs、Checkstyle、PMD) C/C++ Grammatech http://www.51testing.com/html/51/10851-76264.html DevInspect JAVA HP http://www.51testing.com/html/51/10851-76264.html PC-Lint C/C++ 商用 Hammurapi java 开源 Lint4 java 开源 JDepend java 开源 BEAM(IBM Checking Tool for Bugs Errors and Mistakes) 商用 Yasca 开源 Inspector for JAVA JAVA SofCheck KlocWork JAVA .NET C/C++,C# Insight Ounce 6 JAVA .NET Ounce Labs SecurityReview JAVA .NET Veracode Prefast 微软 在Visual Studio的团队版本中,使用Prefast,打开Project Properties --> Configuration Properties --> Code Analysis -->Enable Code Analysis For C/C++ on build。选择 Yes(/analyze)即可。 Ncover Explorer(代码覆盖率分析) ~.综合应用
综合类(成套工具,测试同时包含静态分析,而非单纯框架)
名称 针对语言 所属公司 开源/商业收费 官网/下载地址 产品形式 c++test c++ parasoft 收费 https://www.parasoft.com/ vs插件/应用 Jtest java parasoft 收费 https://www.parasoft.com/ 应用 TestStand national instructments 有试用版 http://www.ni.com/zh-cn/shop/electronic-test-instrumentation/application-software-for-electronic-test-and-instrumentation-category/what-is-teststand.html?cid=Paid_Search-128991-China-BaiDu_TSD1_test_system Logiscope NuMega Testbed C,C++,ADA,Cobol LDRA 小众、国产的:
名称 针对语言 所属公司 开源/商业收费 官网/下载地址 产品形式 雨田单元测试系统 C 试用收费 http://www.tlemp.com(凉半截) 应用 Visual Unit C++ 凯乐软件 http://www.kailesoft.com/ 应用 iUnit 湖南泛联新安 http://www.ubisectech.com/html/iUnit/index.html 应用 一系列 泽众软件 http://www.spasvo.com/ 思客云 http://www.secureyun.cn/ 云效-测试平台 阿里云 https://www.aliyun.com/product/yunxiao-testing 测试服务 WeTest 腾讯云 https://cloud.tencent.com/product/wetest Testin 北京云测信息技术有限公司 https://www.testin.cn/ DT10 trinity http://www.trinitytec.com.cn/ 3.软件测试工具(脚本录制与回放)
黑盒测试工具(功能自动化测试工具、软件测试工具)的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作。黑盒测试工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。
https://blog.csdn.net/henu_xk126com/article/details/81868591#commentBox
执行重复的手动测试——自动化执行测试用例取代人工执行测试用例名称 所属公司 官网/下载地址 产品特点 针对方向 WinRunner 微软 windows系统软件 Mercury QuickTest Pro SilkTest Selenium TPT Web自动化测试 QTP WEB自动化测试 AutoRunner 泽众软件 http://www.spasvo.com/autorunner Watir Selenium WEB自动化测试 MaxQ WebInject SoapUI 接口自动化测试 postman 接口自动化测试 robotium 手机自动化测试 appium 手机自动化测试 4.性能测试工具(预测系统行为和性能的负载测试工具)
MercuryInteractive的LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
开源性能自动化测试工具:
Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator名称 所属公司 官网/下载地址 产品特点 针对方向 LoadRunner MercuryInteractive jmeter 开源 5.测试管理工具
测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。测试管理工具的代表有:Rational公司的TestManager;Compureware公司的TrackRecord;Mercury Interactive公司的TestDirector等软件。
名称 所属公司 官网/下载地址 产品特点 产品形式 ·Kiwi TCMS http://kiwitcms.org/ 开源 TestLink http://www.testlink.org/ 开源 TestCaseDB http://www.testcasedb.com 开源 Itest(国产) itest studio https://www.cnblogs.com/mypm/p/10649526.html https://itest.work/demo/ 网页版 飞蛾 CODING https://feie.work/ 禅道项目管理系统 https://www.zentao.net/ 开源 Bugzilla https://www.bugzilla.org/ TestCenter (测试管理工具) http://www.opdown.com/soft/110667.html 腾讯Bugly https://bugly.qq.com/v2 以上于2019-10-12 23:11:49
以下更新于2022-1-29
来源《军用电源模块自动化测试系统的设计与实现》
Compuware 白盒测试工具工具名 支持语言环境 简介 BoundsChecker C+、Delphi API 和 OLE 错误检查、指针和泄露错误和内存错误检查 ThueTime C+、Java、Visual Basic 代码运行效率检查、组件性能的分析 FailSafe Visual Basic 自动错误处理和恢复系统 Jcheck MS Visual J++ 图形化的线程和事件分析工具 TureCoverage C+、Java、Visual Basic 函数调用次数、所占比率统计以及稳定性 SmartCheck Visual Basic 函数调用次数、所占比率统计以及稳定性 CodeReview Visual Basic 自动源代码分析工具 常见黑盒功能测试工具
工具名 公司名 WinRunner Mercury Interactive Astra Quicktest Mercury Interactive LoadRunner Mercury Interactive Robot IBM/Rational TeamTest IBM/Rational QARun Compuware QALoad Compuware SilkTest Segue Software SilkPerformer Segue Software e-Test Empirix e-Load Empirix WAS MS WebLoad Radview OpenSTA OpenSTA 3、测试管理工具
测试管理工具用于对测试进行管理。一般而言,测试管理工具负责对测试计划、测试用例、测试实施进行管理、对产品缺陷跟踪管理、产品特性管理的等。
测试管理工具的代表有 Rational 公司的 TeamManager,Compuware 公司的TrackRecord、Mercury Interactive 公司的 TestDirector 等软件。
除此之外,还有专用于性能测试的工具包括有:Radview公司的WebLoad:Microsoft 公司的 WebStress 等工具;针对数据库测试的TestBytes;对应用性能进行优化的 EcoScope 等工具。4、各种流程指导书
*各测试类型的测试方法作业指导书
文档审查作业指导书
代码审查作业指导书
静态分析作业指导书
代码走查作业指导书
逻辑测试作业指导书
功能测试作业指导书
性能测试作业指导书
接口测试作业指导书
API 接口测试脚本设计及实现作业指导书
人机交互界面测试作业指导书
强度测试作业指导书
余量测试作业指导书:
安全性测试作业指导书
恢复性测试作业指导书
边界测试作业指导节
数据处理测试作业指导书
安装测试作业指导书
容量测试作业指导书
互操作性测试作业指导书*各测试活动作业指导书
测试需求分析作业指导书
测试策划作业指导书
测试设计和实现作业指导书
测试现行作业指导书
测试总结作业指导书
用章管理作业指导书*工具使用作业指导书
LoadRunner 使用作业指导书
QTP 使用作业指导书
C++Test 使用作业指导书
Logiseqpe 使用作业指导书
QC 使用作业指导书
Selenium 作业指导书
Klaework 使用作业指导书
JACOCO 使用作业指导书 -
-
NUnit单元测试工具,测试框架Moq
2015-03-03 21:40:08单元测试工具NUnit,含详细的安装过程,配有简单的NUnit测试用例的Demo;测试框架Moq,通过链接可以找到简单的Mock的简单示例。 -
junit4单元测试工具
2012-05-15 14:58:24junit4单元测试工具 -
推荐10款Java程序员使用的单元测试工具
2020-03-18 11:38:00点击上方“一点教程“回复“资源”,领取精心整理的 Java核心资料前言随着DevOp的不断流行,自动化测试慢慢成为Java开发者的关注点。因此,本文将分... -
Junit单元测试工具
2018-02-20 17:57:08Junit单元测试工具 1.1作用 Junit单元单元测试测试,主要用于对程序进行专业化测试 package a_Junit; import org.junit.Assert; import org.junit.Test; public class Test_Junit { /** * 1)写一个测试... -
VS2010单元测试工具使用
2015-06-30 15:06:11在VS2010中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法也能进行单元测试,并且支持数据驱动的单元测试 -
单元测试工具包括那些?
2017-06-07 07:58:091.Junit 2.Cactus 3.struts TestCase 4.JFCUnit 5.TestNG 6.JMock 7.Grinder 8.Jetif 9.Unitils 10.p-unit 11.XMLUnit 12.EJG3Unit 13.FEST-Swing 14.Ripplet 15.Feed4JUnit ...17.JsTestDri -
Visual Unit(C/C++单元测试工具)3.0 简明教程
2012-08-28 10:07:02这是C/C++单元测试工具——Visual Unit3.0最新版的简明教程。 -
嵌入式C代码单元测试工具试用总结--Aunit/SpecChecker
2018-10-07 11:43:20Aunit试用总结 1. 自动生成的用例,准确度非100%。如遇到while循环,自动生成的用例并不会给定退出while循环的用例值,造成进入死循环,测试无法执行通过 ... 工具不是很成熟,存在bug(个别源文件静态分析后显示... -
单元测试工具之Mockito
2019-05-27 10:07:14Mockito 是一个针对 Java 的单元测试模拟框架,是为了简化单元测试过程中测试上下文 ( 或者称之为测试驱动函数以及桩函数 ) 的搭建而开发的工具。在有这些模拟框架之前,为了编写某一个函数的单元测试,程序员必须... -
.NET单元测试工具NUnit
2008-12-01 09:38:58软件测试是软件工程中的最重要的一个环节,而单元测试是软件测试中的很重要的一个步骤,DOT单元测试工具NUnit全部由C#编写 -
嵌入式软件--单元测试工具介绍
2019-03-15 13:32:26覆盖率专家winAMS获得机能安全标准ISO26262/IEC61508工具认证,是日本工业制造领域普遍使用的针对C/C++的单元/集成测试工具.winAMS是将通过交叉编译生成的原始代码作为评价代码...是一款值得信赖的单元测试工具. ... -
C/C++单元测试/嵌入式测试/集成测试工具Viaul Unit 4.4
2018-06-03 11:53:07Viaul Unit是C/C++单元测试工具/嵌入式测试工具/集成测试工具。表格驱动,无须编写测试驱动和桩代码;支持快速完成航空标准(MC/DC);程序行为可视,支持快速编写复杂代码,提升开发效率。此版本安装后可测试自带的...