Software Testing and Maintenance

Filed Under (Software Development) by Fawad on 27-05-2010

Tagged Under : , , , , , , , , , , ,

Software Testing

Testing is a process consisting of subjecting a program to a set test inputs and observing if the program behaves as expected. If the program fails to behave as expected then the conditions for which failure occurs are noted for later debugging and correction.

Objectives of Software Testing

  1. The main objective of software testing is to find an error.
  2. A good test case should be able to find an undiscovered error.

Verification and Validation

Software testing is very much related with verification and validation. Verification refers to the set of activities that ensures that the software correctly implements a specific function. Validation refers to the set of activities that ensures that the software has been built is traceable to customer requirements. Thus while verification is concerned in building the product up to the specification, validation is concerned in building the product that customer wants.

Types of Software Testing

Software testing can be classified into two categories- black box testing and white box testing.

  • Black Box Testing- Black box testing normally determines the quality of the software. Black box testing checks the functional requirements. It checks the input data and output data of the requirements. The result of the testing is determined by observing the outputs to the corresponding inputs.
  • White Box Testing- White box testing is used to check the internal structure of a program. It uses control structures to drive test cases. The tester should have a thorough knowledge of the program or software to carry out this testing efficiently.

Levels of Testing

  • Unit Testing- Unit testing refers to the test of a module or segment of code. Unit testing uses the method of white box testing.
  • Integration Testing- Integration testing is concerned with verification and program construction. Integration testing exposes the errors in the interfaces and interaction between modules.
  • System Testing- System testing tests a whole system to check that if it has met its requirement specification or not. System testing is consists of three types of testing strategies. These are:
  • Alpha Testing- Alpha testing is the first stage of system testing and is carried out by the members of the development team.
  • Beta Testing- After alpha testing, beta testing is executed. Beta testing is performed to check whether the developed software meets its user requirements.
  • Acceptance Testing- The third and the last stage, called acceptance testing is performed by the customer to determine whether to accept or reject the delivery of the system.

Software Maintenance

After software testing comes software maintenance. Software maintenance is the process of retaining the value of the software and improving the quality of the software. Software maintenance can be of four types. These are –

  • Corrective Maintenance- It is used to correct the problems after delivery of the product.
  • Adaptive Maintenance- It is used maintain the software product in a changing environment.
  • Perfective Maintenance- It is used to improve the performance of the software.
  • Preventive Maintenance- It is used to detect and correct errors in a software before they becomes effective.
Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Add to favorites
  • LinkedIn
  • MySpace
  • Technorati
  • Twitter
  • Yahoo! Buzz
Share

Post a comment