6380a8ca3ec7c 1669376202 Manual Testing Basics
6380a8ca3ec7c 1669376202 Manual Testing Basics
TheTestingAcademy.com
{ Software Tester } BluePrint.
Pramod Dutta
Exact BluePrint.
You Need to Become Software Tester.
TheTestingAcademy.com
Agenda
● Introduction to Software Testing?
● Details on SDLC and Different Models.
● STLC Life Cycle & 7 Principles of Software Testing.
● RTM & Different Types of Software Testing.
● Test Design Techniques
● Bugs, Severity vs Priority
TheTestingAcademy.com
Rules
Focus on One
Thing. 5% : 95% Rule
70% is Perfect
100% is Failure New Action
TheTestingAcademy.com
Commitment!
Block at least
3-4 hour Per Week.
TheTestingAcademy.com
What is Software?
Software is basically a set of instructions or commands
that tells a computer what to do
TheTestingAcademy.com
What is Software?
TheTestingAcademy.com
Types of Softwares
• System software
Ex: Device drivers, Operating Systems, Servers, Utilities, etc.
• Programming software
Ex: compilers, debuggers, interpreters, etc.
• Application software
Ex: Web Applications, Mobile Apps, Desktop Applications etc
TheTestingAcademy.com
Types of Software
System Software Application Software
TheTestingAcademy.com
Software testing is the process of evaluating and
verifying that a software product or application
does what it is supposed to do.
TheTestingAcademy.com
Software Testing is a part of software
development process.
TheTestingAcademy.com
Main Objective of testing is to release quality
product to the client.
TheTestingAcademy.com
Activity to detect and identify the defects in the
Software. (Not Fix)
TheTestingAcademy.com
What are software testing
objectives and purpose?
TheTestingAcademy.com
What are software testing
objectives and purpose?
To prevent defects.
Finding defects
end result meets the business and
user requirements.
Gaining confidence in and providing
information about the level of
quality
ensure that it satisfies the BRS that gain the confidence of the
is Business Requirement customers by providing them a
quality product.
TheTestingAcademy.com
TheTestingAcademy.com
Quality
Quality is defined as justification of all the requirements of a
customer in a product.
TheTestingAcademy.com
Quality software is Means
● Bug-free
● Delivered on time.
● Within budget.
● Meets requirements and/or
expectations.
● Maintainable
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Software Testing
To check whether the Actual software product matches Expected requirements and to ensure that
software product is Defect free.
TheTestingAcademy.com
Why Software Testing is Important?
https://raygun.com/blog/costly-software-errors-history/
TheTestingAcademy.com
Why Software Testing is Important?
Vulnerability in Windows 10. This bug enables users to escape from security sandboxes through a
flaw in the win32k system
China Airlines Airbus A300 crashed due to a software bug on April 26, 1994, killing 264
innocents live
https://raygun.com/blog/costly-software-errors-history/
TheTestingAcademy.com
Benefits of Software Testing
● Cost-Effective
● Product quality
● Customer Satisfaction
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Types of Software Testing
TheTestingAcademy.com
Testing Pyramid
TheTestingAcademy.com
TheTestingAcademy.com
Unit Testing
Type of software testing where individual units or
components of a software are tested
Unit tests help to fix bugs early in the development cycle and save costs.
A developer writes a section of code in the application just to test the function.
They would later comment out and finally remove the test code when the
application is deployed.
TheTestingAcademy.com
Code coverage techniques used in Unit Testing
● Statement Coverage
● Decision Coverage
● Branch Coverage
● Condition Coverage
● Finite State Machine Coverage
TheTestingAcademy.com
Unit Testing
Demo of Web App unit
isSumPositive function
TheTestingAcademy.com
Integration Testing
Type of software testing where individual units or
components of a software are tested
Software modules are integrated
logically and tested as a group.
TheTestingAcademy.com
System Testing
System testing is a testing
level in which tests are
performed to know if a
complete build aligns with
functional and
nonfunctional requirements
made for it
TheTestingAcademy.com
System Testing vs Integration Testing
TheTestingAcademy.com
System Testing vs E2E Testing
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Manual Tester Roles and Responsibilities
TheTestingAcademy.com
Manual Tester Roles and Responsibilities
Test environment setup
Participation in meetings
Analysis of customer requests
Software bug tracking
Analysis and execution of test cases
Maintaining contact with test managers
TheTestingAcademy.com
What you do can extra? As Manual tester
● Help in preparing the requirements to PM
● Share a Video or Images of the Manual flows to
automation team, so that they can create better automation.
● Help the team pm, devs to sync and come with timelines
of release.
● Learn coding and help in automation of the flows
manual tested.
● Identify the automation flows and pain manual areas
automate them using scripts
TheTestingAcademy.com
What you do can extra? As Manual tester
https://forms.gle/KcCe2bhZSFsS5GzLA
TheTestingAcademy.com
Software Development Life Cycle
Software Development Life Cycle (SDLC) is a process used by the software
industry to design, develop and test high quality softwares.
TheTestingAcademy.com
1. Planning and Requirement Analysis
● It is performed by the senior members of the team with inputs from the
customer.
● Sales department, market surveys and domain experts in the industry.
https://bugz.atlassian.net/l/cp/EeXpfJ0W
TheTestingAcademy.com
SOW-TEMPLATE-Project Manager-ND
https://docs.google.com/document/d/1oP7Fw3RTvCdYuc1sH_1MeRYzOUhmtapr/edit?usp=
sharing&ouid=104755920778477387077&rtpof=true&sd=true
TheTestingAcademy.com
2. Defining Requirements
● Define and document the product requirements and get them approved
from the customer or the market analysts
https://sdet.live/samplesrs
https://www.geeksforgeeks.org/software-requirement-
specification-srs-format/
TheTestingAcademy.com
3. Designing
● Based on the requirements specified in SRS, usually more than one design
approach for the product architecture is proposed and documented in a
DDS - Design Document Specification
Documents - DDS
https://sdet.live/samplesrs
TheTestingAcademy.com
4. Building
● The programming code is generated as per DDS during this stage
Documents - FRDs
https://sdet.live/samplesrs
TheTestingAcademy.com
5. Testing
● This stage refers to the testing only stage of the product where product
defects are reported, tracked, fixed and retested, until the product reaches
the quality standards defined in the SRS.
Documents - multiple Docs
https://sdet.live.notes
TheTestingAcademy.com
6. Deployment
● Once the product is tested and ready to be deployed it is released formally
in the appropriate market.
Documents - NA
TheTestingAcademy.com
BRD
Business Requirement Document i.e. BRD is created during the initial phase of the
project. This document contains the high-level business requirements that could be
easy to follow by business stakeholders, managers, board of directors, etc.
TheTestingAcademy.com
FRD
Functional specification document is required with detailed
requirements in technical terms that will be referred by the technical
team for further development of the system.
TheTestingAcademy.com
SRS
Software Requirement Specification i.e. SRS Document is one of the
important documents for the development team. It is a complete
description of the behavior of a system to be developed.
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
UML contains different diagrams and
Use case is one of it
TheTestingAcademy.com
https://stackoverflow.com/questions/9107448/uml-class-diagram-for-an-e-commerce-website
TheTestingAcademy.com
SDLC Models
● Waterfall Model
● Spiral Model
● V-Model
● Agile Model
Other related methodologies are Agile Model, RAD Model, Rapid Application Development and
Prototyping Models.
TheTestingAcademy.com
Waterfall Model
TheTestingAcademy.com
Waterfall Model
TheTestingAcademy.com
Advantages of Waterfall Model
● The product will be of high quality.
● There are less possibilities of detecting problems
because requirement modifications are
prohibited.
● Since the testers are employed later, the initial
cost is lower.
● Preferred for little projects with frozen criteria.
TheTestingAcademy.com
Disadvantages of Waterfall Model
• Requirement changes are not allowed.
• If there is defect in Requirement that will be
continued in later phases.
• Total investment is more because time taking
for rework on defect is time consuming which
leads to
high investment.
• Testing will start only after coding
TheTestingAcademy.com
Spiral Model
Spiral Model is iterative model.
▪ Spiral Model overcome drawbacks of
Waterfall model.
▪ We follow spiral model whenever there is
dependency on the modules.
▪ In every cycle new software will be
released to customer.
▪ Software will be released in multiple
versions. So it is also called version control
model.
TheTestingAcademy.com
The Radius of the spiral at any point
represents the expenses(cost) of the
project so far, and the angular dimension
represents the progress made so far in
the current phase.
TheTestingAcademy.com
Prototyping Model
Prototyping is defined as the process of developing a working replication of a product or system
that has to be engineered. It offers a small scale facsimile of the end product and is used for
obtaining customer feedback as described below:
TheTestingAcademy.com
In each phase of the Spiral Model, the features of
the product dated and analyzed, and the risks at
that point in time are identified and are resolved
through prototyping.
TheTestingAcademy.com
Risk Handling in Spiral Model
A risk is any adverse situation that might affect the successful
completion of a software project. The most important feature of the
spiral model is handling these unknown risks after the project has
started. Such risk resolutions are easier done by developing a
prototype. The spiral model supports coping up with risks by
providing the scope to build a prototype at every phase of the
software development.
TheTestingAcademy.com
Advantages of Spiral Model
• Testing is done in every cycle, before going to
the next cycle.
• Customer will get to use the software for every
module.
• Requirement changes are allowed after every
cycle before going to the next cycle.
TheTestingAcademy.com
Disadvantages of Spiral Model
• Requirement changes are NOT allowed in
between the cycle.
• Every cycle of spiral model looks like waterfall
model.
• There is no testing in requirement & design
phase.
TheTestingAcademy.com
V-Model
The V-model is a type of SDLC model where
process executes in a sequential manner in
V-shape.
TheTestingAcademy.com
V-Model contains Verification phases on
one side of the Validation phases on the
other side.
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Verification: It involves static analysis technique (review) done
without executing code. It is the process of evaluation of the
product development phase to find whether specified requirements
meet.
TheTestingAcademy.com
Advantages
• Testing is involved in each and every phase.
Disadvantages
• Documentation is more.
• Initial investment is more.
TheTestingAcademy.com
Static V/S Dynamic Testing
Static testing is an approach to test project documents in the form of Reviews,
Walkthroughs and Inspections.
Dynamic testing is an approach to test the actual software by giving inputs and
observing results.
TheTestingAcademy.com
TheTestingAcademy.com
AGILE MODEL
The Agile model is a combination of an incremental and iterative approach and is focussed
on fitting in well with flexible requirements.
Agile is an iterative approach to project management and software development that helps
teams deliver value to their customers faster and with fewer headaches
the project is divided into small subparts and is delivered in iterations. The subtasks are
divided into time frames to serve working functionality with each build. As a result, the final
product has all the required features.
TheTestingAcademy.com
TheTestingAcademy.com
Instead of betting everything on a "big
bang" launch, an agile team delivers
work in small, but consumable,
increments.
TheTestingAcademy.com
Benefits:
Quick development
Quality and measurable results
Business value can be delivered –
demonstrated fast
Requires minimum resources
Highly adaptive to changing requirements
TheTestingAcademy.com
Software Testing Life Cycle (STLC)
Software Testing Life Cycle (STLC) is a sequence of different activities performed during the software
testing process.
TheTestingAcademy.com
Better Resume Tech.
TheTestingAcademy.com
1. Requirement Analysis: Quality assurance team understands the
requirements like what is to be tested. If anything is missing or not
understandable then quality assurance team meets with the stakeholders to
better understand the detail knowledge of requirement. - Documents -
SRS, FRD, BRD
2. Test Planning: In this phase manager of the testing team calculates
estimated effort and cost for the testing work. This phase gets started once
the requirement gathering phase is completed. Documents Test Plan
TheTestingAcademy.com
Test Case Development: The test case development phase gets started once the test
planning phase is completed Test cases. Documents - Test cases(Excel, GSheet or
on Tools)
Test Environment Setup: Test environment decides the conditions on which software
is tested. NA
Test Execution: Documents - Test Execution Report Bug Report ,
In this phase testing team start executing test cases based on prepared test cases in
the earlier step.
Test Closure: Test Report
This is the last stage of STLC in which the process of testing is analyzed.
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Static Testing
Static Testing is a type of a Software Testing method which is
performed to check the defects in software without actually
executing the code of the software application.
TheTestingAcademy.com
Static Testing done with Static Analysis
Static Analysis:
Static Analysis includes the evaluation of the code quality that is
written by developers. Different tools are used to do the analysis of
the code and comparison of the same with the standard.
It also helps in following identification of following defects:
TheTestingAcademy.com
TheTestingAcademy.com
Testing Methodologies
• White box Testing
• Black box Testing
• Grey box Testing
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Unit Testing
A unit is a single component or module of a software.
Unit testing conducts on a single program or single module.
Unit Testing is white box testing technique.
Conducted by the developers.
TheTestingAcademy.com
Unit Testing
Demo of Web App unit
isSumPositive function
TheTestingAcademy.com
Integration Testing
● - Integration testing performed between 2 or more modules.
● - Integration testing focuses on checking data communication between
multiple
● modules.
● - Integrated Testing is white box testing technique
●
TheTestingAcademy.com
Integration Testing
● Incremental
● Big Bang Approach
TheTestingAcademy.com
Big Bang Approach
All the components or modules are integrated
together at once and then tested as a unit.
some interfaces link to be tested
could be missed easily.
TheTestingAcademy.com
Incremental Integration Testing
TheTestingAcademy.com
Incremental Integration Testing
TheTestingAcademy.com
Incremental Integration Testing
TheTestingAcademy.com
Top-down Integration Testing
● We will add the modules incrementally or one by one
and test the data flow in similar order as we can see
in the below diagram:
TheTestingAcademy.com
Difference between Stubs and Drivers
The Stubs and Drivers are considered as elements which are equivalent to to-do
modules that could be replaced if modules are in their developing stage, missing or not
developed yet
Stubs are mainly used in Top-Down integration testing while the Drivers are
used in Bottom-up integration testing, thus increasing the efficiency of testing
process.
TheTestingAcademy.com
Difference between Stubs and Drivers
Module-A : Login page website,
Module-B : Home page of the Assume Module-A is developed. As soon as it’s developed, it
website undergoes testing, but it requires Module-B, which isn’t developed
Module-C : Profile setting yet. So in this case, we can use the Stubs or Drivers that simulate
Module-D : Sign-out page all features and functionality that might be shown by actual
Module-B. So, we can conclude that Stubs and drivers are used to
fulfill the necessity of unavailable modules.
TheTestingAcademy.com
Difference between Stubs and Drivers
S.No. Stubs Drivers
TheTestingAcademy.com
Top-down Integration Testing
● To detect the significant design flaws and fix them
early because required modules are tested first.
TheTestingAcademy.com
Bottom Up Integration Testing
● Low lower-level modules are tested with
higher-level modules until all the modules have been
tested successfully.
TheTestingAcademy.com
S.N Comparison Top-Down Integration Testing Bottom-up Integration Testing
O. Basis
1. Definition We will add the modules incrementally or one by The lower-level modules are tested with
one and test the data flow in similar order. higher-level modules until all the modules have
2. Executed on The top-down integration testing approach will be The bottom-up integration testing approach
3. Observation In the top-down approach, the observation of test In the bottom-up approach, the observation of
TheTestingAcademy.com
Top-Down Integration Testing Bottom-up Integration Testing
1. Definition We will add the modules incrementally or one The lower-level modules are tested with
by one and test the data flow in similar order. higher-level modules until all the modules
2. Executed on The top-down integration testing approach The bottom-up integration testing
3. Observation In the top-down approach, the observation of In the bottom-up approach, the
accessible.
TheTestingAcademy.com
System Testing
● Testing over all functionality of the application with respective client
● requirements.
● It is a black box testing technique.
● This testing is conducted by testing team.
● After completion of component and integration level testing’s we start
System testing.
● Before conducting system testing we should know the customer
requirements.
● System Testing focus on.
○ User Interface Testing (GUI)
○ Functional Testing
○ Non-Functional Testing
○ Usability Testing
TheTestingAcademy.com
System Testing Types.
TheTestingAcademy.com
System Testing
System Testing Process: System Testing is performed in the following steps:
Test Environment Setup: Create testing environment for the better quality testing.
Create Test Case: Generate test case for the testing process.
Create Test Data: Generate the data that is to be tested.
Execute Test Case: After the generation of the test case and the test data, test cases
are executed.
Defect Reporting: Defects in the system are detected.
Regression Testing: It is carried out to test the side effects of the testing process.
Log Defects: Defects are fixed in this step.
Retest: If the test is not successful then again test is performed.
TheTestingAcademy.com
System Testing
TheTestingAcademy.com
Types of System Testing:
Performance Testing: Performance Testing is a type of software testing that is carried out
to test the speed, scalability, stability and reliability of the software product or application.
Load Testing: Load Testing is a type of software Testing which is carried out to determine
the behavior of a system or software product under extreme load.
Stress Testing: Stress Testing is a type of software testing performed to check the
robustness of the system under the varying loads.
Scalability Testing: Scalability Testing is a type of software testing which is carried out to
check the performance of a software application or system in terms of its capability to
scale up or scale down the number of user request load.
JMeter
Gallen Framework
Selenium
TheTestingAcademy.com
User Acceptance Testing (UAT)
Acceptance Testing is a method of software testing where a system is tested for
acceptability
TheTestingAcademy.com
Types of Acceptance Testing
User Acceptance Testing (UAT): User acceptance testing is used to determine
whether the product is working for the user correctly. Specific requirements
which are quite often used by the customers are primarily picked for the testing
purpose. This is also termed as End-User Testing.
BAT mainly focuses on business profits which are quite challenging due to the
changing market conditions and new technologies so the current
implementation may have to being changed which results in extra budgets.
TheTestingAcademy.com
Types of Acceptance Testing
Contract Acceptance Testing (CAT) :
CAT is a contract that specifies that once the product goes live, within a
predetermined period, the acceptance test must be performed and it should
pass all the acceptance use cases. Here is a contract termed a Service Level
Agreement (SLA)
TheTestingAcademy.com
Types of Acceptance Testing
TheTestingAcademy.com
Types of Acceptance Testing
Alpha Testing: Alpha testing is used to determine the product in the
development testing environment by a specialized testers team usually
called alpha testers.
TheTestingAcademy.com
Alpha vs Beta
TheTestingAcademy.com
TheTestingAcademy.com
Boundary Value Analysis.
TheTestingAcademy.com
Equivalence Class Partitioning
TheTestingAcademy.com
Practical Test cases
Suppose, In Ecommerce Sale we have discounts like this ,
Invalid and Valid Test cases
https://forms.gle/hfU6xkKT7jVwmhPR6
TheTestingAcademy.com
ECP Vs BVP
Equivalence partitioning and boundary value analysis(BVA) are closely related and can be
used together at all levels of testing.
TheTestingAcademy.com
Problem
Let’s consider the behavior of Order Pizza Text Box
Below
Pizza values 1 to 10 is considered valid. A success
message is shown.
While value 11 to 99 are considered invalid for order and
an error message will appear, “Only 10 Pizza can be
ordered”
TheTestingAcademy.com
Problem
TheTestingAcademy.com
Problem
TheTestingAcademy.com
Decision Table based testing
TheTestingAcademy.com
Error Guessing
TheTestingAcademy.com
State Transition
Take an example of login page of an application which locks the user name after three wrong attempts of
password.
TheTestingAcademy.com
Agile
Agile is an iterative approach to project management and software development that
helps teams deliver value to their customers faster and with fewer headaches
TheTestingAcademy.com
Agile Manifesto
TheTestingAcademy.com
TheTestingAcademy.com
Agile
TheTestingAcademy.com