Software testing is a vital process without which no software release can occur, it makes the software usable. Software testing offers opportunities constantly to be exposed with new development methods, new platform technologies, new product innovations.
2. Slide 2 www.edureka.co/software-testing
Objectives
At the end of this session, you will be able to:
Software Testing fundamentals
Software Development Life Cycle (SDLC) and different types of models
Test Planning
Test Design
3. Slide 3 www.edureka.co/software-testingSlide 3
Software Testing
Software Testing is the process of validating and verifying that a software application or product works as expected
4. Slide 4 www.edureka.co/software-testingSlide 4
Typically involves reviews and meetings to evaluate documents, plans, code requirements, and specifications
This can be done with checklists, issues lists, walkthroughs, and inspection meeting
Verification and Validation
Verification
Validation
Typically involves actual testing and takes place after verifications are completed
Validation and Verification process continue in a cycle till the software becomes defects free
5. Slide 5 www.edureka.co/software-testingSlide 5
Why Software Testing?
Software developed by human beings is likely to have faults/bugs
Failures can be very expensive
Learn about the reliability of the software
Avoid being sued by customers
To stay in business
6. Slide 6 www.edureka.co/software-testingSlide 6
What is a “Bug”?
A person makes
an error ...
… that creates a
fault in the
software ...
… that can cause
a failure
in operation
Error - Fault - Failure
7. Slide 7 www.edureka.co/software-testingSlide 7
Why do Faults Occur in Software?
Wrong Requirements : Erroneous, incomplete, inconsistent requirements.
Design: Fundamental design flaws in the software.
Implementation: Mistakes in chip fabrication, wiring, programming faults, malicious code.
Support Systems: Poor programming languages, faulty compilers and debuggers, misleading development tools.
9. Slide 9 www.edureka.co/software-testingSlide 9
Cost of Software Faults
An F-18 crashed because of a missing exception condition: if ... then ... without the else clause that was thought
could not possibly arise.
In the US, five nuclear power plants were shut down in 1979 because of a program fault in a simulation program
used to design nuclear reactor to withstand earthquakes.
In Washington, 1987, a patient received 8,000-10,000 radiation instead of the prescribed 86 radiation .
The patient died of complications of the radiation overdose.
A software flaw caused a UK bank to duplicate every transfer payment request for half an hour. The bank lost 2
billion British pounds!
10. Slide 10 www.edureka.co/software-testingSlide 10
Classification of Software Testing
Software Testing can broadly be classified into two categories
Manual Testing
Manual testing includes testing a software
manually
The tester takes over the role of an end-user
and tests the software to identify any
unexpected behavior or bug
There are different stages for manual testing
Automation testing also known as Test
Automation, is when the tester writes scripts
and uses another software to test the product
Automation testing automates the manual
testing process by using some tool like
Selenium
By using Automation testing we can re-run the
test scenarios that were performed manually,
quickly, and repeatedly
Automation Testing
11. Slide 11 www.edureka.co/software-testingSlide 11
Principles of Testing
Testing shows presence of defects
Exhaustive testing is impossible
Early testing
Defect clustering
Pesticide paradox
Testing is context depending
Absence of errors fallacy
12. Slide 12 www.edureka.co/software-testingSlide 12
What is Quality?
Quality is defined as meeting the customer’s requirements and according to the standards
The best measure of Quality is given by FURPS
Functionality
Usability
ReliabilityPerformance
Scalability
Best measure
of
Quality
13. Slide 13 www.edureka.co/software-testingSlide 13
Quality Assurance
Quality Assurance is a planned and systematic set of activities necessary to provide confidence that products
and services will conform to specified requirements and meet user needs
Process oriented
Defect prevention based
Throughout the life cycle
Management process
14. Slide 14 www.edureka.co/software-testingSlide 14
Quality Control
Quality control is the process by which product quality is compared with the applicable standards and the
action taken when non conformance is detected
Product oriented
Defect detection based
15. Slide 15 www.edureka.co/software-testingSlide 15
QA Versus QC
QA QC
To make sure that we are doing the right
things, the right way
To make sure that the results of what
we’ve done are what we expected
Focuses on building in quality and hence
preventing defects
Focuses on testing for quality and hence
detecting defects
Deals with process Deals with product
For entire life cycle For testing part in SDLC
Preventive process Corrective process
16. Slide 16 www.edureka.co/software-testingSlide 16
Roles of a Tester
Requirement
gathering
Phase
Design
Phase
Development
Phase
Testing
Phase
Deployment
Phase
Support
Phase
Requirement
analysis
Use case analysis
and
contribute to test plan
Author/Review test case
and
finalize test plan
Test execution
and
log defects
Training documentation
and
lessons learnt
Test production
issues
17. Slide 17 www.edureka.co/software-testingSlide 17
When to Start Testing?
Testing is done in different forms at every phase of SDLC like
» Requirement gathering phase: The analysis and verifications of requirements also considered as testing
» Design phase: Reviewing the design with intent to improve the design is also considered as testing
» Development phase: Testing performed by a developer on completion of the code is also categorized as
Unit type of testing
Requirement
gathering
Phase
Design
Phase
Development
Phase
Testing
Phase
Deployment
Phase
Support
Phase
Phases at which testing is started
18. Slide 18 www.edureka.co/software-testingSlide 18
When to Stop Testing?
Unlike when to start testing it is difficult to determine when to stop testing, as testing is a never ending process
and no one can say that any software is 100% tested
Following are the aspects which should be considered to stop the testing:
» Testing Deadlines
» Completion of test case execution
» Completion of functional and code coverage to a certain point
» Bug rate falls below a certain level and no high priority bugs are identified
» Management decision
21. Slide 21 www.edureka.co/software-testing
Test Planning Tasks
To determine the scope and risks
To determine the test approach
To implement the test strategy
To determine the required test resources like people, test environments, PCs, etc.
To schedule test analysis and design tasks, test implementation, execution and evaluation
To determine the Exit criteria we need to set criteria such as Coverage criteria
22. Slide 22 www.edureka.co/software-testing
Test Plan
Test plan is the project plan for the testing work to be done
It is not a test design specification, a collection of test cases or a set of test procedures; in fact, most of our test
plans do not address that level of detail
Many people have different definitions for test plans
23. Slide 23 www.edureka.co/software-testing
Purpose of Test Plan
Guides our thinking - forces us to confront the challenges
Means of communication with other members of the project team, testers, peers, managers and other stakeholders
Helps us to manage change
24. Slide 24 www.edureka.co/software-testing
Testing Activities
Functional
Requirement
Scenario
Test Cases
Test set
Test Script
Any Statement describing a functionality that is expected
of the system
Any condition that could possibly happen in production
Input + Pre-Conditions Post-Conditions + Output
A group of Test similar test cases that require the
same steps to be executed
A set of steps (manual/automated) to execute
a set of similar test cases
25. Slide 25 www.edureka.co/software-testing
A test case is a set of conditions or variables under which a tester will
determine whether an application, software system or one of its
features satisfies requirements and works correctly
Test Case
26. Slide 26 www.edureka.co/software-testingSlide 26
Sample Test Case
Test Case
Name
Test
Description
Prerequisites Steps Input
Expected
Result
Actual Result Status Comments
Admin_Log
in_01
Verify
whether
Admin can
login with
valid
username
and
password
Admin should
have
registered
with valid
Login ID &
Password
1. Goto
htttp://ww
w.abc.com
1.Login ID –
admin01
ABC home page
should appear
JavaScript error
is show
Fail
2. Click on
Login link
2. Password
–
Welcome01
Login Screen
should appear
3. Enter
Valid login
id and
password
and Click
OK
User account
page should be
opened