精华内容
下载资源
问答
  • 单元测试工具
    千次阅读
    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,它们可以帮助您编写漂亮而流利的测试。

    微信搜一搜【程序员阿沐】关注这个文绉绉的程序员,关注后回复【面试】有我准备的一线大厂面试资料和简历模板,希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!

    更多相关内容
  • Test简介单元测试工具C++Test简介软件测试C++Test是Parasoft公司出品的一个针对C/C++源代码进行自动化单元测试的工具。它可以对源代码进行三种测试:白盒测试、黑盒测试以及回归功测试。白盒测试C++Test对C/C++源...
  • 作为开源软件的爱好者,了解了单元测试这概念后,自然忍不住去找找有什么开源单元测试工具。下面列出了30款1,不分先后顺序。授权协议:Apache开发语言:Java操作系统:跨平台NoSQLUnit详细介绍NoSQLUnit是一个JUnit的...
  • 软件单元测试工具比较[2]软件测试三、JUNIT1、简介:Junit是一个开源的Java测试框架,它是Xuint测试体系架构的一种实现。在Junit单元测试框架的设计时,设定了三个总体目标,第一个是简化测试的编写,这种简化包括...
  • NuMeganumega软件单元测试工具Numega1前言MILY:宋体">我在本文中详细介绍了测试工具NuMegaDevpartner(以下简称NuMega)的使用方法。NuMega是一个动态测试工具,主要应用于白盒测试。该工具的特点是学习简单、使用方便...
  • NUnit单元测试工具,测试框架Moq.rar
  • 在应用程序中,单元是具有一个或多个输入和单个输出的软件中最小可...单元测试是自动化测试金字塔模型中占比最大的测试类型,做好单元测试对于保证软件产品的质量非常重要,单元测试可以: 及早发现软件中的缺陷并

    在应用程序中,单元是具有一个或多个输入和单个输出的软件中最小可测试部分。单元测试是一种测试软件代码单元的方法,通常包括一个或两个输入,产生一个输出。单元测试主要关注独立模块的功能正确性,目的是确保每个单元都按照预期的方式运行。

    要进行单元测试,开发人员需要编写测试代码。单元测试有手动和自动化测试两种类型,自动化通常是首选的方法,可以为开发人员节省大量的时间和精力。

    单元测试是自动化测试金字塔模型中占比最大的测试类型,做好单元测试对于保证软件产品的质量非常重要,单元测试可以:

    • 及早发现软件中的缺陷并及早修复

    • 修复单元测试发现的缺陷时,代码更改不会影响其他模块

    • 模块集成变得更容易

    • 减少缺陷率和时间成本

    现在让我们来总结一下针对Java、C++和Python语言的单元测试中,受欢迎的测试工具,它们不仅包括单元测试框架,还包括了Mock工具、代码覆盖率工具,以及两个智能化的单元测试用例自动生成工具

    1. Junit

    2. TestNG

    3. GoogleTest

    4. pytest

    5. unittest

    6. Jmockit

    7. JaCoCo

    8. gcov、lcov、gcovr

    9. Coverage.py

    10. EvoSuite

    11. 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能够自动建立和执行测试用例验证一个类的功能是否符合其功能描述。

    网址:http://www.parasoft.com

    Parasoft C++Test

    是[单元测试](javascript:;)和静态分析工具,自动测试C和C++类别、功能或组件,而无需编写单个测试实例、测试驱动程序或桩调用。只需点击按钮,C++Test即会采用业内编码标准执行代码的静态分析,测试代码构造(白盒测试),测试代码功能性(黑盒测试),并保持代码完整性(回归测试)。

    网址:http://www.parasoft.com

    Parasoft .TEST

    是单元测试和静态分析工具,自动测试写在Microsoft?.NET框架的类别,而无需编写单个测试场景或桩调用。只需点击按钮,.TEST即会在.NET源代码上自动执行完整系列的静态和动态测试。.TEST RuleWizard性能通过图形化表达希望.TEST在自动编码标准执行过程中查找的模式,支持设计定制的编码标准。

    网址:http://www.parasoft.com

    Parasoft Insure++

    是一个自动化的内存错误、内存泄漏的精确检测工具。Insure++能够可视化实时内存操作,准确检测出内存泄漏产生的根源。Insure++还能执行覆盖性分析,清楚地指示那些代码已经测试过。将Insure++集成到您的开发环境中,能够极大地减少调试时间并有效地防止错误。

    网址:http://www.parasoft.com

    Parasoft CodeWizard

    是高级C/C++源代码分析工具,采用三百种以上行业相关的编码准则,自动识别编译器未检测到的危险的编码构造。CodeWizard可以容易地通过 RuleWizard性能,创建新定制的准则,或者抑制用于定制分析的准则。日常使用CodeWizard,可简化代码检查,并使代码更具可读性和可维护性。

    网址:http://www.parasoft.com

    DevPartner Studio Professional

    是针对软件开发小组使用 Microsoft Visual C++,Microsoft Visual Basic,Java,ASP 或 HTML 设计的一套紧密配合的调试,测试和管理工具。该产品结合了强大的错误检测,性能分析,覆盖率分析,[需求管理](javascript:😉,测试和发布工具与全面的工程跟踪,错误管理,任务管理和自动的[工作](javascript:;)流程。DevPartner Studio Enterprise Edition 通过提高软件生产率,提高代码质量,支持工作流以及通讯标准让你对软件工程有更多的控制权。

    网址:http://www.compuware.com

    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在每一个测试阶段生产详尽的测试覆盖程度报告。

    网址:http://www-306.ibm.com/software/rational/

    展开全文
  • NET下的单元测试工具

    2021-03-23 15:56:43
    NETnetNET下的单元测试工具软件测试在.NET下的单元测试工具非常多了,其中微软也提供了自己的测试的UnitTestFramework,我在这里仅仅推荐一下比较实用的两种测试工具。VisualStudioTestEdition利用...
  • 资源单元测试工具及资源推荐[1]单元测试本文将简单介绍一下如下几种单元测试工具以及推荐一些学习资源。1.NUnit2.TestDriven.Net3.NUnitForms4.NUnitAsp一.NUnit提起大名鼎鼎的NUnit,我想没有几个不知道吧?NUnit是...
  • 软件测试实验-单元测试工具JUNIT.pdf软件测试实验-单元测试工具JUNIT.pdf软件测试实验-单元测试工具JUNIT.pdf软件测试实验-单元测试工具JUNIT.pdf软件测试实验-单元测试工具JUNIT.pdf软件测试实验-单元测试工具JUNIT...
  • 软件测试实验-单元测试工具JUNIT.docx软件测试实验-单元测试工具JUNIT.docx软件测试实验-单元测试工具JUNIT.docx软件测试实验-单元测试工具JUNIT.docx软件测试实验-单元测试工具JUNIT.docx软件测试实验-单元测试工具...
  • 智能化单元测试工具 SmartUnit DDC 动态缺陷检查工具 概述 汽车电子领域等高安全领域,对单元测试有较高的行业标准: 汽车电子行业遵从ISO26262标准。安全等级从ASIL-A到ASIL-D,对单元测试的要求依次增高。...
  • 第四代单元测试工具

    2019-01-04 11:43:10
    在简要介绍单元测试工具发展历史的基础上,重点介绍第四代单元测试工具(表格驱动的单元测试工具)的核心特性及优势。浏览此文档,可快速了解最新的单元测试技术,掌握评估和选择单元测工具的要领。
  • Java语言是一个支持面向对象的语言,通常情况下我们可以将程序的一个单元看成是一个独立的类,因此进行单元测试的重点就是对这些类进行测试。  1、不需要测试get和set这样的行为  2、一个方法至少需要测试一次
  • 1.团队评审工具 静态代码分析工具列表分析—代码分析工具列表(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)自动化测试
    TestStand

    5.其他待发掘的工具……

    其他总结类文章……
    开源单元测试工具汇总
    源代码、单元测试工具
    一文了解十大 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框架
    JUnitjavaxUnit家族开源https://junit.org/框架
    CUnitCcunit.sourceforge.net/框架
    CatchC++开源https://github.com/catchorg/Catch2/框架
    NUnit.NETxUnit家族开源
    CppUnitc++xUnit家族开源https://sourceforge.net/projects/cppunit/框架
    cpptest (区别于parasoft的c++test)c++http://sourceforge.net/projects/cpptest
    Rational Suite 一大系列——IBM收费
    CoverageC/C++Bullseye收费
    Cactusjava开源
    BoundsChecker开源
    VcTesterAda, C/C++http://www.eztester.com(凉了)插件
    NuMega DevpartnerVB、VC++及JavaCompuware

    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
    Dehydrac++Mozilla——https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Dehydra
    C and C++ Code Counterc++http://sourceforge.net/projects/cccc/
    Splintc++
    Weff++ for GNU g++的选项功能c++
    Klocworkc++收费
    Gimpelc++收费
    Coverityc++收费
    SCA很多Fortify Software收费
    CxSuite很多Checkmarx收费
    CodeSecureASP.NET、JAVA、PHPArmonize收费
    HypersourceJAVAart of defence
    PreventJAVA .NET C/C++Coverity
    FlawfinderC/C++开源
    CodeSonar(集成了FindBugs、Checkstyle、PMD)C/C++Grammatechhttp://www.51testing.com/html/51/10851-76264.html
    DevInspectJAVAHPhttp://www.51testing.com/html/51/10851-76264.html
    PC-LintC/C++商用
    Hammurapijava开源
    Lint4java开源
    JDependjava开源
    BEAM(IBM Checking Tool for Bugs Errors and Mistakes)商用
    Yasca开源
    Inspector for JAVAJAVASofCheck
    KlocWorkJAVA .NET C/C++,C#Insight
    Ounce 6JAVA .NETOunce Labs
    SecurityReviewJAVA .NETVeracode
    Prefast微软在Visual Studio的团队版本中,使用Prefast,打开Project Properties --> Configuration Properties --> Code Analysis -->Enable Code Analysis For C/C++ on build。选择 Yes(/analyze)即可。
    Ncover Explorer(代码覆盖率分析)

    ~.综合应用

    综合类(成套工具,测试同时包含静态分析,而非单纯框架)

    名称针对语言所属公司开源/商业收费官网/下载地址产品形式
    c++testc++parasoft收费https://www.parasoft.com/vs插件/应用
    Jtestjavaparasoft收费https://www.parasoft.com/应用
    TestStandnational 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
    TestbedC,C++,ADA,CobolLDRA

    小众、国产的:

    名称针对语言所属公司开源/商业收费官网/下载地址产品形式
    雨田单元测试系统C试用收费http://www.tlemp.com(凉半截)应用
    Visual UnitC++凯乐软件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/
    DT10trinityhttp://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
    TPTWeb自动化测试
    QTPWEB自动化测试
    AutoRunner泽众软件http://www.spasvo.com/autorunner
    Watir
    SeleniumWEB自动化测试
    MaxQ
    WebInject
    SoapUI接口自动化测试
    postman接口自动化测试
    robotium手机自动化测试
    appium手机自动化测试

    4.性能测试工具(预测系统行为和性能的负载测试工具)

    MercuryInteractive的LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。

    开源性能自动化测试工具:
    Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator

    名称所属公司官网/下载地址产品特点针对方向
    LoadRunnerMercuryInteractive
    jmeter开源

    5.测试管理工具

    测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。测试管理工具的代表有:Rational公司的TestManager;Compureware公司的TrackRecord;Mercury Interactive公司的TestDirector等软件。

    名称所属公司官网/下载地址产品特点产品形式
    ·Kiwi TCMShttp://kiwitcms.org/开源
    TestLinkhttp://www.testlink.org/开源
    TestCaseDBhttp://www.testcasedb.com开源
    Itest(国产)itest studiohttps://www.cnblogs.com/mypm/p/10649526.html https://itest.work/demo/网页版
    飞蛾CODINGhttps://feie.work/
    禅道项目管理系统https://www.zentao.net/开源
    Bugzillahttps://www.bugzilla.org/
    TestCenter (测试管理工具)http://www.opdown.com/soft/110667.html
    腾讯Buglyhttps://bugly.qq.com/v2

    以上于2019-10-12 23:11:49


    以下更新于2022-1-29

    来源《军用电源模块自动化测试系统的设计与实现》
    Compuware 白盒测试工具

    工具名支持语言环境简介
    BoundsCheckerC+、DelphiAPI 和 OLE 错误检查、指针和泄露错误和内存错误检查
    ThueTimeC+、Java、Visual Basic代码运行效率检查、组件性能的分析
    FailSafeVisual Basic自动错误处理和恢复系统
    JcheckMS Visual J++图形化的线程和事件分析工具
    TureCoverageC+、Java、Visual Basic函数调用次数、所占比率统计以及稳定性
    SmartCheckVisual Basic函数调用次数、所占比率统计以及稳定性
    CodeReviewVisual Basic自动源代码分析工具

    常见黑盒功能测试工具

    工具名公司名
    WinRunnerMercury Interactive
    Astra QuicktestMercury Interactive
    LoadRunnerMercury Interactive
    RobotIBM/Rational
    TeamTestIBM/Rational
    QARunCompuware
    QALoadCompuware
    SilkTestSegue Software
    SilkPerformerSegue Software
    e-TestEmpirix
    e-LoadEmpirix
    WASMS
    WebLoadRadview
    OpenSTAOpenSTA

    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,含详细的安装过程,配有简单的NUnit测试用例的Demo;测试框架Moq,通过链接可以找到简单的Mock的简单示例。
  • junit4单元测试工具

    2012-05-15 14:58:24
    junit4单元测试工具
  • 点击上方“一点教程“回复“资源”,领取精心整理的 Java核心资料前言随着DevOp的不断流行,自动化测试慢慢成为Java开发者的关注点。因此,本文将分...
  • Junit单元测试工具

    千次阅读 2018-02-20 17:57:08
    Junit单元测试工具 1.1作用 Junit单元单元测试测试,主要用于对程序进行专业化测试 package a_Junit; import org.junit.Assert; import org.junit.Test; public class Test_Junit { /** * 1)写一个测试...
  • 在VS2010中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法也能进行单元测试,并且支持数据驱动的单元测试
  • 单元测试工具包括那些?

    千次阅读 2017-06-07 07:58:09
    1.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
  • 这是C/C++单元测试工具——Visual Unit3.0最新版的简明教程。
  • Aunit试用总结 1. 自动生成的用例,准确度非100%。如遇到while循环,自动生成的用例并不会给定退出while循环的用例值,造成进入死循环,测试无法执行通过 ... 工具不是很成熟,存在bug(个别源文件静态分析后显示...
  • 单元测试工具之Mockito

    千次阅读 2019-05-27 10:07:14
    Mockito 是一个针对 Java 的单元测试模拟框架,是为了简化单元测试过程中测试上下文 ( 或者称之为测试驱动函数以及桩函数 ) 的搭建而开发的工具。在有这些模拟框架之前,为了编写某一个函数的单元测试,程序员必须...
  • .NET单元测试工具NUnit

    2008-12-01 09:38:58
    软件测试是软件工程中的最重要的一个环节,而单元测试是软件测试中的很重要的一个步骤,DOT单元测试工具NUnit全部由C#编写
  • 嵌入式软件--单元测试工具介绍

    千次阅读 2019-03-15 13:32:26
    覆盖率专家winAMS获得机能安全标准ISO26262/IEC61508工具认证,是日本工业制造领域普遍使用的针对C/C++的单元/集成测试工具.winAMS是将通过交叉编译生成的原始代码作为评价代码...是一款值得信赖的单元测试工具. ...
  • Viaul Unit是C/C++单元测试工具/嵌入式测试工具/集成测试工具。表格驱动,无须编写测试驱动和桩代码;支持快速完成航空标准(MC/DC);程序行为可视,支持快速编写复杂代码,提升开发效率。此版本安装后可测试自带的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 315,144
精华内容 126,057
关键字:

单元测试工具