Software Testing
Software Testing
By.
Prof. K. Adisesha BE, MSc, M Tech, NET
2 Main Contents
Software Processes
What is software testing
Testing Level
Testing Strategies
Activities of software testing
Static
verification
Dynamic
Prototype
validation
Debugging
Testing of the Software manually i.e. without using any automated tool or any script.
Different stages for manual testing like unit testing, Integration testing, System testing and
User Acceptance testing.
Testers use test plan, test cases or test scenarios to test the Software to ensure the
completeness of testing.
Automation Testing
Tester writes scripts and uses another software to test the software .
Automation Testing is used to re-run the test scenarios that were performed manually,
quickly and repeatedly..
Increases the test coverage; improve accuracy, saves time and money in comparison to
manual testing.
Testing Methods
Black Box Testing
A tester will interact with the systems user interface by providing inputs and examining
outputs without knowing how and where the inputs are worked upon.
White box testing is the detailed investigation of internal logic and structure of the code.
The tester needs to have a look inside the source code and find out which unit/chunk of the
code is behaving inappropriately
Its a technique to test the application with limited knowledge of the internal workings of an
application. In software testing
"The more you know the better carries a lot of weight when testing an application.
Comparison between the Three Testing Types
The Internal Workings of an application are not Somewhat knowledge of the internal workings Tester has full knowledge of the Internal
required to be known are known workings of the application
Performed by end users and also by testers and Performed by end users and also by testers and
developers developers Normally done by testers and developers
Testing is based on external expectations. Testing is done on the basis of high level Internal workings are fully known and the
Internal behavior of the application is unknown database diagrams and data flow diagrams tester can design test data accordingly
Integration Testing
I. Bottom-Up Integration
II. Top-Down Integration
System Testing
Regression Testing
Acceptance Testing
I. Alpha Testing
II. Beta Testing
Non-Functional Testing
Performance Testing
I. Load Testing
II. Stress Testing
Usability Testing
Security Testing
Portability Testing
Unit Testing
Algorithms and logic
Data structures (global and local)
Interfaces
Independent paths
Boundary conditions
Error handling
Why Integration Testing Is Necessary
T1
T1 A
A
T2
T2 B
B T3
T3 C
T4
Problems with Top-Down Integration
Test Test
Drivers Drivers
Testing Strategy
Test Plan
Test Scenario
Test Case
Traceability Matrix
Testing Documents - Testing Strategy
Test strategy is statement of overall approach of testing to meet the business
and test objectives
Focus of the document is to describe what to test, how to test, when to test and who will do what test.
The Test Plan document is usually prepared by the Test Lead or Test Manager
Components of the Test Plan document:
Test scenarios are the high level classification of test requirement grouped depending on
the functionality of a module
Purpose of this document is to make sure that all the requirements are covered in test cases so
that nothing is missed
Develop
operational Design Test
profile statistical integrated
tests system
Queries