Testing Computer Programs

Understand the Different Types of Testing to Improve Development

© Dawn Brewer

Feb 13, 2009
Plan Testing to Improve Quality, jose luis Navarro
Knowledge about the different types of software testing means program quality can be improved by planning and undertaking the most appropriate tests.

Testing is an important and essential part of software development: further steps are explained in How to Develop a Computer Program. The purpose of testing is to ensure that the program works as expected, however this statement oversimplifies the possible complexities of thorough testing. Learning how to test well is a key skill for developers.

There are lots of different testing methods and there are many different types of test that can be undertaken. Good development includes choosing the appropriate tests for the particular program.

There are many reasons to understand testing and really get to grips with it. Firstly, testing ensure that programs work and secondly, understanding the full testing process will ensure that when programs go for further testing (by a test team or by users) then the program will pass those tests too. Knowing how others test, and why, will improve quality as programs are more likely to work first time at each stage.

Testing typically takes place in the following sequence:

Unit Test

A unit test is usually undertaken by the developer or coder and the purpose is to make sure that an individual piece of code works as expected. Unit testing is often performed at the same time as coding. Parts of the program are developed and tested and slowly built up to a working piece of code.

System Test

Once a number of pieces of code are ready and tested, then a system test can take place. The system test ensure that all the individually developed parts of a system work together.

If problems are found in system testing, then unit development is usually required and further unit and system testing will be necessary.

Functional Test

The system test usually focuses effort around at the points where the units meet and interact. Functional testing ensures that the system works ‘end to end’. Processes (or functions) are tested to ensure all the software and system works as expected.

Acceptance Test

The acceptance test is usually performed by the users of the system or the people who requested the development. The acceptance test is to ensure that the system performs as requested.

Wikipedia gives excellent explanations of two commonly used phrases in testing, ‘black box testing’ and ‘white box testing’. It is worth considering whether either is appropriate at different points of software development.

Understanding the different tests available and then selecting which tests to perform can help improve program quality. The sooner tests are completed successfully in software development, then the shorter the duration of the overall development cycle.


The copyright of the article Testing Computer Programs in Computer Programming is owned by Dawn Brewer. Permission to republish Testing Computer Programs in print or online must be granted by the author in writing.


Plan Testing to Improve Quality, jose luis Navarro
       


Post this Article to facebook Add this Article to del.icio.us! Digg this Article furl this Article Add this Article to Reddit Add this Article to Technorati Add this Article to Newsvine Add this Article to Windows Live Add this Article to Yahoo Add this Article to StumbleUpon Add this Article to BlinkLists Add this Article to Spurl Add this Article to Google Add this Article to Ask Add this Article to Squidoo