MT S5 Levels
MT S5 Levels
• Levels of Testing
• Unit Testing
• Integration Testing
• System Testing
• UAT
• Approaches:
Black Box
White Box
• Benefits:
2. Simplifies integration
1. Test early for each component and prevent the defect from being
carried forward to next stage.
1. The Unit test criteria, the Unit test plan, and the test
case specifications are defined.
• Uniqueness Checks
• Length Checks
• Numeric Checks
• Alphanumeric Checks
• Negative Checks
• Default Display
DO NOT DISTRIBUTE – HIGHLY CONFIDENTIAL
Unit Testing Activities - 2
Functionality Checks:
• Screen Functionality
• Field Dependencies
– Top Down
– Bottom Up
– Big Bang
• Then combine all the subsystems that are called by the tested
subsystems and test the resulting collection of subsystems.
• Design, implement and test the top modules using stubs (or dummy
modules).
B C D
Layer II
E F G
Layer III
Test
Test A Test A, B, C, D A, B, C, D,
E, F, G
Layer I
Layer I + II
All Layers
• Requires a module driver for each module. Put together sub trees
and test until whole tree.
A
Layer I
Test E
B C D
Layer II
Test B, E, F E F G
Layer III
Test F
Test C Test
A, B, C, D,
E, F, G
Test D,G
Test G
Bottom-up Testing :
Component Driver:
• A simulated program that replaces a calling program is called Driver.
• A routine that calls a particular component and passes a test case to it.
• Driver is a calling module for low level components and is developed for
temporary use.
• The program as an entity does not exist until the last module is
added.
• How do you select the target layer if there are more than 3 layers?
C D
Test E B Layer II
E F G
Layer III
Bottom Test B, E, F
Layer Test F
Tests
Test
A, B, C, D,
Test D,G E, F, G
Test G
Test A,B,C, D
Top
Test A
Layer
Tests
Module 1
Module 6 Module 2
System
Module 5 Module 3
Module 4
Pre-Condition:
• 100% unit & Integration test should be successful.
Special Test are grouped on the basis of applications under test and
the type of tests performed –
• Requirements Testing
• Smoke testing
• Sanity testing
• Formal testing
• In formal testing
• Re-Testing
www.talentsprint.com DO NOT DISTRIBUTE – HIGHLY CONFIDENTIAL 37
System Testing:
• Regression Testing
• Exploratory testing
• Monkey/gorilla/zigzag/rattle/uneven testing
• Error-handling testing
• Inter-systems testing
• Parallel testing
• GUI/UI testing
• Usability testing
• Security testing
www.talentsprint.com DO NOT DISTRIBUTE – HIGHLY CONFIDENTIAL 38
System Testing:
• Configuration testing
• Performance testing
• Recovery testing
• Installation/Un-Installation testing
• Database Testing
1. Client-server systems
Requirements Testing:
• Every system is requirement tested.
• Objectives include –
– Correctness is maintained
Requirements Testing:
• Methods used include –
Smoke Testing:
Sanity Testing:
Formal Testing:
In Formal Testing:
Re-Testing:
Regression Testing:
Regression Testing:
• Can be at –
Unit level
Module level
System level
Locate errors
Preserve quality
Exploratory testing:
Monkey/gorilla/zigzag/rattle/uneven testing:
2. To determine whether –
2. To determine whether –
6. The new system is used in parallel with the existing system for certain period
7. Thorough cross-checking of the outputs and comparison with outputs from existing
system
www.talentsprint.com DO NOT DISTRIBUTE – HIGHLY CONFIDENTIAL 55
System Testing:
Compliance Testing:
1. With Respect to Processes:-
3. To determine whether –
5. Use of checklists
6. Peer reviews
7. SQA reviews
8. Internal audits
www.talentsprint.com DO NOT DISTRIBUTE – HIGHLY CONFIDENTIAL 56
System Testing:
GUI/UI testing:
• Validating/checking does the user interfaces are professionally designed
or not is called “GUI/UI testing”.
Checklist:
A check does the basic elements are available or not.
• To determine whether –
Usability testing :
• Validating the user friendliness of the application i.e. checking
does the application is understandable and opera table by all
types of users or not is called “usability testing”.
Usability testing :
1. Performed to check ease of use of an application
2. To determine –
4. Usability surveys
5. Beta tests
Usability testing :
1. Checks for human factor problems :
– Is it easy to use?
Usability testing :
2. It should not
3. It should
Compatibility testing:
Compatibility testing:
Installation testing:
Un-installation testing:
Installation testing:
2. Determines whether –
Globalization testing:
• Checking does the system is having a provision of changing
languages, currency, date and time etc…if it is designed for
global users.
Localization testing:
• Checking the default languages, currency, date and time format
etc…when an application developed for local users is called as
“localization testing”.
Recovery testing:
• Checking how does the system is handling the unexpected or
unpredictable situations like power failures, system crash etc
is called “recovery testing”
Recovery testing:
1. To determine whether operations can be continued after a
disaster or after integrity of the system has been lost
Recovery testing:
Determines whether –
Configuration Tests:
– Memory
– Disk drives
– CPU
– Network Card
Security testing :
• Validating does all security conditions are properly build in
the system or not is called “security testing”.
Checklist:
Security testing :
Check for authentication:
– Authentication testing: checking does the system is able to
recognize the register users and displaying the right info to the
right user or not is called as “authentication testing”.
Security testing :
Check for Encryption.
Performance Testing:
• Analysing various efficiency characteristics of the system
such as response time, through put, load, volume, stress,
resources, consumption, tps/tpm (transaction per
second/minute) and transaction mix is collectively called as
“performance testing”.
Load Testing:
than expected)
– Input transactions
– Internal tables
– Disk space
Database Testing:
• Checking the impact of the front end operations with back end and vice
versa is called DB Testing.
• The more complex the front ends, the back ends are even more
intricate.
• So, it is all the more important to learn about DB testing and be able to
validate the databases effectively to ensure secure and quality
databases.
www.talentsprint.com DO NOT DISTRIBUTE – HIGHLY CONFIDENTIAL 80
System Testing:
• Run a test
• Atomicity
• Consistency
• Isolation
• Durability
• Data Integrity
• Manually
– Client installation
– Security
– Data
– Standards
Key factors:
– Security
– Performance
– Correctness
– Compatibility
– Reliability
– Data integrity
– Usability
– Recoverability
Security:
– External intrusions
– Secured transactions
– Viruses
– Access control
– Authorization
Performance (Load testing):
– Concurrency
– Stress
– Throughput
Correctness:
– Functionality
– Calculations
– Navigation
Compatibility:
– Operating system
– Browser
Reliability:
Data integrity:
Usability:
– Navigation is correct
Recoverability:
– Lost connections
• Final stage of testing before the system is accepted for operational use.
• Validates –
• An acceptance test is a test that the user defines, to tell whether the
system as a whole works the way the user expects.
Purpose:
Assumptions/Pre-Conditions:
• Completed system and regression testing
• Exit decision
• Specific procedures
Assumptions/Pre-Conditions:
• Acceptance Criteria MUST be documented
– Acceptance Testing
– Project stakeholders
Expectations:
• Extra time
• Non-testable requirements
Stages of UAT:
– Alpha Testing
– Beta Testing
Alpha Testing:
Beta Testing:
1. Levels of testing
2. Integration techniques
a) TRUE
b) FALSE
www.talentsprint.com DO NOT DISTRIBUTE – HIGHLY CONFIDENTIAL 99
Review Questions:
a)TRUE
b) FALSE
a) TRUE
b) FALSE
10