0% found this document useful (0 votes)
20 views13 pages

JBK7002 Manual Testing Two

2

Uploaded by

Megha Urkude
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views13 pages

JBK7002 Manual Testing Two

2

Uploaded by

Megha Urkude
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

javabyKiran Manual Testing call : 8888809416

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

o What is Unit testing:


▪ A unit is the smallest testable part of an application
▪ Unit testing is a method by which individual units of source code are
tested to determine if they are fit for use.

o Who will perform Unit testing?


▪ Unit tests are basically written and executed to make sure that code
meets its design and requirements and behaves as expected?

• Module/Component Testing

o What is Module/Component Testing:


▪ Component testing is a method where testing of each
application is done separately.
▪ Suppose in an application there are 5 components.
Testing of each 5 components separately and efficiently
is called as component testing.
o Who will perform Component Testing:
▪ Component testing is done by the tester

• Integration Testing

o What is Integration Testing:


▪ Integrations done testing when two modules are
integrated, to test the behaviour and functionality of
both the modules after integration.
▪ As displayed in the image below when two different
modules Module A and Modul B integration testing is
done.
▪ The integration part is identified and checked where
the impacts are so that can be checked thoroughly.

Javabykiran.com 2
javabyKiran Manual Testing call : 8888809416

o Who will perform Integration Testing:


▪ Integration testing is done by a specific integration
tester or test team?
o Integration Testing Techniques:
▪ Top down
▪ Bottom Up
• Top-down integration testing:
- Testing takes place from top to bottom,
following the control flow or
architecture.
• Bottom-up integration testing:
- Testing takes place from the bottom of
the control flow upwards.

Javabykiran.com 3
javabyKiran Manual Testing call : 8888809416

• System Testing

o What is system testing:


▪ System Testing is a level of testing that validates the
complete and fully integrated software product
▪ The purpose of a system test is to evaluate the end-to-
end system specifications.
o Who will do the system testing:
▪ System testing is carried out by specialist testers

• User Acceptance Testing (UAT)

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

▪ Alpha Testing and Beta Testing

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 & Validation

▪ 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.

• Who will perform?


o Peers (Sr Team Members, Architects, Analysts)?

• 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.

▪ Formal Review: Formal reviews follow a formal process. It is


well structured and regulated. It contains: Planning, Kick-off,
Preparation, Review meeting, Rework.

▪ Informal Review: “Informal reviews are applied many times


during the early stages of the life cycle of the document. A two-
person team can conduct an informal review.” The most
important thing to keep in mind about the informal reviews is
that they are not documented.

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?

Criteria Verification Validation


To ensure that the product is To ensure that the product
being built according to the meets the user’s needs, and
objective requirements and design that the specifications were
specifications. In other words, to correct in the first place. In
Question ensure
Are wethat workthe
building products meet
product, right? other
Are we words, to demonstrate
building the right
their specified requirements. that the
product? product fulfills its
Evaluation Plans, Requirement Specs, The actualuse
product/software.
intended when placed in
Items Design Specs, Code, Test
its intended environment.
Cases
Activities Reviews, Walkthroughs, Inspections Testing

Javabykiran.com 7
javabyKiran Manual Testing call : 8888809416

Functional & Non-Functional Testing

▪ 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 If the defects are found during sanity testing, project is


rejected that is helpful in saving time for execution of
regression tests.
o Re-testing:
▪ Retesting is executing a previously failed test against new software to
check if the problem is resolved.

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

o End to End Testing


▪ End-to-end testing is a methodology used to test whether the flow of an
application is performing as designed from start to finish.
▪ The purpose of carrying out end-to-end tests is to identify system
dependencies and to ensure that the right information is passed between
various system components and systems.

▪ Difference between System testing and End to End testing:


▪ There isn't really a huge difference between the two and in some
establishments the terms could be used interchangeably. Everywhere is
different.
▪ System testing: You're testing the whole system i.e., all its components to
ensure that each is functioning as intended. This is more from a functional
side to check against requirements.
▪ End to end testing: This is more about the actual flow through a system in
a more realistic end user scenario. Can a user navigate the application as
expected and does it work? You're testing the workflow.

▪ NON - Functional Testing:


o NON-FUNCTIONAL TESTING is defined as a type of Software testing to
check non-functional aspects (performance, usability, reliability, etc) of a software
application. It is designed to test the readiness of a system as per non-functional
parameters which are never addressed by functional testing.
o An excellent example of non-functional test would be to check how many people
can simultaneously login into a software.
o Non-functional testing is equally important as functional testing and affects client
satisfaction.

Non-functional testing Parameters (optional)


o Security:
▪ The parameter defines how a system is safeguarded against deliberate and
sudden attacks from internal and external sources. This is tested
via Security Testing.
o Reliability:
▪ The extent to which any software system continuously performs the
specified functions without failure. This is tested by Reliability Testing
o Survivability:
▪ The parameter checks that the software system continues to function and
recovers itself in case of system failure. This is checked by Recovery
Testing
o Availability:
▪ The parameter determines the degree to which user can depend on the
system during its operation. This is checked by Stability Testing.

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

Non-Functional Testing Types


o Following are the most common Types of Non-Functional Testing :
▪ Performance Testing
• Performance testing is testing that is performed, to determine how
fast some aspect of a system performs under a particular workload.
• It can serve different purposes like it can demonstrate that the
system meets performance criteria.
▪ User Interface Testing
• Graphical User Interface (GUI) testing is checking the application
design of an application Ex: Required/Optional, Fields Align,
Lengths, Progress Bars, Scroll Bars, Alignments, etc.
▪ Load Testing
• Load testing is performed to determine a system’s behaviour under
both normal and at peak conditions.
• A load test is usually conducted to understand the behaviour of the
application under a specific expected load.
• E.g., If the number of users is increased then how much CPU,
memory will be consumed, what is the network and bandwidth
response time.
▪ Compatibility Testing
• Compatibility Testing ensure compatibility of the application built
with various other objects such as other web browsers, hardware
platforms, operating systems etc.
• This type of testing helps find out how well a system performs in a
particular environment that includes hardware, network, operating
system, and other software etc.
• Ex: Browser Compatibility Testing, OS Compatibility Testing
▪ Usability Testing
• In usability testing basically the testers tests the ease with which
the user interfaces can be used. It tests that whether the application
is user-friendly or not.
• Usability Testing tests the following features of the software.
o How easy it is to use the software.
o How easy it is to learn the software.
o How convenient is the software to end user?

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

• Availability - The data and functionality should be available to the


users throughout the working period e.g., if the bank's operating
times are from 8 a.m. to 8 p.m. on all working days, it should be
possible for a customer to access their account and make the
necessary transactions on their account.
• Non-repudiation - Later, it should not be possible for a party to
deny that a particular transaction or data change took place e.g., if a
customer withdraws an amount from their account, this should
trigger the relevant actions (posting to their transaction records,
debiting their account, and sending them a notification etc.).

Javabykiran.com 13

You might also like