welcome
1-Find Errors because they cost a lot
2-Ensures quality for user/customer
3-System optimum performance
Atomic energy of canada limited
therac-25
Software/system
Development
Life Cycle-SDLC
SDLC
4
SDLC
Sequential
Iterative &
Incremental
• In the Waterfall model, the development activities are completed one after another.
• In this model, test activities only occur after all other development activities have been completed
ERD diagram
ERD diagram
SRS document
Unlike the Waterfall model, the V-model integrates the test process throughout the development process, implementing the principle of early testing.
Iterative & Incremental Models
Each iteration tends to be relatively short (e.g., hours, days, or a few weeks), and the feature increments are correspondingly small, such as a few enhancements and/or two or three new features
What is Testing ?
Most people have had an experience with
software that did not work as expected.
• Software that does not work correctly can lead
to many problems, including:
• loss of money, time, or business reputation
• Injury or death
Software testing is a way to:
- assess the quality of the software
- reduce the risk of software failure in operation
What is Software Testing?
Software Testing ≠Test Execution
- software testing is a process which
includes many different activities
- Execution is only one of these activities.
What is Software Testing?
Software
Testing
Dynamic
Testing
Static
Testing
Software
Testing
Validation
Verification
Objectives of Software Testing
Work-prodct
Evaluation
Requirements
Fulfillment
Building
Confidence
Providing
Information to
Stakeholdes
Reduce Risk
Preventing
Defects
Compliance
with Laws
Finding
Defects
Objectives
may vary
Relationship between Testing & Debugging
Testing
Debugging
Confirmatin
Testing
Test Process
There is no one universal software test process, but there are common sets of test activities without
which testing will be less likely to achieve its established objectives
Test Process
Test Levels
-Test levels are groups of test activities that are
organized and managed together.
- Each test level is an instance of the test process
- Test levels are related to other activities within the
software development lifecycle.
Acceptance
System
Integration
Unit
Component (Unit) Testing
Component testing (also known as unit or module testing) focuses on components that are separately testable
Integration Testing
Integration testing focuses on interactions between components or systems
Integration
Testing
Component
Integration
System
Integration
- Component integration testing is often the responsibility of developers.
- System integration testing is generally the
responsibility of testers.
Integration Testing
System testing focuses on the behavior and capabilities of a whole system or product
System Testing
- System testing often produces information that is used
by stakeholders to make release decisions
- The test environment should ideally correspond to the
final target or production environment
- System testing should focus on the overall, end-to-end
behavior of the system as a whole
- Independent testers typically carry out system testing.
System Testing
Acceptance testing, like system testing, typically focuses on the behavior and capabilities of a whole system or product
Acceptance Testing
- Alpha Testing is done inside the organization
- Beta Testing is done by users at their location
Alpha & Beta Testing
Testing Types
-Testing what the system does
-Usually answered with (Yes/No)
1-Functional Testing:
-Testing how the system performs
-Hard to answer with Yes/No
-Usually measured as a range
2-Non-functional Testing:
-Testing without knowing the internal structure of the system
3-Black-Box Testing:
-Testing while monitoring the internal structure of the system
4-White-Box Testing:
-Testing that includes executing the software
5-Dynamic Testing
-Testing that doesn’t includes executing the software
6-Static Testing
Testing after debugging to ensure defects are fixed
7-Retesting (Confirmation Testing)
Testing unchanged areas to ensure they are not affected by changes
8-Regression Testing
Testing main functionalities to ensure that the build is stable enough to continue testing
9-Smoke Testing
Thank you
Thank you