Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
37 views

Manual Testing

Uploaded by

mendesamuel143
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views

Manual Testing

Uploaded by

mendesamuel143
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 292

Meeting Etiquette

● Please be on Mute all the time.


● Turn off Video, So that we can save bandwidth.
● There is separate Q&A Section in End Please use that, Add
questions in Google Form.
● Break at 5 min.
● Mute your microphone
● To help keep background noise to a minimum, make sure you
mute your microphone when you are not speaking.
● Be mindful of background noise
● Avoid multitasking
● All links and Slides will be shared.

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

Application software is designed to perform a


System software basically controls a specific task for end-users
computer’s internal functioning and
also controls hardware devices such as It is a product or a program that is designed
monitors, printers, and storage devices, only to fulfill end-users’ requirements
etc
General Purpose Software
Operating System MS-Word, MS-Excel, PowerPoint, etc.
Language Processor Customized Software
Device Driver airline reservation system
Written in a low-level language Utility Software
antivirus, disk fragmenter, memory tester, disk
Driver software. ... repair, disk cleaners
Middleware. ... Written in a high-level language
Programming software.
TheTestingAcademy.com
What is Software Testing

TheTestingAcademy.com
Software testing is the process of evaluating and
verifying that a software product or application
does what it is supposed to do.

Expect Result ( Requirement)


= Actual Result ( By doing it / QA)

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

Functional Testing Non-Functional 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.

A coder generally uses a UnitTest Framework to develop automated test cases

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.

To achieve 100% statement coverage for this code,

write a test case where a is greater than b, and another test


case where b is greater than or equal to a.

This would ensure that both branches of the if statement are


executed at least once, as well as the assignment and return
statements.

TheTestingAcademy.com
Decision Coverage
Ensuring that all possible outcomes of a decision or boolean expression have been evaluated

This means that each possible true or false outcome must be


tested at least once.

To achieve 100% decision coverage,

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,

as well as both branches of the if statement.

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

we would need to test all possible combinations of the


sub-expressions x > y and y > z.

This means we would need to test the true-true, true-false,


false-true, and false-false combinations.

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.

consider a vending machine that dispenses snacks:

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.

Software modules are integrated


logically and tested as a group.

Testing flow of data/information between the modules.

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.

This would involve testing a range of user scenarios, such as browsing


products, adding items to the cart, checking out, and making
payments.

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.

ISO/IEC 12207 is an international standard for software life-cycle processes. It


aims to be the standard that defines all the tasks required for developing and
maintaining software.

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.

Documents - Statement of Work, Project Plan

Outcome - Various Technical approaches that


can be followed to implement the project
successfully with minimum risks.

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

Documents - SRS (Software Requirement


Specification) document

https://sdet.live/samplesrs

Consists of all the product requirements to be


designed and developed during the project life
cycle.

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

A design approach clearly defines all the


architectural modules of the product along with
its communication and data flow representation

TheTestingAcademy.com
4. Building
● The programming code is generated as per DDS during this stage

Documents - FRDs

https://sdet.live/samplesrs

Developers must follow the coding guidelines


defined by their organization and programming
tools like compilers, interpreters, debuggers

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

Full STLC Life Cycle

TheTestingAcademy.com
6. Deployment
● Once the product is tested and ready to be deployed it is released formally
in the appropriate market.

Documents - NA

The product may first be released in a limited


segment and tested in the real business
environment (UAT- User acceptance testing).

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.

a business requirement document is a functional business requirement that is written in


a well-structured manner without any technical jargon.

● Bank customers should be able to register themselves.


● Registered bank customers should be able to log in.
● Customers should be able to do online transactions.
● Customers should be able to open fixed deposit online.
● Customers should be able to recharge their mobile phones, 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.

● Username should not include numeric value.


● The password should be 8 or more char long.
● Only 5 transactions should be allowed in a day, etc

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.

SRS document contains all the functional and non-functional


requirements along with the use cases that the software must meet.

Software specification requirement document elaborates on the


business requirements mentioned in BRD to accommodate the
functional and non-functional requirements along with user
intersections with the system i.e. use cases.
document is prepared by system analysts or business analysts and referred by the project management,
development, and implementation teams.

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

UML also contains Structural diagrams as well as - such as


Class Diagram

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.

Thus, this model is much more flexible compared


to other SDLC models.

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.

Validation: It involves dynamic analysis technique (functional,


non-functional), testing done by executing code. Validation is the
process to evaluate the software after the completion of the
development phase to determine whether software meets the
customer expectations and requirements.

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:

(a) Unused variables


(b) Dead code
(c) Infinite loops
(d) Variable with undefined value
(e) Wrong syntax

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.

Unit testing techniques:


- Basis path testing
- Control structure testing
- Conditional coverage
- Loops Coverage.
- Mutation Testing

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.

● Convenient for small systems. ● Since the Integration testing can


commence only after “all” the modules are
designed, the testing team will have less
We might miss data flow time for execution in the testing phase.
between some of the modules.
high-risk critical modules are not
If you find any defect we can’t
isolated and tested on priority.
understand the root cause of
defect

TheTestingAcademy.com
Incremental Integration Testing

● Testing is done by integrating two or more modules


that are logically related to each other and then
tested for proper functioning of the application.

● Then the other related modules are integrated


incrementally and the process continues until all the
logically related modules are integrated and tested
successfully.

TheTestingAcademy.com
Incremental Integration Testing

TheTestingAcademy.com
Incremental Integration Testing

● Testing is done by integrating two or more modules


that are logically related to each other and then
tested for proper functioning of the application.

● Then the other related modules are integrated


incrementally and the process continues until all the
logically related modules are integrated and tested
successfully.

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

Stubs are used in Top-Down Drivers are used in Bottom-Up


1.
Integration Testing. Integration Testing.

Stubs are basically known as a


While, drivers are the “calling
“called programs” and are used
2. program” and are used in
in the Top-down integration
bottom-up integration testing.
testing.

Stubs are similar to the


While drivers are used to
modules of the software, that
3. invoking the component that
are under development
needs to be tested.
process.

TheTestingAcademy.com
Top-down Integration Testing
● To detect the significant design flaws and fix them
early because required modules are tested first.

● Critical Modules are tested on


priority; major design flaws
could be found and fixed 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.

● Critical modules (at the top


level of software architecture)
which control the flow of
application are tested last and
may be prone to defects.

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

been tested successfully.

2. Executed on The top-down integration testing approach will be The bottom-up integration testing approach

executed on the Structure or procedure-oriented will be executed on Object-oriented

programming languages. programming languages.

3. Observation In the top-down approach, the observation of test In the bottom-up approach, the observation of

output is more complicated. test output is more accessible.

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

have been tested successfully.

2. Executed on The top-down integration testing approach The bottom-up integration testing

will be executed on the Structure or approach will be executed on

procedure-oriented programming languages. Object-oriented programming languages.

3. Observation In the top-down approach, the observation of In the bottom-up approach, the

test output is more complicated. observation of test output is more

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.

Tools used for System Testing :

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

After completion of system testing UAT team conducts acceptance


testing in two levels.
- Alpha testing
- Beta testing

It is a formal testing according to user needs, requirements and business


processes conducted to determine whether a system satisfies the acceptance
criteria or not and to enable the users, customers or other authorized entities to
determine whether to accept the system or not.

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.

Business Acceptance Testing (BAT): BAT is used to determine whether the


product meets the business goals and purposes or not.

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)

Regulations Acceptance Testing (RAT): RAT is used to determine whether


the product violates the rules and regulations that are defined by the
government of the country where it is being released. T

TheTestingAcademy.com
Types of Acceptance Testing

Operational Acceptance Testing (OAT): OAT is used to determine the


operational readiness of the product and is non-functional testing. It
mainly includes testing of recovery, compatibility, maintainability, reliability, etc.
OAT assures the stability of the product before it is released to production.

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

Beta Testing: Beta testing is used to assess the product by exposing it to


the real end-users, usually called beta testers in their environment. Feedback
is collected from the users and the defects are fixed. Also, this helps in
enhancing the product.

TheTestingAcademy.com
Alpha vs Beta

Tester Beta Tester


Dev Env Real Env or UAT env

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

Nil 0- 5000 5000-10000 10000-20000

0% 10% 15% 25%

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

Acceptance Criteria - User Able to register

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.

▪ It is created by integrating the required software and


hardware along with proper network

configurations.

▪ Test environment simulates production/real time


environment.

▪ Another name of test environment is Test Bed.

TheTestingAcademy.com
Test Execution
During this phase test team will carry out the testing based on the test plans and the test cases
prepared.

▪ Entry Criteria: Test cases , Test Data & Test Plan

▪ 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.

Using the above parameters, make test metrics.


– Write down what you learned from the project. – Get ready.
Review of the test
– Give the customer both a qualitative and a quantitative report on
the quality of the work.
– Analyze the test results to find out how the bugs are spread out by
type and severity.

Deliverables – Test Closure report – Test metrics

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 Removal Efficiency (DRE):


(A / A+B ) * 100
(Fixed Defects / (Fixed Defects + Missed defects) ) * 100

▪ A- Defects identified during testing/ Fixed Defects


▪ B- Defects identified by the customer/Missed defects

Defect Leakage:
(No.of defects found in UAT / No. of defects found in Testing) * 100

Defect Rejection Ratio:


(No. of defect rejected /Total No. of defects raised) * 100
Defect Age: Fixed date-Reported date
Customer satisfaction = No.of complaints per Period of time

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”

Exhaustive testing is “Impossible to test everything”


impossible

Early testing Early means Cheap

Defect clustering “Small number of modules


contain most of the defects”

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”

“Tests are done differently in a


Testing is context dependent
different context”

Absence of Error Fallacy “focus on the business need”

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

Priority is defined as the order in which a defect should be fixed


How quickly bug should be removed from system
Low, Medium High.

● Severity is about How


Severity is degree of impact a bug. bad Bugs are
It defines the effect the bug has on the system
Minor, Major, Critical ● Priority is about how soon
it should be fixed

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.

Smoke testing is also called as Build Verification Test.

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).

Agile software development is more than practices such as pair


programming, test-driven development, stand-ups, planning
sessions, and sprints.
https://www.agilealliance.org/agile101/

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

● You can’t go back


● Freeze is Freeze

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

quite challenging due to lack of documentation.

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 turns a selection of the work into an Increment of


value during a Sprint.

● 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.

Empiricism asserts that knowledge comes from


experience and making decisions based on what is
observed.

Lean thinking reduces waste and focuses on the


essentials.
TheTestingAcademy.com
Scrum Theory

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”

Exhaustive testing is “Impossible to test everything”


impossible

Early testing Early means Cheap

Defect clustering “Small number of modules


contain most of the defects”

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”

“Tests are done differently in a


Testing is context dependent
different context”

Absence of Error Fallacy “focus on the business need”

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

Priority is defined as the order in which a defect should be fixed


How quickly bug should be removed from system.
Low, Medium High.

● Severity is about How


Severity is degree of impact a bug. bad Bugs are
It defines the effect the bug has on the system
Minor, Major, Critical ● Priority is about how soon
it should be fixed

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

Acceptance Criteria - User Able to register

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.

Smoke testing is also called as Build Verification Test.

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

Cookies are mainly used for three purposes:

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.

The Accept request HTTP header


indicates which content types, expressed
as MIME types, the client is able to
Authentication understand.

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

It is the mechanism used by


browsers to retrieve any
published resource on the web.

A URL is nothing more than the


address of a given unique
resource on the Web

Such resources can be an HTML


page, a CSS document, an image,
etc

TheTestingAcademy.com
URL BASICS

TheTestingAcademy.com
URL BASICS

TheTestingAcademy.com
Quiz
https://abc.com/xyz/?q=1

Which one is path param


Which one is query param

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

URN -- Uniform Resource Name


● urn:isbn:0451450523 to identify a book by its ISBN number.
● urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 a globally unique identifier
● urn:publishing:book - An XML namespace that identifies the document as a type of book.

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

The multipart/form-data type can be used


when sending the values of a completed
HTML Form from browser to server.
multipart/form-data

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

JSON Server is a Dummy Serve based on the JSON Database

1. Install Node JS nodejs.org


2. Open CMD -> Write npm i -g json-server
3. Create a db.json in the working dir.
4. Open CMD -> json-server -w db.json

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:

Informational responses (100–199)


Successful responses (200–299)
Redirection messages (300–399)
Client error responses (400–499)
Server error responses (500–599)

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

You might also like