CDashSummary

From NAMIC Wiki
Revision as of 11:09, 4 June 2008 by Will (talk | contribs)
Jump to: navigation, search
Home < CDashSummary

Description and Documentation

CDash is a dashboard testing server distributed along with CMake. CDash is an open source, web-based software testing server. CDash aggregates, analyzes and displays the results of software testing processes submitted from clients located around the world. Developers depend on CDash to convey the state of a software system, and to continually improve its quality. CDash is a part of a larger software process that integrates Kitware's CMake, CTest, and CPack tools, as well as other external packages used to design, manage and maintain large-scale software systems.

CTest and DART form the core of the NAMIC test-driven development (TDD) process. This process facilitates agile programming by supporting a continuous feedback look between user, developers and test results. As the this figure shows, CTest is used to test code found in a source code repository (i.e., CVS or SVN), push the results to DART, where the results are viewed by developers possibly distributed around the world. Developers then make corrections to code or necessary modifications to insure that the dashboard stays "green" and the code quality stays high.

A rigorous testing process such as that practiced by NAMIC is critical to the stability and robustness of software systems. Without continuous testing, changes introduced into the system can easily introduce unanticpated side effects and/or bugs. Over time this can produce brittle code resulting in frustrated users. Worse yet, complex algorithms may behave differently, possibly producing inaccurate or even incorrect results. Another advantage of continuous testing is that bugs are easily discovered and repaired when changes to the source code occur. Waiting to fix bugs at the point of software release can be a difficult endeavor due to the loss of causility between code check-in and software fauls.

Additional usage details for it can be found here.