Code Based Testing Course Description: Overview


The IEEE standard for unit testing is to execute, at least once, each statement and conditional branch within a software program. However, experience has shown that this technique is not meticulous enough to reliably test safety-critical and mission-critical software, or applications involving high levels of as ynchronous interaction.

The one to two day Code-Based testing seminar introduces techniques designed to increase testing coverage by thirty-five to forty percent over that achieved by the IEEE standard. This is accomplished by ensuring that all data flows (i.e., the set/use pairs of data transformations) are tested. This increased testing coverage reveals code defects which only show up when tests are executed in a particular sequence or when a test is in a particular position in the test stream.

Code-Based Testing also identifies the source of non-reproducible defects (many of which have their roots in spurious data flows). When they occur during the development of a product, such order-dependent, position-dependent, and non-reproducible defects
are among the most difficult and expensive obstacles to overcome. Practiced in conjunction with methods taught in the
Requirements-Based Testing seminar, Code-Based Testing ensures maximum effectiveness in software testing.

The Code-Based Testing seminar presents a method called Code Analysis. This method is used to identify data flows within the program code. Code Analysis is applied to the special issues in designing test libraries that cover one hundred percent of data flows, testing asynchronous interactions, testing maintenance changes, a nd reverse-engineering logical rules from code.

Useful methods for scaffolding code-under-test will be taught, allowing a ll exception handling to be tested....even those functions invoked only by error conditions within hardware and operating system software.

Intended Audience

Programmers, quality assurance engineers, test engineers and managers.

Prerequisites
Coding experience in any language

Duration:
One to two days

Labs
Over 60% of class

Class Limit
20 students

Course Outline

Code Analysis and Testing
· Introduction
· Objectives

The Code Analysis Process
· Segmenting Code
· Aliasing
· Data Flow Identification
· Interface Definition
· Higher Orders of Data Flow Coverage

Language-Specific Code Analysis
· Assembler
· C and C++
· COBOL
· FORTRAN
· Pascal

Applying Code Analysis
· Analyzing and Supplementing Test Coverage
· Testing Asynchronous Code
· Extracting Functional Requirements from Code
· Determining the Impact of Maintenance Changes
· Implementing Code Analysis
· Planning the Code Analysis Effort
· Automating Code Analysis

Bender RBT Inc.
17 Cardinale Lane
Queensbury, NY 12804
518-743-8755
[email protected]



 

RETURN TO TRAINING PAGE