0% found this document useful (0 votes)
5 views

Manual Testing Notes

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

Manual Testing Notes

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

****why do we need software testing?

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.

****error bug defect failure


We can say that a mistake made by a programmer during coding is called an error, an error found
during the unit testing in the development phase is called a defect, an error found during the
testing phase is called a bug and when an error is found at an end user's end is called as the
failure.

****why software has bugs?


Oversight or misunderstanding by a software team during speci cation, design, coding,
con guration, data entry or documentation is the reason for software having bugs.

****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 and disadvantages of 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

****What is the Spiral Model?


The Spiral Model is a Software Development Life Cycle (SDLC) model that provides a
systematic and iterative approach to software development. In its diagrammatic representation,
looks like a spiral with many loops. The exact number of loops of the spiral is unknown and can
vary from project to project. Each loop of the spiral is called a Phase of the software
development process.

What Are the Phases of Spiral Model?


The Spiral Model is a risk-driven model, meaning that the focus is on managing risk through
multiple iterations of the software development process. It consists of the following phases:
1. Planning
The rst phase of the Spiral Model is the planning phase, where the scope of the project is
determined and a plan is created for the next iteration of the spiral.

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.

Advantages & Disadvantages of spiral model

Advantages of Spiral Model:

1. Software is produced early in the software life cycle.


2. Risk handling is one of important advantages of the Spiral model, it is best development
model to follow due to the risk analysis and risk handling at every phase.
3. Flexibility in requirements. In this model, we can easily change requirements at later phases
and can be incorporated accurately. Also, additional Functionality can be added at a later
date.
4. It is good for large and complex projects.
5. It is good for customer satisfaction. We can involve customers in the development of products
at early phase of the software development. Also, software is produced early in the software
life cycle.
6. Strong approval and documentation control.
7. It is suitable for high risk projects, where business needs may be unstable. A highly
customised product can be developed using this.
Disadvantages of Spiral Model:
1. It is not suitable for small projects as it is expensive.
2. It is much more complex than other SDLC models. Process is complex.
3. Too much dependable on Risk Analysis and requires highly speci c expertise.
fi
4. Di culty in time management. As the number of phases is unknown at the start of the project,
so time estimation is very di cult.
5. Spiral may go on inde nitely.
6. End of the project may not be known early.
7. It is not suitable for low risk projects.
8. May be hard to de ne objective, veri able milestones. Large numbers of intermediate stages
require excessive documentation.

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.

Di erence between Veri cation and validation:-


Veri cation means checking the documents, designs, and other programming things.
Validation means testing the actual product.

Advantages and Disadvantages of V& V


ffi
ff
fi
fi
fi
fi
fi
ffi
fi
Di erence between QA, QC and QE:-
QQA primarily focuses on the processes and procedures that improve quality, including training,
documentation, monitoring and audits. QC focuses on the product to nd defects that remain
after development. QC professionals nd these issues in a variety of ways, including software
testing and beta or canary testing. QE involves the use of di erent tools and techniques to
prevent defects and enhance the software development process.

Types of Software Testing


There are basically 10 -11 types of Testing.
• Unit Testing
• Integration Testing
• System Testing
• Functional Testing
• Acceptance Testing
• Smoke Testing
• Sanity Testing
• Regression Testing
• Performance Testing
• Security Testing
• User Acceptance Testing

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.

What is the di erence between whitebox and blackbox?

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.

What is static and dynamic testing?

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.

Types of system testing:-


There are 2 types of system testing:-

1. Functional Testing:-veri es how an application is working. Is it meeting the software


requirements and speci cations. Verify all the functionalities of the software are working as
expected.

Types of functional testing:-


1. Unit Testing
2. Integration Testing.
3. UAT
4. Smoke Testing
5. Regression testing

2. Non-functional Testing:- Verify how application behaves. Focus of non functional testing is to
examin product performance.

Types of Non Functional testing:-


1. Performance Testing:-It is carried out to test speed, scalability, stability and reliability of the
software.
2. Load testing:- it is carried out to determine the behaviour of a system or software under
extreme load.
3. Stress testing:- It performed to check the robustness of the system under varying loads.
4. Stability testing:- it is carried out to check the performance of a software application or system
in terms of its capacity to scale up other scale downtime number of user request loads.

Test Design Technique:-

Used to prepare data for testing.


It helps to design better cases.
Reduces the number of test cases to be executed.

Advantages of Test design technique:-


1. Reduce data
2. More coverage

Types of Test Design technique:-


Equivalence Class partitioning
Boundary Value Analysis
Decision Table based testing
State Transition
Error Guessing
fi
fi
fi

You might also like