Manual Testing Notes
Manual Testing Notes
To Improves product quality. it identi es any issues and defects with the written code so they can
be xed before the software product is delivered.
****SDLC vs STLC
Software Development Life Cycle (SDLC) is a sequence of di erent activities performed during the
software development process.
fi
fi
fi
ff
fi
Software Testing Life Cycle (STLC) is a sequence of di erent activities performed during the
software testing process.
ff
Find the di erence between STLC and SDLC below:
ff
**** Waterfall Model
The Waterfall Model was the rst Process Model to be introduced. It is also referred to as a linear-
sequential life cycle model. It is very simple to understand and use. In a waterfall model, each
phase must be completed before the next phase can begin and there is no overlapping in the
phase.In this Waterfall model, typically, the outcome of one phase acts as the input for the next
phase sequentially.
The following illustration is a representation of the di erent phases of the Waterfall Model.
Advantages Dis-Advantages
fi
ff
Before the next phase of development, each Error can be xed only during the phase
phase must be completed
Suited for smaller projects where requirements It is not desirable for complex project where
are well de ned requirement changes frequently
They should perform quality assurance test Testing period comes quite late in the
(Veri cation and Validation) before completing developmental process
each stage
Elaborate documentation is done at every Documentation occupies a lot of time of
phase of the software’s development cycle developers and testers
Project is completely dependent on project Clients valuable feedback cannot be included
team with minimum client intervention with ongoing development phase
Any changes in software is made during the Small changes or errors that arise in the
process of the development completed software may cause a lot of
problems
2. Risk Analysis
In the risk analysis phase, the risks associated with the project are identi ed and evaluated.
3. Engineering
In the engineering phase, the software is developed based on the requirements gathered in the
previous iteration.
4. Evaluation
In the evaluation phase, the software is evaluated to determine if it meets the customer’s
requirements and if it is of high quality.
5. Planning
The next iteration of the spiral begins with a new planning phase, based on the results of the
evaluation.
The Spiral Model is often used for complex and large software development projects, as it allows
for a more exible and adaptable approach to software development . It is also well-suited to
projects with signi cant uncertainty or high levels of risk.
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.
fi
fi
fi
fl
fi
fi
fi
Spiral Model.
V-Model
It is also known as the Veri cation and Validation model. It is based on the association of a testing
phase for each corresponding development stage.
Unit Testing
Unit testing is a method of testing individual units or components of a software application. It is
typically done by developers and is used to ensure that the individual units of the software are
working as intended.
Integration Testing
Integration testing is a method of testing how di erent units or components of a software
application interact with each other. It is used to identify and resolve any issues that may arise
when di erent units of the software are combined.
ff
ff
fi
ff
ff
fi
Regression Testing
Regression testing is a method of testing that is used to ensure that changes made to the
software do not introduce new bugs or cause existing functionality to break
Smoke Testing
Smoke Testing is done to make sure that the software under testing is ready or stable for further
testing
Monkey Testing:-
monkey testing is a technique where the user tests the application or system by providing random
inputs and checking the behaviour, or seeing whether the application or system will crash.
Gorilla Testing:-
Gorilla Testing is similar to monkey testing, the only di erence being that it tests particular
modules, whereas monkey testing tests the system as a whole.
Adhoc Testing:-
Ad hoc testing is a software testing technique performed without any speci c test plan or
prede ned set of steps.
Exploratory testing:-
Exploratory testing typically involves some test planning, even though it may be “minor” and
adaptable. So, there is an idea of the areas to explore, targets to achieve, and potential risks to
consider.
Alpha Testing
Alpha testing is a type of validation testing. It is a type of acceptance testing that is done before
the product is released to customers. It is typically done by QA people.
Beta Testing
The beta test is conducted at one or more customer sites by the end-user of the software. This
version is released for a limited number of users for testing in a real-time environment.
System Testing
System Testing is carried out on the whole system in the context of either system requirement
speci cations or functional requirement speci cations or in the context of both. The software is
tested such that it works ne for the di erent operating systems. It is covered under the black box
testing technique. In this, we just focus on the required input and output without focusing on
internal work
Stress Testing
In Stress Testing, we give unfavourable conditions to the system and check how they perform in
those conditions.
Acceptance Testing
Acceptance testing is done by the customers to check whether the delivered products perform
the desired tasks or not, as stated in the requirements. We use Object-Oriented Testing for
discussing test plans and for executing the projects.
Black box testing is a software testing methodology in which the tester analyses the functionality
of an application without a thorough knowledge of its internal design. Conversely, in white box
testing, the tester is knowledgeable of the internal design of the application and analyses it during
testing
fi
fi
ff
fi
ff
fi
ff
fi
Gray box testing:-
Gray-box testing is a combination of white-box testing and black-box testing. The aim of this
testing is to search for the defects, if any, due to improper structure or improper usage of
applications.
Static testing will analyse the code, requirements documents and design documents, while
dynamic testing will look at the functional behaviour of software systems such as memory usage
and performance. Static testing essentially gives an assessment of code, while dynamic testing
will try to nd active bugs.
2. Non-functional Testing:- Verify how application behaves. Focus of non functional testing is to
examin product performance.