SOFTWARE TESTING
Click to edit Master subtitle style By Jagannath Ojha(Jagat)
3/25/12
What is Testing?
According to ANSI/IEEE1099
Testing is the process of analyzing a software item to detect the differences between existing and required conditions and to evaluate the features of the software item.
Testing is questioning a product in order to evaluate it. Planned process, used to identify the correctness, completeness, security and quality of software.
3/25/12
(contd.)
Try it and see if it works. Done to demonstrate the software what it is supposed to do as well as what it is not supposed to do. Intended to finding defects. Testing does not make the software perfect only catch defects that are contrary to specification.
3/25/12
Misunderstanding about testing
Testing is debugging. Testing is not job of programmer. Software can be tested completely. Testers can find all the bugs. Testing is not a creative or skilled job.
3/25/12
Why?
To improve quality. To verification and validation. Identify areas of weakness and enhancements. For reliability estimation.
3/25/12
Software testing life cycle
3/25/12
How does software fail?
Wrong requirements: not what the customer wants. Missing requirements. Requirements impossible to implements. Faulty analysis , design , implementation. Wrong assumption.
3/25/12
Principles
All tests should be traceable to customer requirements. Tests should be planned long before testing begins. Testing should begin in the small and progress toward testing in the large. Exhaustive testing is not possible.
3/25/12
(contd..)
Do not plan tests assuming that no errors will be found. The probability of locating more errors in any one modules is directly proportional to the number of errors already found in that module. Include test cases for invalid or unexpected conditions. Test early and regularly.
3/25/12
Testing approach
1.
White box testing. Black box testing.
2.
3/25/12
White box testing.
The tester chooses inputs to exercise paths through the code and determine the appropriate outputs. Require internal perspective of the system, programming skills. White-box test design technique includes:
Control flow testing.
3/25/12
(contd.)
Data
flow testing. testing.
Branch Path
testing. coverage. life cycle testing.
Code Data
3/25/12
Black box testing
Conducted at the software surface. Used to demonstrate that software functions are operational. Also called behavioral testing and focuses on the functional requirements. Programming knowledge in general is not required.
3/25/12
(contd.)
Black-box testing attempts to find errors in the following categories:
Incorrect Interface Errors
or missing functions. errors.
in data structure or external database access. or performance errors. and termination errors.
Behavior
Initialization
3/25/12
Testing levels:
Unit testing. Integration testing. System testing. Acceptance testing.
3/25/12
Type of testing
There are different types of testing:
Performance Testing:
whether system meets performance requirements.
Security Testing: internal or
test your sites overall protection against unauthorized external access.
Database Testing:
check the data flow between front end back end. Consistency and integrity of data.
3/25/12
(contd.)
Functional Testing:
Verifies the crucial business functions are working in the application. Tests would include, using both valid and invalid data
User Interface Testing
It verifies whether all the objects of user interface design specifications are met.
Stress Testing:
How applications response when there is a scarcity for system resources.
3/25/12
(contd.)
Load Testing:
It verifies the performance of the server under stress of many clients requesting data at the same time. under heavy load.
Install/Uninstall Testing: Configuration Testing: Compatibility Testing:
3/25/12
(contd.)
Recovery/Error Testing: Alpha Testing: Beta Testing: Regression Testing: Usability Testing:
3/25/12
Testing artifacts:
Test plan:
A test specification. Also called a test strategy.
Test case
a set of conditions or variables consists of a unique identifier, preconditions, events, a series of steps to follow, input, output, expected result, and actual result.
3/25/12
(contd.)
Test suite
collection of test cases is a test suite. more detailed instructions or goals for each collection of test cases.
Test data
sets of values or data.
3/25/12
3/25/12