Functional Testing
Functional Testing
Questions
Q #1) What do you understand by the term ‘Functional testing’?
Answer: A black box testing technique, where the functionality of an
application is tested to generate the desired output by providing certain input is
called ‘Functional testing’.
The role of functional testing is not only to validate the behavior of the
application as per the requirement document specification but is also to verify
whether the application is ready to be released into the live environment or not.
Given below are a few functional testing techniques that are commonly
used:
Unit testing
Smoke testing
Integration testing
System testing
Usability testing
Regression testing
User Acceptance testing
Q #2) What are the important steps that are covered in Functional
testing?
Answer: Following are the steps that should be covered as a part of
functional testing:
Understanding the Requirement document specification and
clearing the doubts and queries in the form of review comments.
Writing the test cases with respect to the requirement specification
by keeping in mind all the scenarios that should be considered for
all the cases.
Identifying the test inputs and requesting the test data that is
required to execute the test cases as well as to check the
functionality of the application.
Determine the actual outcomes as per the input values to be
tested.
Execute the test cases that determine whether application behavior
is as expected or any defect has occurred.
Compare the actual result and the computed result to find out the
actual outcome.
Q #3) Explain the difference between Functional testing and Non-
Functional testing.
Answer: The difference between Functional testing and Non-functional testing
can be explained as below:
Functional Testing NonFunctional Testing
Functional testing is performed to determine the Non-functional testing is the process to determine the sys
system behaviour as per the client functional performance as per client expectations
requirements.
Functional testing is performed first with the help Non-functional testing is performed after functional testin
of Manual and Automation testing tools. the effective tools required.
It is easy to perform manual testing as client It is difficult to perform manual testing as scalability, reli
requirements are the input in functional testing. speed and other performance parameters are input in non
functional testing.
[image source]
The whole process goes as and when an issue or bug is encountered. It is
reported /logged in bug tracking tool following a considerable format. These
bugs are assigned to the developer and its status is made as ‘Open’. Developer
can now review the bug, reproduce it at its end and start working on it.
If the bug is fixed, the developer changes its status to ‘Fixed’ or the status can
be moved to ‘need more information’, ‘won’t fix’, ‘cannot reproduce’ etc., in
other cases. QA then performs regression i.e. re-verify the bugs with a specific
action and respond accordingly.
Enlisted below are a few types of software which help and assist
people with disabilities to use technology:
Speech recognition software
Screen reader software
Screen magnification software
Special keyboard
Q #16) What is Adhoc testing?
Answer: Adhoc testing, usually known as random testing is a form of testing
which does not follow any test case or requirement of the application. Adhoc
testing is basically an unplanned activity where any part of the application is
randomly checked to find defects.
In such cases, the defects encountered are very difficult to reproduce as no
planned test cases are followed. Adhoc testing is usually performed when there
is a limited time to perform elaborative testing.
For Example: To identify the rate of interest as per the balance in the account,
we can identify the range of balance amount in the account that earn a different
rate of interest.
Q #18) Explain Boundary Value Analysis.
Answer: Boundary value analysis method checks the boundary values of
Equivalence class partitions. Boundary value analysis is basically a testing
technique which identifies the errors at the boundaries rather than within the
range values.
For Example, An input field can allow a minimum of 8 characters and a
maximum of 12 characters then 8-12 is considered as the valid range and <7
and >13 are considered as the invalid range. Accordingly, the test cases are
written for valid partition value, exact boundary value, and invalid partition
value.
Q #19) Explain the difference between Severity and Priority.
Answer: Defect Severity is defined by the level or the degree of impact by
the defect on the application under test. Higher the severity of the defect, the
more is the impact on the application.
Following are the 4 classes in which a defect severity is categorized:
Critical
Major
Medium
Low
Defect priority defines the order in which the defect should be resolved first
i.e. the higher the priority of the defect implies that the application is unusable
or stuck at some point and the defect should be resolved as soon as possible.
Following are the 3 classes in which a defect priority is defined:
High
Medium
Low
Q #20) When do we perform Smoke testing?
Answer: Smoke testing is performed on the application after receiving the
build. Tester usually tests for the critical path and not the functionality in deep
to make sure, whether the build is to be accepted for further testing or to be
rejected in case of broken application.
A smoke checklist usually contains the critical path of the application without
which an application is blocked.
Regression testing is the form of testing which is carried out to make Retesting is the form of testing the app
sure that implementation of any new feature or fixes does not affect after fixing of defects for those test cas
any other part or functionality of the application. which were failed in last execution.
As a part of regression testing, new changes in the application should As a part of retesting, defect verificatio
not affect the existing functionalities. done.
Based on the project requirement, regression testing can be parallel Retesting is performed before regressio
performed with retesting. testing because of its high priority.
Also known as generic testing and is done for passed test cases. Also known as planned testing and is o
Regression testing Retesting
As manual testing can be time consuming and expensive, automation Automation cannot be done for retestin
can be done for regression testing.
Q #25) Explain User Acceptance testing.
Answer: User acceptance testing is usually performed after the product is
thoroughly tested. In this form of testing, software users or say, client, itself use
the application to make sure if everything is working as per the requirement and
perfectly in the real world scenario.