System Testing: by D.Mohana Gowri Ii Ms (CS)

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 14

System Testing

by D.MOHANA GOWRI II MS(CS)

System Testing
Unit & Integration Testing Objective: to make sure that the program code implements the design correctly. System Testing Objective: to ensure that the software does what the customer wants it to do.

Causes of Software Faults

System Testing Process


Function Testing: the system must perform functions specified in the requirements. Performance Testing: the system must satisfy security, precision, load and speed constrains specified in the requirements. Acceptance Testing: customers try the system (in the lab) to make sure that the system built is the system they requested. Deployment Testing: the software is deployed and tested in the production environment.

System Testing Process

Build & Integration Plan


- Large complex system is very hard to test. + We can devise a build & integration plan defining subsystems to be built and tested such that we are managing a less complex entity. Such subsystems usually correspond to increments in system scope & functionality and are called spins. Example: Microsofts Synch & Stabilize approach.

Build & Integration Plan Contd


Each spin is identified including its functionality and testing schedule. If the test of spin n succeeds but the problem arises during the testing of spin n+1 we know that the fault comes from components / functionality introduced in spin n+1. Accounting System Example: spin 0 basic accounting operations are tested; spin 1 accounting with data auditing tested; spin 2 access user control is tested, etc.

Configuration Management
Module-based systems can be shipped in various configurations of components defining the systems functionality and performance.

Regression Testing
Regression testing ensures that no new faults are introduced when the system is modified, expanded or enhanced as well as when the previously uncovered faults are corrected. Procedure: 1. Insert / modify code 2. Test the directly affected functions 3. Execute all available tests to make sure that nothing else got broken

Test Team
Testers: devise test plans, design, organize and run tests Analysts: assist testers, provide guidance for the process verification as well as on the appearance of the test results Designers: assist testers, provide guidance for testing components and software architecture Users: provide feedback for the development team

Function Testing
Thread Testing: Verifying a narrow set of actions associated with a particular function Test process requirements Test plan including the stopping criteria High probability for detecting a fault Use of independent testers The expected actions and the expected output must be specified Both valid and invalid input must be tested System must not be modified in the testing process (or to make testing easier)

Performance Testing
Load / Stress Testing: large amount of users / requests Volume Testing: large quantities of data Security Testing: test access, authentication, data safety Timing Testing: for control and eventdriven systems Quality / Precision Testing: verify the result accuracy (when applies) Recovery Testing: verify recovery from failure process (when applies)

Acceptance Testing
The purpose is to enable customers and users to determine if the system built really meets their needs and expectations. Benchmarking: a predetermined set of test cases corresponding to typical usage conditions is executed against the system Pilot Testing: users employ the software as a small-scale experiment or in a controlled environment Alpha-Testing: pre-release closed / in-house user testing Beta-Testing: pre-release public user testing Parallel Testing: old and new software are used together and the old software is gradually phased out.

THANK YOU

You might also like