Manual Testing all Notes
Manual Testing all Notes
Email: - [email protected]
Manual Testing
1. What is Testing / Software Testing?
3. Early Testing (means that all the testing activities should start in the early
stagesof the software development life cycles so that any defects in the
requirements or design phase are captured in early stages. It is much cheaper to fix a
Defect in the early stages of development.)
3. What is SDLC?
4. What is STLC?
Software Testing Life Cycle, includes all the phases of testing process. Which are -
1. Requirement Analysis (Test team gathers SRD and plans all the
necessary testsas per requirement).
2. Test Plan Creation (Test team plans the strategy, approach and
cost of thetesting).
3. Test Case development (Test scenario and test cases are written by the
tester asper requirement).
4. Test Environment Setup (Environment setup requires a group of
essentialsoftware and hardware to create a test environment. This is done by
the senior developer).
5. Test Execution (Test team do the real-time validation of product and
findingbugs).
6. Test Cycle Closure (Once testing is completed, matrix, reports,
results aredocumented).
4. Production Environment: This is the environment which the real user sees and
uses. After all the testing, the build is deployed on production environment for
the actual users.
Shyam Kumar
Email: - [email protected]
5. SDLC Models:
1. Waterfall model:
It is the first approach and the basic model used in software development. Then
execution happens in the sequence order, which means that the outcome of the
one- stage is equal to the input of another stage. That's why it is also known as the
Linear- sequential life cycle model. To avoid the overlapping issues of the multiple
phases, every stage should be completed before moving to the next stage(No back
tracking isallowed)
Shyam Kumar
Email: - [email protected]
2. Iterative model:
It is the modified version of waterfall model. Feedback can be sent to the
previousphases (i.e. back tracking is possible). But no phase overlapping is
allowed.
3. Spiral model:
It is the combination of waterfall and iterative model. It is used basically
for highrisk project, which reduces the no. of risks and also any changes
required can be done on later stages.
4. V- shaped model:
It is also known as verification and validation model, in this model testing
phase isassociated with each corresponding development phase.
Shyam Kumar
Email: - [email protected]
5. Agile Model:
It is combination of iterative and incremental model. It focuses on
adaptability and customer satisfaction by rapid delivery. In agile model
product are divided into small incremental builds and these builds are
provided in iteration which last for 1-3 weeks.Agile model is suitable for
changing requirement and fast delivery.
(a)Manual Testing:
Shyam Kumar
Email: - [email protected]
Manual Testing is a software testing in which test cases are executed manually
by a tester without using any automated tools. The purpose of Manual Testing
is to identify the bugs, issues, and defects in the software application.
(b)Automation Testing
Automation testing, which uses some specific tools to execute the test scripts
without any human interference. It is the most accepted way to enhance the
efficiency, productivity, and test coverage of Software testing.
With the help of an automation testing tool, we can easily fetch the test data,
handle the test implementation, and compare the actual output against the
expected outcome.
(b) Black box Testing- It is done by the test engineer where they can
check thefunctionality of an application. (Code is not visible)
(c) Grey box Testing- It is combination of white box and black box
testing. Grey box testing includes access to the internal code, so it is
performed by a person who knows coding as well as testing. A Grey box
tester not only reports the functionality failure but also the reason for the
failure at code level.
Bottom Up
Top Down
Top-Down Approach
The top-down testing strategy deals with the process in which higher level
modules are tested with lower level modules until the successful completion of
testing of all the modules. Major design flaws can be detected and fixed early
because critical modules tested first. In this type of method, we will add the
modules incrementally or one by one and check the data flow in the same
order.
Bottom-Up Method
The bottom to up testing strategy deals with the process in which lower level
modules are tested with higher level modules until the successful completion
of testing of all the modules. Top level critical modules are tested at last, so it
may cause a defect. Or we can say that we will be adding the modules
from bottom to the top and check the data flow in the same order.
We will go for this method, when the data flow is very complex and when it is
difficult to find who is a parent and who is a child.
Shyam Kumar
Email: - [email protected]
Since this testing can be done after completion of all modules due to that
testing team has less time for execution of this process so that internally linked
interfaces and high-risk critical modules can be missed easily.
Performance Testing
Performance Testing eliminates the reason behind the slow and limited
performance of the software. Reading speed of the software should be as fast
as possible.
Response time: Response time is the time taken by the server to respond to
the client's request.
Load: Here, Load means that when N-number of users using the application
simultaneously or sending the request to the server at a time.
Stability: For the stability factor, we can say that, when N-number of users us-
ing the application simultaneously for a particular time.
Load Testing
Load testing involves testing the system's loading capacity. Loading capacity
means more and more people can work on the system simultaneously.
For example: In the below image, 1000 users are the desired load,
which is given by the customer, and 3/second is the goal which we want
to achieve while performing a load testing.
Shyam Kumar
Email: - [email protected]
Stress Testing
For example: If we took the above example and increased the desired load 1000 to
1100 users, and the goal is 4/second. While performing the stress testing in this
scenario, it will pass because the load is greater (100 up) than the actual desired load.
Scalability Testing
The downward scalability testing is used when the load testing is not passed, then
start decreasing the no. of users in a particular interval until the goal is achieved.
So that it is easy to identify the bottleneck (bug).
Security Testing
Security testing is used to detect the security flaws of the software application.
The testing is done via investigating system architecture and the mindset of an
attacker. Test cases are conducted by finding areas of code where an attack is
most likely to happen.
Portability Testing
The portability testing of the software is used to verify whether the system can
run on different operating systems without occurring any bug. This test also
tests the working of software when there is a same operating system but
different hardware.
Reliability Testing
Reliability test assumes that whether the software system is running without
fail under specified conditions or not. The system must be run for a specific
time and number of processes. If the system is failed under these specified
conditions, reliability test will be failed.
Efficiency Testing
(b) Smoke Testing- This testing is done when we receive new build to
check whether the built is stable for testing or not. Smoke testing mainly
focus on the corefunctionality of the application.
(c) Sanity Testing- This testing is done after Smoke Testing on the new
build to verify that all bug have been fixed and there is no other bug
originated with new changes in the built. It is asubset of a regression.
So, in this situation, while we are restarting the system while a browser has a
definite number of sessions and check if the browser can recover all of them or
not.
(e) Alpha testing- Alpha testing is the first end-to-end testing of a product
to ensureit meets the business requirements and functions correctly. It is
typically performed by internal employees and conducted in a lab/stage
environment, before it is released to actual end-user.
experience.
(i) Agile testing- It is type of software testing practice that follows the
principle ofagile software development.
(j) Retesting testing- Testing of only that particular bug again after fixing it.
(k) Exploratory Testing- Exploratory testing allows you to think outside the
box and come up with use cases that might not be covered in a test case. For
example, youmight perform one test and then ask yourself, What if I tried
this? What if I didn't dothat?
For example, to test any software or the application, first, we will perform
unit, integration, and system testing.
Open- The developer starts analyzing and works on the defect fix, if
required. Ifdeveloper feels that the defect is not appropriate then it may
choose any of the state (deferred, rejected, duplicate, not a bug) along with
the reason.
Fixed- When developer fix the bug, he mark the status of defect as fixed
andassign to the tester for re-testing.
Re-testing- Tester do the re-testing and verify the defect again.
Re-open- If any issue occurs again in that defect then it will again assign
to thedeveloper and mark defect status as re-open.
Verified- If after fixing the defect, testing is done and tester feels that
defect hasbeen fixed then defect status is marked as verified.
Closed- When defect does not exist any longer then tester changes the
defectstatus as closed.
Priority- Tell us about how soon the bug should be fixed. It can be
urgent, high,medium, and low. It is given by the test lead or the project
manager.
Shyam Kumar
Email: - [email protected]
Requirement ID
Requirement Type and Description
Test Cases with Status
Shyam Kumar
Email: - [email protected]
Entry Criteria: Entry Criteria gives the prerequisite items that must be
completed before testing can begin.
Exit Criteria: Exit Criteria defines the items that must be completed
before testing can be concluded.
Authentication Authorization
In this, the user or client and server In this, it is verified that if the user is
are verified. allowed through the defined policies
Shyam Kumar
Email: - [email protected]
and rules.
The condition is simple if the user provides the correct username and
password the user will be redirected to the homepage. If any of the input is
wrong, an error message will be displayed.
T – Correct username/password
F – Wrong username/password
E – Error message is displayed
H – Home screen is displayed
Case 1 – Username and password both were wrong. The user is shown
an error message.
Case 2 – Username was correct, but the password was wrong. The user
is shown an error message.
Case 3 – Username was wrong, but the password was correct. The user
is shown an error message.
Case 4 – Username and password both were correct, and the user
navigated to the homepage
4) Actions that result from a transition (an error message or being given the
cash.)
Example:
Let’s consider an ATM system function where if the user enters the invalid
password three times the account will be locked.
In this system, if the user enters a valid password in any of the first three
attempts the user will be logged in successfully. If the user enters the invalid
password in the first or second try, the user will be asked to re-enter the
password. And finally, if the user enters incorrect password 3rd time, the
account will be blocked.
Shyam Kumar
Email: - [email protected]
In the diagram whenever the user enters the correct PIN he is moved to Access
granted state, and if he enters the wrong password he is moved to next try and
if he does the same for the 3rd time the account blocked state is reached.
Load testing is used to find the perfor- Stress testing is used to find the stability
mance of the application by testing the and response time of the given system.
database, networks, and website serv-
ers.
This type of testing reproduced the It is used to figure out the robustness and
load on any application and software. stability of the application.
Load testing is used to test web-based Stress testing tests suddenly increased traf-
and client-server types of application. fic of the application.
For example: if we have one scenario For example: if we took the same scenario
where the load is 100 users using the where the actual load of 100 users which are
application at a 2.5\sec of goal time. using the application at a 2.5\sec of goal
And, the desired load is 100 users. time.
This scenario got passed because the When the desired load got increased by 200
Shyam Kumar
Email: - [email protected]
desired load is equal to the load, which users, and it will become 300. So now, 300
satisfies the load testing condition. users using the application at 2.5\sec of
goal time.
It will pass because the desired load is
greater than the load according to the
stress testing condition.
2. Alpha testing performed at the Beta testing doesn't need any lab envi-
developer's site; it always needs a ronment or the testing environment; it is
testing environment or lab envi- performed at a client's location or end-
ronment. user of the product.
4. Alpha testing involves both white Beta testing uses only black-box testing.
box and black-box techniques.
5. Long execution cycles maybe re- Only a few weeks are required for the ex-
quire for alpha testing. ecution of beta testing.
6. Critical issues or fixes can be iden- Most of the issues or feedback is collect-
tified by developers immediately ing from the beta testing will be imple-
in alpha testing. mented for the future versions of the
product.
9. Alpha testing performed nearly Beta testing is a final test before shipping
the end of the software develop- a product to the customers.
ment.
10. Alpha testing is conducting in the Beta testing reversed of alpha testing.
presence of developers and the
absence of end-users.
Shyam Kumar
Email: - [email protected]
It is another type of software testing used to test the software developed for multiple
languages, is called globalization testing, and improving the application or software
for various languages is known as globalization.
Globalization testing ensures that the application will support multiple languages
and multiple features because, in current scenarios, we can see the enhancement in
several technologies as the applications are planned to be used globally.
For example, www.google.com supports many languages, and people from different
countries can access it; therefore, it is a globalized product.
It is also known as L10N testing, and here 10 is the number between L and N in
the Localization word.
For example, QQ.com supports only the Chinese language, which can be accessed
only by a few countries.
The test plans play a major role in testing and help us deliver a quality product.
It is derived with the help of Use Case documents, SRS (Software Requirement
Specification), and Product Description.
A Test Plan is a dynamic document that can be updated frequently when new
requirements or modifications have occurred.
Shyam Kumar
Email: - [email protected]
The test strategy is a high-level document used to validate the test levels to be
executed for the product. And it also describes what kind of technique has to be
used and which module will be tested.
The Test Strategy's main purpose is to deliver a systematic approach to the software
testing process to ensure reliability, quality, traceability, and better planning.
While the Test Strategy can be derived with the help of the BRS (Business
Requirement Specification) document.
It is used to check whether our application works as expected or not. And if an error
is detected at the time of positive testing, the test is considered as fail. A positive
testing is a technique whenever a test engineer writes the test cases for a set of
respective outputs.
In positive testing, the test engineer will always check for only a good set of values.
In other words, we can say that positive testing is a process where the system or an
application is tested against the valid input data.
And the primary purpose of performing the positive testing is to validate whether the
software does what it is supposed to do.
o Suppose, we have one test scenario, where we want to test an application that
includes a simple text box.
o To enter Phone Number according to the business needs it accepts only nu-
merical values.
o Hence, in positive testing, we will only give the positive numerical values in
order to test whether it is working as per the requirement or not.
It is implemented to check how the application can gracefully handle invalid input or
unpredicted user performance.
Negative testing is also known as error path testing or failure. And it helps us to
identify more bugs and enhance the quality of the software application under test.
Once the positive testing is complete, then only we can execute the negative testing,
which helps to identify more bugs and enhance the quality of the software
application under test.
We can say that the negative testing is executing by keeping the negative point of view in
simple terms. For example, 99999abcde
Shyam Kumar
Email: - [email protected]
Let see one example which will help us to understand the negative testing in an ef-
fective way.
o Suppose we have one sample form where the Mobile Number field can only
accept the numbers' value and does not accept the unique characters and al-
phabets values.
o However, let's entered the unique characters and alphabets values on the
Mobile number field to test that it accepts the individual characters and al-
phabets values or not.
o We expect that the textbox field will not accept invalid values and show an er-
ror message for the incorrect entry.
Communicate effectively
Another important way to prevent defect cascading is to ensure that there is
good communication between the different teams involved in the
development process. This includes the software development team, the
quality assurance team, and the customer support team.
Software testing
metrics or software test measurement is the quantitative
indication of extent, capacity, dimension, amount or size of some
attribute of a process or product.
Shyam Kumar
Email: - [email protected]
Percentage test cases executed= (No of test cases executed/ Total no of test
cases written) X 100
Likewise, you can calculate for other parameters like test cases not executed,
test cases passed, test cases failed, test cases blocked, etc.
Severity means the degree of impact or amount of impact of the defect on the
software or part of the application which is tested. Priority indicates the
correct order in which the detected defects should be fixed or resolved.
So basically, Defect Triage helps the software testing team if the available
resources are very few to fix the bugs in software.
'Triage' is a French word which means 'sorting'. So Defect Triage gives the
degree of risk to each bug in software testing. If the number of bugs is too
much than the number of testers, then this process automatically tries to fix
the bugs as much as possible based on the degree of risks.
Shyam Kumar
Email: - [email protected]