Manual Testing
Manual Testing
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
Laptop - 8 GB Ram,
512 GB HDD (SDD)
Mobile - Yes
Excel, PDF
Resume Building, LinkedIn,
ChatGPT(How to get Job)
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
Statement Coverage!
Statement coverage is a type of software testing that aims to ensure that every statement in a
program has been executed at least once during testing. This means that every line of code
is tested, but not necessarily every possible path through the code.
TheTestingAcademy.com
Decision Coverage
Ensuring that all possible outcomes of a decision or boolean expression have been evaluated
we would need to test both the true and false outcomes of the
boolean expression x > y. So,
we might write two test cases: one where x is greater than y, and
one where x is not greater than y
TheTestingAcademy.com
Branch Coverage
Each possible path through a piece of code must be executed at least once.
we would need to test both the true and false outcomes of the
boolean expression x > y,
TheTestingAcademy.com
Condition Coverage
Condition coverage is similar to decision coverage, but it focuses specifically on ensuring that
each possible combination of boolean sub-expressions within a decision have been evaluated
TheTestingAcademy.com
Finite State Machine Coverage
Finite state machine coverage is a testing technique that focuses on ensuring that all possible
states and transitions within a finite state machine have been tested.
State 1: Idle
-> Money inserted: transition to state 2
State 2: Selecting product
-> Product selected: transition to state 3
-> Money refunded: transition to state 1
State 3: Dispensing product
-> Product dispensed: transition to state 1
To achieve 100% finite state machine coverage, we would need to test every
possible combination of starting state and transitions within the machine.
TheTestingAcademy.com
Integration Testing
Type of software testing where 2 or more unit combined.
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
Integration Testing
The purpose of integration testing in the context of an ecommerce site would be to
ensure that individual modules or components work together as expected.
For example, we might test the integration between the product catalog module and
the shopping cart module to ensure that items are correctly added to the cart
and that inventory is updated.
We might also test the integration between the payment processing module and
the order fulfillment module to ensure that payments are correctly processed
and that orders are shipped out in a timely manner.
The test environment would be a testing environment with simulated interactions, and
the test data would be specific to each module or component being tested.
TheTestingAcademy.com
System Testing
The purpose of system testing in the context of an ecommerce site would be
to verify that the entire system works as expected, from the user's
perspective.
The test environment would be production-like, and the test data would
be representative of the types of products, users, and transactions that
the site is expected to handle.
TheTestingAcademy.com
Acceptance testing
Acceptance testing is usually the final stage of testing before the software is deployed,
and it is typically conducted by the end-users, stakeholders, or other
representatives of the business who are responsible for ensuring that the
software meets their needs.
User Acceptance Testing (UAT): In this type of testing, end-users or other stakeholders
test the software in a real-world scenario to ensure that it meets their specific
business requirements. The purpose of UAT is to verify that the software is usable and
meets the needs of the users.
Business Acceptance Testing (BAT): In this type of testing, representatives from the
business side of the organization test the software to ensure that it meets the overall
business goals and objectives. The purpose of BAT is to verify that the software aligns with
the organization's strategic direction and that it will provide the intended value.
TheTestingAcademy.com
System Testing vs Integration Testing
TheTestingAcademy.com
System Testing vs Integration Testing
TheTestingAcademy.com
System Testing vs E2E Testing
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Manual Tester / Software Tester
Roles and Responsibilities
TheTestingAcademy.com
Manual Tester / Software Tester
Roles and Responsibilities
● Gather requirements from team
● Prepare Test Plan, Test Scenarios, Test cases -
https://sdet.live/3DbA
● Verifying the Software Web/ App by Hand
● Execute the Test cases and Report Bugs
● Send Test report to stakeholders
● More concentrated on the UI/UX issues
● In charge of paperwork(aka documentation online)
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
UML (Unified Modeling Language) is a visual
modeling language that is widely used in software
engineering to represent software designs.
Standard language used for modeling software systems, and it
includes various diagrams such as class diagrams, use case
diagrams, sequence diagrams, and state diagrams.
Use case diagrams are a type of UML diagram that is often used in software testing
Use case diagrams help testers understand the system's requirements and how it will
be used by end-users.
TheTestingAcademy.com
sequence diagrams, and state diagrams.
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
TheTestingAcademy.com
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
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
Better Resume Tech.
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
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
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 team usually called alpha
testers.determine the product in the development testing environment by
a specialized testers
TheTestingAcademy.com
Alpha vs Beta
TheTestingAcademy.com
Test Design
TheTestingAcademy.com
● Reduce Test Case
● More Test Coverage
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
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
Verification vs Validation
●
TheTestingAcademy.com
TheTestingAcademy.com
Test Plan
A Test Plan is a document that describes a software product's test scope, test strategy, objectives,
schedule, deliverables, and the resources that are needed to test it.
Overview
▪ Scope
▪ Inclusions
▪ Test Environments
▪ Exclusions
▪ Test Strategy
▪ Defect Reporting Procedure
▪ Roles/Responsibilities
▪ Test Schedule
▪ Test Deliverables
▪ Entry and Exit Criteria
▪ Suspension and Resumption
Criteria
▪ Tools
▪ Risks and Mitigations
▪ Approvals
TheTestingAcademy.com
Test Case Vs Test Scenario
●
TheTestingAcademy.com
Use Case V/s Test Case
Use Case – Describes functional requirement, prepared by Business
Analyst(BA).
▪ Test Case – Describes Test Steps/ Procedure, prepared by Test Engineer.
TheTestingAcademy.com
Test Suite
TheTestingAcademy.com
Lets Create.......... Test cases
TheTestingAcademy.com
Remember these TC Columns
- Test Case ID
- Test Case Title
- Description
- Pre-condition
- Priority ( P0, P1,P2,P3) – order
- Requirement ID
- Steps/Actions
- Status
- Expected Result
- Actual Result
- Test data
TheTestingAcademy.com
Requirements
https://bugz.atlassian.net/l/cp/1ba1G7md
TheTestingAcademy.com
Requirements
Go to this https://awesomeqa.com/ui/
Registration
TC - https://sdet.live/tc-template
TheTestingAcademy.com
Designing
https://www.figma.com/file/ljMAQ772fjgrZy3wyfYIjB/Docushack?node-id=0%3A1
TheTestingAcademy.com
Create Test Cases for Login VWO.com
https://sdet.live/tc-template
TheTestingAcademy.com
What is Requirement Traceability Matrix ?
A document that demonstrates the relationship
between requirements and other artifacts
TheTestingAcademy.com
Test Environment
Test Environment is a platform specially build for test case
execution on the software product.
configurations.
TheTestingAcademy.com
Test Execution
During this phase test team will carry out the testing based on the test plans and the test cases
prepared.
▪ Activities:
Test cases are executed based on the test planning.
Status of test cases are marked, like Passed, Failed, Blocked, Run, and others.
Documentation of test results and log defects for failed cases is done.
All the blocked and failed test cases are assigned bug ids.
Retesting once the defects are fixed.
Defects are tracked till closure.
▪ Deliverables: Provides defect and test case execution report with completed results.
TheTestingAcademy.com
Bug, Defect and Error
● Error is the mistake in coding done by
developer
● Bug is something which testers
identify due to error in code
● Defect is the variation from the
requirement
TheTestingAcademy.com
Failure
● A defect that reaches a customer.
TheTestingAcademy.com
Bug Life Cycle
TheTestingAcademy.com
Bug Life Cycle
TheTestingAcademy.com
Bug Reporting Tools
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
Bug Reporting Tools
https://bugzilla.mozilla.org/show_bug.cgi?id=322608
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
TheTestingAcademy.com
Test Cycle Closure
Activities: Look at the criteria for cycle completion based on time,
test coverage, cost, software, critical business goals, and quality.
TheTestingAcademy.com
Test Metrics
TheTestingAcademy.com
Test Metrics
Defect Density: Number of defects identified per requirement/s
No.of defects found / Size(No. of requirements)
Defect Leakage:
(No.of defects found in UAT / No. of defects found in Testing) * 100
TheTestingAcademy.com
What you will be doing?
● Understanding what the application needs and how it works is important.
● Figuring out what test scenarios are needed.
● Creating Test Cases to make sure the application works.
● Creating a place to test (Test Bed)
● Test cases should be run on a valid application.
● Write down the results of the tests (how many test cases pass/fail).
● Reporting and following up on problems.
● The problems with the last build have been fixed.
● Do different kinds of testing in the application.
● Reports to the Test Lead on how the tasks they were given are going
● Took part in regular meetings with the team.
● Making scripts for automation.
● Gives advice on whether or not the application or system is ready for
production.
TheTestingAcademy.com
adsda
TheTestingAcademy.com
7 principles of software testing
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
7 principles of software testing
Testing shows the presence We can never say that our
of defects system is defect free”
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
7 principles of software testing
Pesticide Paradox “To detect more defects, we need
change the test data”
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
7 principles of software testing
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
Severity vs Priority
TheTestingAcademy.com
Severity=Impact QA
Priority=Urgent/Urgency
Severity vs Priority
TheTestingAcademy.com
Apply Black Box Techniques
TheTestingAcademy.com
Smoke Sanity and Regression
Smoke Testing is executed before any detailed functional tests are done on the software.
Sanity testing is a software testing technique which does a quick evaluation of the quality
of the software release to determine major functionality is working fine or not
Regression Testing Covers detailed testing targeting all the affected areas after new
functionalities are added
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Cross Browser Testing
Cross-browser testing to test
your website or application in
multiple browsers- and making
sure that it works consistently
and as in intended without any
dependencies
TheTestingAcademy.com
Demo Cross Browser Testing
BrowserStack
TheTestingAcademy.com
Agenda
● Agile.
● Scrum Framework
● JIRA Demo
● Test Management Tool Zephyr Demo
● Web Fundamentals
TheTestingAcademy.com
Commitment!
Block at least
4 hour Per Week.
TheTestingAcademy.com
Agile
Ability to Move easily and quickly.
Agile is the ability to create and
respond to change.
TheTestingAcademy.com
Agile
It is a way of dealing with, and
ultimately succeeding in, an
uncertain and turbulent
environment.
TheTestingAcademy.com
Agile software development
Agile software development is an umbrella
term for a set of frameworks and practices
based on the values and principles expressed
in the Manifesto for Agile Software
Development and the 12 Principles behind it.
https://www.agilealliance.org/agile101/
TheTestingAcademy.com
Agile software development
Agile software development is more than frameworks such as
Scrum, Kanban, Extreme Programming, or Feature-Driven
Development (FDD).
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
https://www.neonrain.com/agile-scrum-web-development/
TheTestingAcademy.com
Waterfall vs Agile
TheTestingAcademy.com
Agile vs Waterfall
TheTestingAcademy.com
Waterfall vs Agile
● Waterfall is a Linear Sequential Life Cycle Model whereas Agile is a
continuous iteration of development and testing in the software development
process.
● In Agile vs Waterfall difference, the Agile methodology is known for its flexibility
whereas Waterfall is a structured software development methodology.
● Agile performs testing concurrently with software development whereas in
Waterfall methodology testing comes after the “Build” phase.
● Agile allows changes in project development requirement whereas Waterfall
has no scope of changing the requirements once the project development
starts.
TheTestingAcademy.com
Waterfall vs Agile
TheTestingAcademy.com
https://www.agilealliance.org/agile101/
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Agile Manifesto
TheTestingAcademy.com
Agile Pros
● Gives flexibility to developers.
● Realistic approach to software development.
● Encourage teamwork and cross training.
● Functionality can be developed rapidly and demonstrated.
● Resource requirements are minimum.
● Suitable for fixed or changing requirements
● Delivers early partial working solutions.
● Good model for environments that change steadily.
● Minimal rules, documentation easily employed.
● Enables concurrent development and delivery within an overall planned context.
● Little or no planning required.
● Easy to manage.
TheTestingAcademy.com
Agile Cons
● More risk of sustainability, maintainability and
extensibility.
● Not suitable for handling complex dependencies.
● Depends heavily on customer interaction, so if customer is
not clear, team can be driven in the wrong direction.
● There is a very high individual dependency, since there is
minimum documentation generated.
● Transfer of technology to new team members may be
TheTestingAcademy.com
MVP
TheTestingAcademy.com
Waterfall vs Scrum vs Kanban
TheTestingAcademy.com
Scrum Framework
Scrum is a framework for developing and
sustaining complex products.
TheTestingAcademy.com
Scrum Framework
TheTestingAcademy.com
Scrum Framework
Scrum requires a Scrum Master to foster an environment where:
● A Product Owner orders the work for a complex problem into a
Product Backlog.
● The Scrum Team and its stakeholders inspect the results and adjust
for the next Sprint.
● Repeat
TheTestingAcademy.com
Scrum Theory
Scrum is founded on empiricism and lean thinking.
TheTestingAcademy.com
Scrum Values
TheTestingAcademy.com
Scrum Team
TheTestingAcademy.com
Scrum Events
TheTestingAcademy.com
Scrum Artifacts
TheTestingAcademy.com
Scrum Artifacts
TheTestingAcademy.com
Scrum Framework
TheTestingAcademy.com
Read more
https://scrumguides.org/scrum-guide.html
TheTestingAcademy.com
Professional Scrum Master™ I Certification
(PSM I) certification validates your knowledge of the Scrum framework, the
Scrum Master accountabilities and how to apply Scrum.
https://www.scrum.org/assessments/professional-scrum-master-i-certification
TheTestingAcademy.com
Scrum, JIRA Demo
1. JIRA cloud managed is FREE for 10 Users
2. Create a Scrum Board
3. Add Epic and Stories
4. Add Task and Perform the activities
5. Sprint Backlog, Retro and other documents.
6. Gantt Chart
7. Sprint Burn Down Report
8. Test Management - Zephyr
https://www.scrum.org/assessments/professional-scrum-master-i-certification
TheTestingAcademy.com
Verification vs Validation
●
TheTestingAcademy.com
TheTestingAcademy.com
Bug, Defect and Error
● Error is the mistake in coding done by
developer
● Bug is something which testers
identify due to error in code
● Defect is the variation from the
requirement
TheTestingAcademy.com
Failure
● A defect that reaches a customer.
TheTestingAcademy.com
Bug Life Cycle
TheTestingAcademy.com
Bug Reporting Tools
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
Bug Reporting Tools
https://bugzilla.mozilla.org/show_bug.cgi?id=322608
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
7 principles of software testing
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
7 principles of software testing
Testing shows the presence We can never say that our
of defects system is defect free”
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
7 principles of software testing
Pesticide Paradox “To detect more defects, we need
change the test data”
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
7 principles of software testing
https://www.softwaretestinghelp.com/popular-bug-tracking-software/
TheTestingAcademy.com
Test Case Vs Test Scenario
●
TheTestingAcademy.com
What is Requirement Traceability Matrix ?
A document that demonstrates the relationship
between requirements and other artifacts
TheTestingAcademy.com
Severity vs Priority
TheTestingAcademy.com
Severity=Impact and
Priority=Urgent/Urgency
Severity vs Priority
TheTestingAcademy.com
Lets Create.......... Test cases
TheTestingAcademy.com
Requirements
https://bugz.atlassian.net/l/cp/1ba1G7md
TheTestingAcademy.com
Requirements
Go to this https://awesomeqa.com/ui/
Registration
TC - https://sdet.live/tc-template
TheTestingAcademy.com
Designing
https://www.figma.com/file/ljMAQ772fjgrZy3wyfYIjB/Docushack?node-id=0%3A1
TheTestingAcademy.com
Create Test Cases for Login VWO.com
https://sdet.live/tc-template
TheTestingAcademy.com
Apply Black Box Techniques
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Smoke Sanity and Regression
Smoke Testing is executed before any detailed functional tests are done on the software.
Sanity testing is a software testing technique which does a quick evaluation of the quality
of the software release to determine major functionality is working fine or not
Regression Testing Covers detailed testing targeting all the affected areas after new
functionalities are added
TheTestingAcademy.com
TheTestingAcademy.com
TheTestingAcademy.com
Cross Browser Testing
Cross-browser testing to test
your website or application in
multiple browsers- and making
sure that it works consistently
and as in intended without any
dependencies
TheTestingAcademy.com
Demo Cross Browser Testing
BrowserStack
TheTestingAcademy.com
Do you know What is HTTP?
Yes
No
In Comments
TheTestingAcademy.com
Overview of HTTP
● HTTP is a protocol for fetching resources such as HTML documents.
● It is the foundation of any data exchange on the Web and it is a client-server protocol.
● HTTP is stateless: there is no link between two requests being successively carried out on the same
connection
●
https://developer.mozilla.org/en-US/docs/Web/HTTP
TheTestingAcademy.com
Overview of HTTP
TheTestingAcademy.com
HTTP Authentication
App.vwo.com Authentication
TheTestingAcademy.com
HTTP Authentication
TheTestingAcademy.com
HTTP Cookies
An HTTP cookie (web cookie, browser cookie) is a small piece of data that a server sends to a user's web
browser.
The browser may store the cookie and send it back to the same server with later requests
Session management
Logins, shopping carts, game scores, or anything else the server should remember
Personalization
User preferences, themes, and other settings
Tracking
Recording and analyzing user behavior
TheTestingAcademy.com
HTTP Cookies
https://app.vwo.com/#/dashboard
TheTestingAcademy.com
Headers
HTTP headers let the client and the server pass additional information with an HTTP request or response.
Caching https://developer.mozilla.org/en-US/
docs/Web/HTTP/Headers
User agent client hints Conditionals
TheTestingAcademy.com
Headers
TheTestingAcademy.com
Headers
The Content-Type representation header is used to indicate the original media type of the resource
(prior to any content encoding applied for sending).
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type
TheTestingAcademy.com
Tools for Cookie, Headers View
https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedif
hccceomclgfbg?hl=en
TheTestingAcademy.com
URL Basics
TheTestingAcademy.com
URL BASICS
Uniform Resource Locators = Address
TheTestingAcademy.com
URL BASICS
TheTestingAcademy.com
URL BASICS
TheTestingAcademy.com
Quiz
https://abc.com/xyz/?q=1
TheTestingAcademy.com
URI VS URL VS URN
A URI has two specializations known as URL and URN.
● URI (uniform resource identifier) identifies a resource (text document, image file,
etc)
● URL (uniform resource locator) is a subset of the URIs that include a network
location
● URN (uniform resource name) is a subset of URIs that include a name within a
given space, but no location
https://stackoverflow.com/questions/176264/what-is-the-difference-between-a-uri-a-url-and-a-urn/198
4225#1984225
TheTestingAcademy.com
URI VS URL VS URN
URL -- Uniform Resource Locator
https://www.geeksforgeeks.org/diffe
● http://example.com/mypage.html rence-between-url-uri-and-urn-in-ja
● ftp://example.com/download.zip
va/
● mailto:user@example.com
● file:///home/user/file.txt
● http://example.com/resource?foo=bar#fragment
TheTestingAcademy.com
Absolute URLs?
TheTestingAcademy.com
What are Relative URLs?
TheTestingAcademy.com
TheTestingAcademy.com
MIME types
A media type (also known as a Multipurpose Internet Mail Extensions or MIME
type) indicates the nature and format of a document, file, or assortment of bytes.
application/pdf
application/json
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#multi
partform-data
TheTestingAcademy.com
MIME types
TheTestingAcademy.com
JSON Server
{
"posts": [
{ "id": 1, "title":
● Install Node JS "json-server", "author":
● Check the Node and NPM version "typicode" }
○ Open CMD and type node –version ],
○ Open CMD and type npm –version "comments": [
● Open CMD and Type npm i -g json-server { "id": 1, "body": "some
● Open CMD and Type json-server -w db.json comment", "postId": 1 }
],
● Create a db.json file before like this "profile": { "name":
"typicode" }
}
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
TheTestingAcademy.com
HTTP request methods
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
TheTestingAcademy.com
HTTP request methods
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
TheTestingAcademy.com
PUT VS POST
TheTestingAcademy.com
Quiz
Can we use POST request to do all Request?
TheTestingAcademy.com
JSON
How to start a JSON Server for the API Testing
TheTestingAcademy.com
JSON Dummy Data
1. {
2. "users": [
3. {
4. "id": 1,
5. "data": {
6. "id": 2,
7. "email": "Pramod@reqres.in",
8. "first_name": "Pramod",
9. "last_name": "Weaver",
10. "avatar": "https://reqres.in/img/faces/2-image.jpg"
11. },
12. "support": {
13. "url": "https://reqres.in/#support-heading",
14. "text": "To keep ReqRes free, contributions towards server costs are appreciated!"
15. }
16. },
17. {
18. "id": 2,
19. "data": {
20. "id": 2,
21. "email": "janet@reqres.in",
22. "first_name": "Janet",
23. "last_name": "Weaver",
24. "avatar": "https://reqres.in/img/faces/2-image.jpg"
25. },
26. "support": {
27. "url": "https://reqres.in/#support-heading",
28. "text": "To keep ReqRes free, contributions towards server costs are appreciated!"
29. }
30. }
31. ]
32. }
33.
TheTestingAcademy.com
HTTP response status codes
HTTP response status codes indicate whether a specific HTTP
request has been successfully completed. Responses are grouped in
five classes:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
TheTestingAcademy.com
User agent
A user agent is a computer program representing a person, for
example, a browser in a Web context.
The user agent string can be accessed with JavaScript on the client side using the NavigatorID.userAgent
property.
A typical user agent string looks like this: "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101
Firefox/35.0".
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
TheTestingAcademy.com
HTML Forms
Web forms — Working with user data
<form action="/my-handling-form-page"
method="post">
<ul>
<li>
<label for="name">Name:</label>
<input type="text" id="name" name="user_name">
</li>
<li>
<label for="mail">E-mail:</label>
<input type="email" id="mail" name="user_email">
</li>
<li>
<label for="msg">Message:</label>
<textarea id="msg"
name="user_message"></textarea>
</li>
</ul>
</form>
TheTestingAcademy.com