JBK7002 Manual Testing Two
JBK7002 Manual Testing Two
Levels of Testing
Verification & Validation
Functional & Non-Functional
Testing
Javabykiran.com 1
javabyKiran Manual Testing call : 8888809416
Levels of Testing
“In software development life cycle models there are defined phases like require
coding or implementation, testing and deployment. Each phase goes through the
testing.”
Hence there are various levels of testing. The various levels of testing are:
• Unit Testing
• Module/Component Testing
• Integration Testing
Javabykiran.com 2
javabyKiran Manual Testing call : 8888809416
Javabykiran.com 3
javabyKiran Manual Testing call : 8888809416
• System Testing
o What is UAT:
▪ UAT is a type of testing performed by the end user or
the client to verify/accept the software system before
moving the software application to the production
environment .
▪ UAT is done in the final phase of testing after
functional, integration and system testing is done.
o Who Performs UAT?
▪ Client
▪ End users
o Need of User Acceptance Testing
▪ Need arises once software has undergone Unit, Integration and System
testing because developers might have built software based on
requirements document by their own understanding and further
required changes during development may not be effectively
communicated to them, so for testing whether the final product is
accepted by client/end-user, user acceptance testing is needed.
Javabykiran.com 4
javabyKiran Manual Testing call : 8888809416
o Alpha Testing
▪ Alpha testing is a type of testing that is done on an application towards
the end of a development process when the product is almost in a
usable state. ... The first phase consists of testing by the developers.
The software used is either hardware-assisted debuggers or debugger
software.
o Beta Testing
▪ Beta testing is one of the final steps in your software development
lifecycle (SDLC) before a product goes live. Also referred to as user
testing or customer validation, beta testing aims to ensure that end
users are satisfied with a software product before you make it generally
available (GA).
Javabykiran.com 5
javabyKiran Manual Testing call : 8888809416
▪ Verification
• What is Verification?
o The process of evaluating work-products (not the actual final
product) of a development phase to determine whether they
meet the specified requirements.
o Verification is done at the starting of the development process.
It includes reviews and meetings, walkthroughs, inspection,
etc. to evaluate documents, plans, code, requirements, and
specifications.
• Verification Techniques?
o Reviews
o Inspections
o Walk through
Explanation
▪ Reviews
▪ A review is a systematic examination of document by one or
more people with the main aim of finding and removing errors
early in the software development life cycle
▪ There are two types of Reviews held in verification. They are
Formal Review and Informal Review.
Javabykiran.com 6
javabyKiran Manual Testing call : 8888809416
▪ Inspection:
▪ Inspection is the most formal form of reviews, a strategy
adopted during testing phase.
▪ It is the most formal review type
▪ It is led by the trained moderators
▪ During inspection the documents are prepared and checked
thoroughly by the reviewers before the meeting
▪ Walkthrough
▪ A walkthrough is conducted by author of code or author of
test cases and in that meeting all participants involves.
▪ Basically, this walkthrough explains about functionality
developed to all stake holders and tester will be letting
everyone know all testing needs to be done for a application.
▪ Validation
▪ What is Validation:
• The process of evaluating software during or at the
end of the development process to determine
whether it satisfies specified business
requirements.
▪ Who will perform:
• Testing Team, Dev Team, Client or BA team?
Javabykiran.com 7
javabyKiran Manual Testing call : 8888809416
▪ Functional Testing:
Functional Testing is a testing technique that is used to test the features/functionality of
the Software.
o Smoke Testing:
▪ Smoke Testing is a software testing process that determines whether the
deployed software build is stable or not. Smoke testing is a confirmation
for QA team to proceed with further software testing.
▪ It consists of a minimal set of tests run on each build to test software
functionalities. Smoke testing is also known as “Build Verification
Testing” or “Confidence Testing.”
▪ In simple terms, we are verifying whether the important features are
working and there are no showstoppers in the build that is under testing.
o Sanity Testing:
▪ Sanity Testing is a subset of regression testing. Sanity testing is performed
to ensure that the code changes that are made are working as properly.
▪ Sanity testing is a stoppage to check whether testing for the build can
proceed or not. The focus of the team during sanity testing process is to
validate the functionality of the application and not detailed testing.
▪ Sanity testing is generally performed on build where the production
deployment is required immediately like a critical bug fix.
▪ Features of Sanity Testing:
• Subset of Regression Testing:
Sanity testing is a subset of regression testing and focuses on the
smaller section of the application.
• Unscripted:
Most of the times sanity testing is not scripted.
• Not documented:
Usually sanity testing is undocumented.
• Narrow and deep:
Sanity testing is narrow and deep approach of testing where limited
functionalities are covered deeply.
• Performed by testers:
Sanity testing is normally performed by testers.
• Advantages of Sanity Testing:
o Sanity testing helps in quickly identify defects in the core
functionality.
o It can be carried out in lesser time as no documentation is
required for sanity testing.
Javabykiran.com 8
javabyKiran Manual Testing call : 8888809416
o Regression Testing
▪ Regression testing is performed to verify if the build has NOT broken any
other parts of the application by the recent code changes for defect fixing
or for enhancement.
▪ The purpose of a regression testing is to verify that modifications in the
software or the environment have not caused any unintended adverse side
effects and that the system still meets its requirements.
▪ We can perform regression testing in the following scenario, these are:
• When new functionality added to the application.
o Example: Add some functionality for customer
• When there is a Change Requirement.
o Example: Remember password removed from the login
page which is applicable previously.
• When the defect fixed
o Example: Assume login button is not working in a login
page and a tester reports a bug stating that the login button
is broken. Once the bug fixed by developers, tester tests it
to make sure Login Button is working as per the expected
result. Simultaneously, tester tests other functionality which
is related to the login button.
• When there is a performance issue fix
o Example: Loading of a home page takes 5 seconds,
reducing the load time to 2 seconds.
• When there is an environment change
o Example: When we update the database from MySQL to
Oracle
o Exploratory Testing:
▪ Testing of software without any documents (test cases or test planning)
and identify the functionality of application by exploring the application
and exploring & learning
o Monkey Testing:
▪ Monkey testing is a software testing technique in which the testing team
tests randomly.
Javabykiran.com 9
javabyKiran Manual Testing call : 8888809416
Javabykiran.com 10
javabyKiran Manual Testing call : 8888809416
o Usability:
▪ The ease with which the user can learn, operate, prepare inputs and outputs
through interaction with a system. This is checked by Usability Testing
o Scalability:
▪ The term refers to the degree in which any software application can
expand its processing capacity to meet an increase in demand. This is
tested by Scalability Testing
Javabykiran.com 11
javabyKiran Manual Testing call : 8888809416
▪ Stress Testing
• It is a form of testing that is used to determine the stability of a
given system, Stress testing involves testing beyond normal
operational capacity, often to a breaking point, to observe the
results.
• Stress testing is a generic term used to describe the process of
putting a system through stress.
▪ Recovery Testing
• Recovery testing is done to check how fast and better the
application can recover after it has gone through any type of crash
or failure
• Ex: For example, when an application is receiving data from a
network, unplug the connecting cable. After some time, plug the
cable back in and analyse the application’s ability to continue
receiving data from the point at which the network connection got
disappeared. Restart the system while a browser has a definite
number of sessions and check whether the browser can recover all
of them or not.
▪ Security Testing
• Security testing is basically to check that whether the application or
the product is secured or not.
• Can anyone come tomorrow and hack the system or login the
application without any authorization. It is a process to determine
that an information system protects data and maintains
functionality as intended.
• Security testing is related to the security of data and the
functionality of the application. You should be aware of the
following concepts while performing security testing:
• Confidentiality - The application should only provide the data to
the relevant party e.g.; one customer's transactional data should not
be visible to another customer; the irrelevant personal details of the
customer should not be visible to the administrator and so on.
• Integrity - The data stored and displayed by the application should
be correct e.g., after a withdrawal, the customer's account should
be debited by the correct amount.
• Authentication - It should be possible to attribute the data
transmitted in the application to either the application or the
customer. In other words, no one other than the customer or the
bank should be able to create or modify any data.
• Authorization - The application or a user should only be able to
perform the tasks which they are respectively authorized to
perform e.g., a customer should not be able to withdraw more than
the balance in their account without having an overdraft facility,
the application should not be able to levy charges on a customer
account without prior customer approval.
Javabykiran.com 12
javabyKiran Manual Testing call : 8888809416
Javabykiran.com 13