wiki:Projects/GSoC/TestingReview

Version 3 (modified by Xiaochen Pan, on Jul 7, 2012 at 12:20:58 AM) (diff)

TestingReview

Testing Framework Reviews

Testing Frameworks Lists and Review

CMock? CMock is a highly automated testing framework based on Unity, a unit testing framework.

  • Lisense: MIT License
  • Programming Language: C
  • Maturity:
  • Projects:
    • Latest download count:
  • Maintainership:
    • 3 Core Developers: Mike Karlesky, Mark VanderVoord?, Greg Williams
    • Community(according to their website): 5 Contributors, 16 Bug Finders, 4 Mentors, 2 Porters, no estimation of users provided.

Cmockery? Cmockery is a lightweight and highly portable unit testing framework with minimum conflicts with standard C library headers.

  • License: Apache License 2.0
  • Programming Language: C
  • Maturity:
  • Projects:
    • Latest download count: 4618
  • Maintainership:
    • 4 Core Developers
    • Last release time: Sep 2008
    • Expected update: Cmockery 0.1.3
    • Community(Estimated): 93 users

Test-dept? TestDept? is unit testing framework providing stubing capabilities.

  • License: GNU GPL v3
  • Programming Language: C, Assembly
  • Maturity:
  • Projects:
    • Latest Download count: 231
  • Maintainership:
    • 2 Core Developer
    • Last Update Date: Nov 2010
    • Update Frequency before Nov 2010: every four month
    • Community(Estimated): 14 users

AceUnit? AceUnit? is a simple unit testing framework based on CUnit and EmbUnit?.

  • License: BSD
  • Programming Language: C
  • Maturity:
  • Projects:
    • Download count: 13 downloads last week
  • Maintainership:
    • 2 Core Developers
    • Last update date: 2009-9-30

Google Test and Google Mock? Google Tests is unit testing framework conforming to xUnit architecture. Google Mock is a library that can be used to provide mocking functionality to other C++ testing frameworks as well. They can be used in combination for host based testing with powerful functionalities they provide.

  • License: New BSD license
  • Programming Language: C++
  • Maturity:
  • Projects:
    • Download count: 86347 for Google Test, 30548 for Google Mock.
  • Maintainership:
    • Core Developers: 11 for Google Test, 9 for Google Mock
    • Community: 1655 users for Google Test, 673 for Google Mock.
    • Latest update date: Apr 2011

Check? Check is simple unit testing framework for test-driven development. It forks a separate process for each unit tests. Therefore, it cannot be used in RTEMS-based testing. Test cases, test fixtures, and test suites are well supported by Check with automatic test discovery to promote tests automation. It supports tests debug with a no fork mode. It has multiple output format including XML. It also have a convenient test time out feature to rule out tests take use infinite amount of time.

CU? CU is a lightweight and simple unit testing framework suited for host-based testing with enriched set of assertions. It uses separate processes for each test suites to protect the address space for each test suites. In this case, for a single process RTEMS operating system, it cannot be used. CU supports tests cases and recursive test suites for tests automation. CU supports regression testing as a plus.

  • License: GNU Lesser General Public License v3
  • Programming Language: C
  • Maturity:
  • Projects:
  • Maintainership:
    • 1 Core Developer: Daniel Fiser
    • Last update date: 2010-9-14

CxxTest? CxxTest? is a unit testing framework in C++ with xUnit architecture. For example, it supports modern tests concept like test cases, test suites, and test fixtures. Also, it supports the standard XML output. It is easy to compile and highly portable because no pre-compiled library is used. It is well suited for Host-based testing. CxxTest? support automatic test runner generation and independent test cases running. It supports mocking functions and mocking objects. As a plus point, it supports python scripts. However, it does not support C macros preprocessing, which has limit it largely in RTEMS based testing.

  • License: LGPL v2
  • Programming Language: C++
  • Maturity:
  • Projects:
  • Maintainership:
    • Current Version: CxxTest? 4.0
    • 4 Core Developers
    • Last update date: 2012-1-7
    • Download count: 114 downloads last week

CuTest? CuTest? is very simple unit testing framework. It can be used for host-based testing. Although it claims itself to be highly portable, it does not fit to work for RTEMS based testing.

  • License: GPL v2
  • Programming Language: C
  • Maturity:
  • Projects:
  • Maintainership:
    • 1 Core Developer
    • Last update date: 2010-7-22
    • Download count: 56 downloads last week

EmbUnit? EmbUnit? is unit testing framework for embedded software. It supports the testing structure with test cases, test fixture and tests suites. It supports 3 forms of test outputs, Standard Text Outputter, Compiler Outputter and XML outputter.

  • License: MIT
  • Programming language C
  • Maturity:
  • Projects:
  • Maintainership:
    • Core Developers: 2
    • Last updated date: 2004-2-10
    • Download count: 25 last week.
    • A bad review on sourceforge saying that a bug has not been fixed for a long time.