Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Manual Testing Notes

Date: 09/04/2021

Introduction (Just read once carefully)

1. Software

Software is a code or set of instructions or program executed to perform some computer hardware task.

Similar like when two gears fixed in each other, when one gear rotated other gear also start rotating and
mechanism depends upon it start working

2. Testing

Testing is performed to assure the quality of developed product i.e. through testing we verify the developed
product is met the customer requirements/ specifications or not

There are two stages of testing

A. QA (Quality Assurance): QA (person) is process oriented means QA (person) check the quality of product
during development

B. QC (Quality Control): QC (person) is product oriented means QC (person) check the quality of developed
product or product which is going deliver

In Software/IT company application is tested by two ways first is by manually and second one is throw
tools and languages named as

1. Manual Testing
2. Automation Testing
1. Manual Testing
Manual Testing is software testing technique in which we simply use manual efforts to test the
application through keyboard and mouse or any electronic devices like mobile

In Manual testing we never use any tool, any scripting language like C, C++, JAVA

2. Automation Testing
Automation testing is software testing technique in which we test the application using some
automation tools, scripting language like Java, python

Q.01 If your Test leads proposing to test application throw Automation but you know Manual
Testing is better and then what will you do

Q.02 Why manual testing is important than automation testing or vice versa

Software: Is used to perform multiple task or to operate different hardware like Operating
System (OS)

Application: Is type of software is use to perform only certain task like Audio player, video
player, online application

Note: Application can be software but software cannot be application

Build: It is small part of application or feature. Developer developed the application in small
part then integrates all builds in one and application developed

As a tester we received the build for testing not whole application. At a time many teams
works on different parts of application
Manual Testing Syllabus
1. Software Development Process {SDLC}
➢ It is step by step software development process

SDLC Phases: The entire SDLC process divided into the following stages:

▪ Phase 1: Requirement collection and analysis


▪ Phase 2: Feasibility study
▪ Phase 3: Design
▪ Phase 4: Coding
▪ Phase 5: Testing
▪ Phase 6: Installation/Deployment
▪ Phase 7: Maintenance

In session video, I explained all phases with examples

Detailed explanations as below


Phase 1: Requirement collection and analysis:

The requirement is the first stage in the SDLC process. It is conducted by the senior team members with
inputs from all the stakeholders and domain experts in the industry. Planning for the quality assurance
requirements and reorganization of the risks involved is also done at this stage.

This stage gives a clearer picture of the scope of the entire project and the anticipated issues,
opportunities, and directives which triggered the project.

Requirements Gathering stage need teams to get detailed and precise requirements. This helps
companies to finalize the necessary timeline to finish the work of that system.

Phase 2: Feasibility study:

Once the requirement analysis phase is completed the next sdlc step is to define and document
software needs. This process conducted with the help of 'Software Requirement Specification'
document also known as 'SRS' document. It includes everything which should be designed and
developed during the project life cycle.

There are some ways to feasibilities checks:

• Finance: Can we complete the project within the budget or not?


• Legal: Can we handle this project as cyber law and other regulatory framework/compliances?
• Operation feasibility: Can we create operations which are expected by the client?
• Design: Can we capable to design required application
• Production: Can we developed the product with existing load, existing technology, existing skill person
• Testing: can we test application with existing tools ,existing skill manpower
• IT: can need install new systems and network, security and privacy
• HR: need to hire new skill manpower, there joining period, salary, administration arrangement
• Technical: Need to check whether the current computer system can support the software
• Schedule: Decide that the project can be completed within the given schedule or not.

Phase 3: Design:

In this third phase, the system and software design documents are prepared as per the requirement
specification document. This helps define overall system architecture.This design phase serves as input for
the next phase of the model.

There are two kinds of design documents developed in this phase:

High-Level Design (HLD)

• Brief description and name of each module


• An outline about the functionality of every module
• Interface relationship and dependencies between modules
• Database tables identified along with their key elements
• Complete architecture diagrams along with technology details
Low-Level Design (LLD)

• Functional logic of the modules


• Database tables, which include type and size
• Complete detail of the interface
• Addresses all types of dependency issues
• Listing of error messages
• Complete input and outputs for every module

Phase 4: Coding:

Once the system design phase is over, the next phase is coding. In this phase, developers start build the
entire system by writing code using the chosen programming language. In the coding phase, tasks are
divided into units or modules and assigned to the various developers. It is the longest phase of the Software
Development Life Cycle process.

In this phase, Developer needs to follow certain predefined coding guidelines. They also need to use
programming tools like compiler, interpreters, debugger to generate and implement the code.

Phase 5: Testing:

Once the software is complete, and it is deployed in the testing environment. The testing team starts testing
the functionality of the entire system. This is done to verify that the entire application works according to
the customer requirement.

During this phase, QA and testing team may find some bugs/defects which they communicate to developers.
The development team fixes the bug and sends back to QA for a re-test. This process continues until the
software is bug-free, stable, and working according to the business needs of that system.

Phase 6: Installation/Deployment:

Once the software testing phase is over and no bugs or errors left in the system then the final deployment
process starts. Based on the feedback given by the project manager, the final software is released and
checked for deployment issues if any.

Phase 7: Maintenance:

Once the system is deployed, and customers start using the developed system, following 3 activities
occur

• Bug fixing - bugs are reported because of some scenarios which are not tested at all
• Upgrade - Upgrading the application to the newer versions of the Software
• Enhancement - Adding some new features into the existing software

The main focus of this SDLC phase is to ensure that needs continue to be met and that the system continues
to perform as per the specification mentioned in the first phase.
2. Waterfall Model
WATERFALL MODEL is a sequential model that divides software development into pre-defined
phases. Each phase must be completed before the next phase can begin with no overlap between the
phases. Each phase is designed for performing specific activity during the SDLC phase

3. Smoke Testing
• Smoke testing is build verification level testing before going to in-depth
• In smoke we check build is stable or not
• In smoke testing we check only critical functionality or working of application before going to in
depth like launching application
• In smoke testing we check build is stable or not mean it should not show unexpected behavior
during testing For e.g. Amazon application having new build deployment of login page
Here we check login page functionality as build is stable or not, it show received build working
fine as expected means directly we are verifying build and its functionality before testing other
developed features

4. Sanity Testing
Sanity testing is a kind of Software Testing performed after receiving a build, with minor
changes in code or functionality, to assure that the bugs have been fixed and no further issues are
introduced due to these changes. The goal is to determine that the proposed functionality works
roughly as expected

• In sanity testing we test core and basic functionality of application


Difference between Smoke Testing and Sanity Testing (VVIMP)

Sr. No. Smoke Testing Sanity Testing


1 It is Build Verification level It is release level of testing
testing
2 In smoke we check build is In sanity we check after changes in
stable or not, before going to in code or after fixing the bug, existing
depth testing functionality working or not
3 It is scripted because here we It is unscripted because here we do
do end to end testing testing on particular component
4 It is done by developer and It is done by tester only
tester
5 Here we check critical Here we check core and basic
functionality functionality
5. Regression Testing
When modification or new changes come in module or feature, then we verify is there any
effect of that modification on other unmodified or unchanged modules of application
For e.g. 01: Gmail Application
➢ Suppose there is modification happens in Compose Mail feature, Attachment files facility added
in Compose Mail feature.
➢ So this facility should reflect in Outbox of sender, Sent box of sender, Delete box of sender (in
case mail deleted), and finally in mail receiver sides Inbox i.e. Inbox
➢ Means its impact other feature of application, so we need to verify that changes reflected or not

For e.g. Bank Account


• Types of Regression Testing
1. Unit Regression 2. Regional Regression 3. Full Regression
1. Unit Regression
When modification or change happen, that modification is impacted only one particular
feature of application is called Unit Regression.
For e.g. There is spelling mistake in Help Documents of application, so developer will
correct that spelling only, so tester need to check only help documents and it does not
impact other area of application

2. Regional Regression
When modification or change happen, that modification is impacted on some other
features of application is called Regional Regression.
In this case, we find out impacted features and test only those impacted features
Consider e.g. 01 above Gmail application, in that modification of attached facility impacted
some of features like in Outbox of sender, Sent box of sender, Delete box of sender (in case
mail deleted), and finally in mail receiver sides Inbox i.e. Inbox.
And this modification is not impacted on other features like Login, Setting, Spam, Read and
Unread features. So tester list out the impacted features and test that features only

3. Full Regression
When modification or change happen in one feature of application, that modification
impact the whole application is called Full Regression.

For e.g. if there is name change or change in company logo, it should reflect throughout the
application i.e. in each and every feature of application, tester need to check whole application
(called Graphical User Interface testing)

• Difference between Sanity Testing and Regression Testing (write down definations)

Sr. No. Sanity Testing Regression Testing


1 In sanity we check after changes in code or When modification or new
after fixing the bug, existing functionality changes come in module or
working or not feature, then we verify is
there any effect of that
modification on other
unmodified or unchanged
modules of application

2 Here we test core and basic functionality Here we new as well as


existing functionality
6. Integration Testing
In Integration Testing, we test the data flow between two or more features of application
For e.g. Gmail Application
Suppose User A composed mail with message & attachment and sent to User B, so User B must receive
the message and attachment as it is i.e. User B must receive same message and same attached files.
Same message and attachment must reflect in Outbox of sender, Sent box of sender, Delete box of
ender (in case mail deleted), and finally in mail receiver sides Inbox i.e. inbox

7. Retesting
When developer fixed any bug and tester test that bug again after fixed is called as Retesting
• Difference between Retesting and Regression Testing
Sr. No. Retesting Regression Testing
1 When developer fixed any bug and When modification or new changes come in
tester test that bug again after module or feature, then we verify is there
fixed is called as Retesting any effect of that modification on other
unmodified or unchanged modules of
application

8. System Testing
In system testing, tester do the end to end testing of application i.e. start to end of application
System testing conducted on each component application, integrated features
System testing includes Functional and No-functional testing types
9. Acceptance Testing
In acceptance testing, tester check all customer business requirements are met or not from developed
software by developer

There are two types of Acceptance Testing


1. Alpha Testing 2. Beta Testing
1. Alpha testing
In alpha testing, tester or the end user start using application at developer end and
check whether business requirement met or not
In alpha testing, tester or end user test on their developers local environment i.e. QA
environment, Stage Environment
End user start using application at developer end because they don’t have separate IT
team or they don’t have local environments like QA environment, Stage Environment, these
environment near about same of live environment
2. Beta Testing
In beta testing, end user start using application at their end on production /live
environment and check whether all business requirements met or not
Advantage of Beta testing is End user receive direct feedback from their user, these beta
version available for some of user and so End user knows failure and risk before
launching for all customers

10. Exploratory Testing


It is simultaneous process of learning and testing the application whenever there is no
requirement document or there is no time to read requirement documents or requirement
document is missing
In this testing, tester start launching feature one by one and as per scenario he get the test that
feature
By doing this, tester explore each feature and test that feature with come up with scenario
11. Compatibility Testing
In compatibility testing, tester test the application on different hardware and software and
check whether it is working same or not as per requirement

To achieve different hardware platforms, tester use VMware tool, so they don’t use different
actual machines

To achieve different software platforms, tester use Utilu IE, Utilu Crome tool, so they don’t use
different actual machines. Also TestComplete

12. Ad-hoc Testing


Here we come up with creative scenario, then tester test the application based on creative
scenarios.

When tester don’t find any defect with regular approach, he think out of the way test the
application, and anyhow try to break the application

This testing requires no documentation/ planning /process to be followed


13. Globalization Testing
When application develop in multiple languages, and tester test this application in multiple
languages is called Globalization Testing

For e.g. Google supports multiple languages

There are two types of Globalization Testing


1. Internationalization Testing [I18N] 2. Localization Testing [L10N]

1. Internationalization Testing [I18N]


When application developed with all adapted regional languages use in world without any
application level changes and tester test that application in all regional adapted languages is called
as Internationalization Testing [I18N]
For e.g. Google, Facebook
Internationalization is also called as I18N, where 18 is the number of letters between “I” and “N” in
the English word

2. Localization Testing [L10N]


When application developed for particular regional language use in world and tester test that
application in that regional language is called as Localization Testing [L10N]
For e.g. Maharashtra state Govt. application, other Indian state Govt. application
Localization is also called as L10N, where 10 is the number of letters between “L” and “N” in the
English word

14. Functional Testing

In functional testing, tester test each and every component of application thoroughly
and vigorously.

It includes System testing, Integration Testing, smoke testing, sanity testing, etc..
15. Non-Functional Testing
In Non Functional testing, tester verifies non functional aspects of application.
Non Functional testing verifies non-functional aspects like performance, usability,
compatibility, globalization, etc.

• Difference between Functional and Non-Functional Testing

Sr. No. Functional Testing Non-Functional Testing


1 In functional testing, tester test In Non Functional testing, tester
each and every component of verifies non functional aspects of
application thoroughly and application
vigorously

2 Types testing are Smoke , Types of testing are


sanity, integration, system, etc Performance, Compatibility,
Globalization , etc

16. Performance Testing


Testing the stability and response time of the application by applying load to the
application is called as Performance Testing
There is separate trained/skilled person appointed for performance testing.
To perform performance testing J-meter and Load runner tools are use

For e.g. as per specification Amazon application can bare up to 100000 customers login at a
time and logged within 5 milliseconds , after logged in with 100000 customers application
should work properly

There are 4 types of Performance testing


1. Load Testing 2. Stress Testing 3. Soak Testing 4. Volume Testing
1. Load Testing
In load testing, we apply defined load i.e. maximum capacity of load to the
application, and check response time of application; response time should be
equal or less than specified time

For e.g., Amazon application designed with max capacity of 4 lac’s user and
for this much user, response time designed 5 sec. During testing will apply 4
lac’s user and will check response time should be less than or equal to 5 sec

2. Stress Testing
In Stress testing, we apply load more than defined load i.e. more than
maximum capacity of load to the application unless and until it get crash or
stop working, and check response time of application; response time should
be equal or less than specified time
By doing this we check how much tolerance application can handle and its
stability
We need to test this , because sometimes suddenly number of users start
using application, so application should not get stop, otherwise company will
loss there business and their reputation
➢ This situation may occur during festive seasons, Bumper sell offer etc.
➢ During our Results, our university site get crash, due stress load

3. Soak Testing/Endurance Testing


In Soak Testing, apply maximum load or defined load for particular time
period like 24 hrs, 48 hrs, 72 hrs, and check applications stability
We need to do this testing as application stand for globe, there is always user
on application worldwide

4. Volume Testing
In Volume Testing, we transfer huge data from one feature to another
feature, and test whether data properly transferred or not. There should not
be any data loss, application breakdown, time consume, etc..

You might also like