Testing & QA - ImageConstrux - software development best practices
SeminarsConsultingResources & ToolsAbout Us
Solutions
I'm hearing about "test first" development. What is that?
Solution One Go
How can a tester improve his or her skills?
Solution Two Go
Testing & QA .:. Software Testing & QA Resources

White Box techniques

Coverage: control flow, data flow, statement and branch

Steve Cornett, "Code Coverage Analysis", Bullseye Testing Technology, 2005. A short document on coverage, mostly white box.

Joseph R. Horgan, Saul London, and Michael R. Lyu, "Achieving Software Quality with Testing Coverage Measures", IEEE Computer, September 1994, pages 60-69, 1994.

Brian Marick , "How to Misuse Code Coverage", 1997.

S Rapps, E J Weyuker , "Data Flow Analysis Techniques for Test Data Selection", Sixth International Conference on Software Engineering, Tokyo, Japan, September, 1982.
Dataflow techniques for test case generation .

NCover- A free coverage tool for the .NET environment - does statement coverage only.

NCoverExplorer includes NCover.

Microsoft’s Visual Studio includes a coverage tool built in.

Cobertura - open source coverage tool for Java. Does both statement and branch coverage. Cobertura is a fork of JCover.

Elliotte Rusty Harold, "Measure test coverage with Cobertura", IBM DeveloperWorks, May 2005.

Clover is a Java test coverage tool developed for commercial application that is free for noncommercial activities. Cenqua's Clover is a somewhat more polished, payware test-coverage tool that does essentially the same job as Cobertura with fewer rough edges. Clover 2 ($1200 and up) is now available from Atlassian, with new features.

Source Monitor is a free tool that does cyclomatic complexity and some other metrics. For C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) or HTML. Does method and function level metrics for C++, C, C#, VB.NET, Java, and Delphi.

JCover is a Java test coverage tool.

Cyclomatic Complexity

S D Conte, H E Dunsmore, V Y Shen, Software Engineering Metrics and Models, Benjamin/Cummings, 1986.

Curtis, B., S.B. Sheppard, and P. Milliman , "Third time charm: Stronger prediction of programmer performance by software complexity metrics", Proceedings of the 4th international conference on Software engineering, July 1979, pp 356-260.

T J McCabe , "A Complexity Measure", IEEE Transactions on Software Engineering, Vol 2 No 4, December, 1976.

Schroeder, Mark, "A Practical Guide to Object-Oriented Metrics", IT Pro Nov/Dec 1999, pp 30-36, 1999.

VanDoren, "Cyclomatic Complexity" SEI.

Code metrics tool NDepend

McCabe QA Metrics including cyclomatic complexity and essential complexity help identify where a program is more likely to contain errors. Platforms: Sun - Solaris 2.5.1+ , PC - Windows NT 4.0/95, IBM - AIX 4.2+, HP - HP-UX 10.2+, SGI - IRIX 5.3+

CMT++ (Complexity Measures Tool for C/C++) calculates the basic McCabe, Halstead and lines-of-code metrics for C and C++ code. Platforms: Windows 2000/NT/9x, HPUX, Solaris, Linux.

METRIC works as a stand-alone product or as part of the TestWorks/Advisor tool suite. METRIC automatically computes the Cyclomatic Complexity metrics, which measure logic complexity in routines; and size metrics, such as number of lines, comments and executable statements. Platforms SPARC SunOS 4.1.3; SPARC Solaris 2.3, 2.4, 2.5, 2.5.1, 2.6; x86 Solaris 2.4, 2.5; RS-6000/AIX 3.2.5, 4.1.2, 4.2; HP-9000/7xx HP-UX 9.05, 10.10; HP-9000/8xx HP-UX 9.04, 10.01, 10.10; x86 SCO/ODT 2.0, 5.0(3.0); SGI Irix 5.3, 6.2; DEC-Alpha OSF1 3.2, 4.0; NCR 3000; SCO/UnixWare 2.1.1; DOS.

Metrics Tools for Java, VBScript collect standard metrics on source code, including SLOC, NCSLOC, Cyclomatic Complexity, Decision Density. Platforms : Windows/NT/2K/XP.

Understand for Java, generates cyclomatic complexity metrics and also generates a bunch of other metrics.

Understand for C++ does cyclomatic complexity and other metrics for C++.

Source Monitor (for C#) does cyclomatic complexity and other metrics for C#.

Listing of static analysis tools: Includes metrics tools and cyclomatic complexity tools as well as tools like lint. Gives some basic information about each listing.

MC/DC

John Chilenski, Steven Miller, "Applicability of Modified Condition/Decision Coverage to Software Testing", Software Engineering Journal, September, 1994.

FAA, Software Considerations in Airborne Systems and Equipment Certification, Document RTCA/DO-178B, RTCA, Inc. December, 1992.
This book lists the requirements for testing avionics, depending on how life-critical the system is. MC/DC is required for the most life critical systems.

Kelly J. Hayhurst, Dan S. Veerhusen, John J. Chilenski, and Leanna K. Rierson, "A Practical Tutorial on Modified Condition/Decision Coverage", NASA, 2001.

Leanna Rierson, Kelly Hayhurst, and Dan Veerhusen, "Modified Condition/Decision Coverage (MC/DC): An Interactive Video Teletraining Course", FAA, May 2001.

Validated Software is a vendor of coverage tools for use with RTCA DO-178B testing requirements, i.e. these tools can do MC/DC coverage.

login >