level-a software
 
homeemailfeedback
 
 
 

 

Company Overview
about levelawhy outsource to usoutsourcing servicesreal-time embedded expertise

 

Resources
 software engineering
 embedded overview
 software design methods
 cost estimation techniques
 development life cycles
 testing and qualification
 
 

Software Testing

History

In 1961, a simple software error caused the destruction of a Mariner payload on board an Atlas booster. This simple but expensive error led the Air Force to mandate independent verification on all future mission-critical space launches. The methodology of verification and validation evolved from that requirement.

Historically, testing was considered a separate phase of the software life cycle that followed coding. Modern software life cycle models eschew that view in favor of iterative testing throughout the development life cycle.

Methods

Several testing methods are available to expose bugs. Testing is used to show the presence of bugs, it can never prove their absence. Testing can be broken down into 2 broad classifications: functional and structural. A variety of static and dynamic test methodologies are available.

Methodologies include:

  • black-box
  • white-box
  • code reading
  • integration testing
  • system testing

Learn

Testing can be used to show the presence of bugs, but never their absence. Testing is a powerful risk management tool because it provides early error detection and correction benefits, and technical insight into the true nature of a system's performance. Typically, a program will use several testing methodologies to address different aspects of the software product. Certification considerations often dictate the verification methods to be used.

Evaluate

Code Reading

Code reading is also know as code reviews. It is a systematic procedure for reading and understanding the operation of a program. Studies have shown that code reading detects more errors at a lower cost than any other method. Studies also show that 75% of the bugs discovered by a second independent reviewer will new ones.

Black-box Testing

This is a functional test, usually based upon documented program requirements. Test cases are written that stimulate the system to provide some expected outputs. The outputs are then measured to determine pass/fail status.

White-Box Testing

This is a structural test also known as unit-testing. Unit-testing often occurs in parallel with coding. Unit testing verifies the logic, computations, functionality, and error handling of a unit. Unit tests derived from software requirements are a very effective strategy for early error detection.

Integration Testing

Integration testing verifies the integrity of a collection of logically related units, checks external and internal interfaces, external input/output.

System Testing

System testing is performed on the complete system to verify functional and operational requirements.
   
       
 
 
 


Home | Feedback |
Privacy Commitment |

Best if viewed with Netscape 4.7 or later, and Internet Explorer 5.0 or later
©2005 LevelA.com - All Rights Reserved