Back

Testing Frameworks

The tools that are recommendend and available at CERN in order to test your applications are:

  • Cpp Unit: the C++ port of the famous JUnit framework for unit testing. Test output is in XML or text format for automatic testing and GUI based for supervised tests. See the Guide and the Installation
  • Oval: It is a validation tool which should help to detect the unexpected changes in software behavior and check its physics performances. It is expected to compile some validation programs, to run them with predefined steering parameters and input data, and to compare the results with an expected output. More information is available at this address and there is a CERN installation available.
  • Py Unit: provides a standard, proven, simple and elegant framework for writing unit tests for Python software. The package is part of the Python installation at CERN, there is a [[http://spi.cern.ch/testing/HowTo-TestFramework-PyUnit.html]guide available]] and all information is available at the pyunit website.
  • QMtest: QMTest provides a general purpose testing solution that allows an organization to implement easy-to-use testing programs and test suites. At CERN there is a guide and a public installation and more information can be found on the QMtest web site.

Other useful tools for verifying the quality of your code are:

  • Valgrind is the basic suite needed to verify memory leacks in your C++ application. It is a GPL tool to help you find memory-management problems in your programs. When a program is run under Valgrind's supervision, all reads and writes of memory are checked, and calls to malloc/new/free/delete are intercepted. You can also perform detailed profiling to help speed up your programs.
  • Callgrind is one of the Valgrind plugins, a profiler (calltree and flat distribution) generating an output file.
  • Kcachegrind can load this data file for browsing the performance results.


-- AlbertoAimar - 05 Aug 2005
Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2005-08-05 - AlbertoAimar
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LCG All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback