BYRAJESWARI S
SOFTWARE TESTING
INTRODUCTION
Software testing is the process of testing the software product.
Effective software testing will contribute to the deliver of higher quality software products more satisfied users, and lower maintenance costs, more accurate and reliable results.
The goals of testing is to uncover as may errors as possible.
The software testing is important activity to improve to quality of the software.
Types of Testing
Functionality testing: to verify the proper functionality of the software.
Forced error testing: to break and fix the software during testing.
compatibility testing: to ensure that software is compatible with various hardware platforms, operating systems and software packages.
Performance testing: to saw how well software performs in terms of the speed of computations to the end-users.
Scalability testing: to ensure that the software will function well as the number of users and size of databases increase.
Stress testing: to see how the system performs under extreme conditions, such as a very large number of simultaneous users.
Usability testing: to ensure that the software is easy to use.
Application testing: to ensure security of data.
Taxonomy of software testing
There are few general approached for the software testing
black box testing white box testing Unit testing Top-down testing Bottom-up testing Acceptance testing debugging
Black box testing
The black box testing is used to demonstrate that the software functions are operational. Black box, which is also called functional or specification technique.
The major objectives of the black box testing is
Incorrect or missing functions.Interface errorsErrors in data structurePerformance errorsInitialization and termination errors
White box testing
White box testing is also called as clear or glass box testing. In white box testing the procedural details are closely examined.
The major objectives of the white box testing is
Control flow graph.Cyclomatic complexity and graph matrix.Executing all the loops within their
boundaries.Exercising internal data structures to ensure
their validity.
Unit testing
Unit testing comprises the set of test performed by an individual programmer prior to integration illustrative into a larger system. This situation is illustrated as follows.
Coding & unit Testing
integration Debugging
testing
System testing
System testing concentrated on testing the complete systems with varieties of techniques and methods.
System testing involves two kinds of activities Integration testing Acceptance testing
Integration testing: A group of dependent componets are tested together to ensure their quality of their integration unit.
Acceptance test involves planning and execution of functional tests, performance tests and stress tests to verify that the implemented system satisfies its requirements.
Acceptance testes are typically performed by quality assurance and/or customer (end users)depending upon local circumstance, the development group may or may not be involved in acceptance testing .
Top-down Testing
Top down testing is an incremental approach in which modules are intergraded by moving down through the control structure.
The main control module is used as a test driver, and the stubs are substituted for all modules directly subordinate to the main control module.
Subordinate stubs are replaced one at a time with actual modules using either depth-first or breadth –first method.
Tests are conducted as each module is integrated.
On completion of each set of tests, another stub is replaced with the real module.
Regression testing is conducted to prevent the introduction of new errors.
Bottom-up Testing
In bottom-up testing is modules at the lowest levels are integrated at a first, and then integration is down by moving upward through the control structure.
Low-level modules are combined into clusters that performs a specific software sub-function.
A driver program is written to coordinate test case input and output.
The whole cluster is tested.Drivers are removed and clusters are
combined moving upward in the program structure.
Acceptance Testing
The acceptance testing is a kind of testing conducted to ensure that the software works correcting in the user work environment.
Alpha testing: is a testing in which the version of complete software is tested by the customer under the supervision of developer.
Beta testing: is in which the version of software is tested y the customer without the developer being present.
Debuging
Bug is a name given to errors that are found in a software product and debugging is a methodical process of finding and reducing or eliminating the number of bugs or defects in a computer program .
Verify the corrections.Prove or disprove each hypothesis.List possible causes for the observed failure.Use the availabe information to eliminate
hypothesis.
THANKYOU