Software Testing with LDRA Testbed®
In order to deliver reliable software and avoid high maintenance costs, it is vital that software testing is carried out at the code level.
Benefits of using LDRA Testbed
- Effective more complete testing
- Quick identification of missing test data
- Industry standard coverage metrics
- System testing
- More effective regression testing
Features of Software Testing
Code Coverage
Dynamic Coverage Analysis techniques are founded on the principle that while sections of a software application remain unexecuted by any test data then it is not possible to say, with any degree of certainty, that these sections do not contain residual errors.
With this in mind LDRA Testbed uses automatic instrumentation techniques, which facilitate the measurement of the code coverage levels that are achieved during the test process. The benefits of this process are three-fold. Firstly it indicates the effectiveness of the test data that is applied against the software under test. Secondly it highlights areas of code that have yet to be executed by any test data and hence may contain residual errors as discussed above. Thirdly, with the application of a measurable process, it is possible to set specific goals/acceptance levels for the test process as a whole and then determine if and when these have been achieved.
In addition, when an error has been identified by test data, LDRA Testbed will show exactly which code areas were executed through textual and graphical reports. These features enable users to focus on the specific sections of application source code associated with the identified error and hence save time when fixing and re-testing.
Coverage is measured at the following levels:
- Statement (TER1)
- Branch/Decision (TER2)
- LCSAJ - Test Path (TER3)
- Procedure/Function Call
- Branch Condition (BCC)
- Branch Condition Combination (BCCC)
- Modified Condition/Decision (MC/DC)
- Dynamic Data Flow
TER - Test Effectiveness Ratio.

With LDRA Testbed, execution of tests may be monitored through instrumentation in a Host/Target environment where the target can be:
- An embedded system
- A mainframe
- A simulator or emulator
- Real-time operating system (RTOS)
System and Integration Testing
LDRA Testbed is able to analyse source files and interfaces across an entire system or subsystem, to check for mismatches between interfaces during integration testing. Graphical and textual reports provide accurate results at either system level or for individual elements within the system. This enables the enforcement of uniform standards across the system or project.
LDRA Testbed helps to speed up regression testing by analysing the coverage achieved by test data sets, reporting on:
- The smallest set that retains the current level of coverage
- Redundant test cases that do not add to the existing test coverage
- By utilising this facility, previous analysis runs are not repeated unnecessarily, thereby saving testing resources. This results in more efficient testing, reducing costs to a minimum.
‘LDRA Testbed has helped us to focus on our software development, to formalise procedures for code reviews and formulate the best test strategy for our embedded systems. If a tool is easy to use it motivates engineers to test and this is proven with our use of LDRA Testbed.’
David Owen, Westinghouse Brakes
