Software Testing-MSC Level
Software Testing-MSC Level
» Name : Eman
Fatima Ijaz
» Degree : ADS CS
(4th)
» Subject : Software
Engineering
» Topic: Software
SOFTWARE TESTING
Introduction
Levels Of Testing
Categories
1.Functional Testing
2.Non-functional Testing
SOFTWARE TESTING
• WHY WE NEED TO TEST ?
In 1994, China Airlines Airbus A300 crashed due to a software bug
killing 264 people .In 1999, a software bug caused the failure of a
$1.2 billion military satellite launch. In 2015, a software bug in
fighter plane F-35 resulted in making it unable to detect targets
correctly.
• Software testing :
Software testing is a process to check the functionality of a software ,to find
whether the developed software meets the requirements of Users. Testing
comes after implementation and it’s the Fourth stage of SDLC ensures that
developed software works correctly and is free of bugs before deployment.
Case Study:
The NASA Mars Climate Orbiter was a $125 million spacecraft launched
in 1998. It was designed to study the Martian atmosphere changes but as
the spacecraft entered too low an orbit around .It burned up in the
Martian atmosphere.
➤ Causes:
1.Orbitor lacks of Integration testing, however unit-testing of individual
modules may have passed.But no integration tests verified data flow between
systems.
2.Interface Testing was also Missing.
3.There was no automatic unit conversion or data validation check
between the components.
SOFTWARE 1.FUNCTIONAL Unit Testing
TESTING TESTING
System testing
Integration testing
Stress Testing
LEVELS OF TESTING :
FEATURES :
Ensure correct/incorrect
ATM Machine validatePIN() PINs are processed
accurately.
Verify correct identification of
Web App validateEmail() function
valid/invalid email formats.
Test scoring mechanism in
Game Engine updateScore() method isolation from game UI or
logic.
2) INTEGRATION TESTING :
Integration Testing ensures that different modules or services work together
correctly in a software. It focuses on interfaces, data flow, and interaction
between components.
EXAMPLE :
•A login module sends data to a user profile module. Integration testing verifies that
after login, the correct profile is loaded.
FEATURES :
•Detects interface issues (e.g., Data mismatch, incorrect API calls)
•Ensures proper flow of data and control
•Can be complex when many modules are involved
•Needs good planning of stubs and drivers
EXAMPLES :
Modules Involvement What’s Tested Description
Features :
•Ensures the product meets end-user needs
•Detects usability issues
•Acts as a final gate before production
•May not cover all scenarios
•Feedback can be subjective
TYPES :
Type Function
Alpha Testing Performed in-house by internal staff/users before release.
Released to a limited number of users(external) outside the
Beta Testing
company to gather feedback.
EXAMPLES :
1) Mobile Application :
A bank develop an App and send it to 100 people (beta testers) before sending it to its
Customers.
2)Online Shopping Apps :
When a user wants to purchase anyting Online then he is firstly Login into the
App.Then he provide bank details.Here , Acceptance works in Beta testing
method ,the end user ( customers ) data should be protected.The transactions must
be carried successfully.The website/App should not crash and it should send
confirmation SMS or an email.
VERIFICATION AND VALIDATION (V&V):
Verification focuses on internal process quality of Software modules .The common methods for
verification are :
• Code Reviews: Peers checks code for logic errors or deviations.
• Walkthroughs: Present code/design to reviewers.
• Static Analysis: Use tools like SonarQube to detect code smells or vulnerabilities.
• Example: During the design phase of a hospital management system, architects ensure the
database schema meets all data flow and privacy requirements.
Validation of Software focuses on meeting the customer's requirements effiently.The Methods:
• Functional Testing: Validates specific features.
• Usability Testing: Tests how user-friendly the product is.
• Performance Testing: Ensures the app runs efficiently under load.
DIFFERENCE B/W VERIFICATION & VALIDATION
Other Verification is also termed as white box Validation can be termed as black box
testing or static testing as work product goes testing or dynamic testing as work
Terminology through reviews. product is executed.
Case Study:
Therac-25
The Therac-25 was a radiation therapy machine used in hospitals, but its software
had serious flaws causing deadly accidents. Due to bugs in the user interface and
problems with concurrent programming (when two things happen at the same
time in code), the machine accidentally gave patients massive radiation overdoses.
These bugs weren’t caught because the software wasn't properly verified (checked
against design requirements)
Lesson:
Lack of thorough code verification and validation testing caused fatal accidents.
TESTING TYPES :