KEMBAR78
Functional Testing | PDF | Software Testing | Unit Testing
0% found this document useful (0 votes)
30 views9 pages

Functional Testing

The document outlines functional testing, a software testing type that verifies application functionality against requirements. It details the testing process, types of functional testing (such as unit, smoke, and regression testing), and tools used for execution. Additionally, it discusses the advantages and disadvantages of functional testing, emphasizing its role in ensuring software quality and user satisfaction.

Uploaded by

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

Functional Testing

The document outlines functional testing, a software testing type that verifies application functionality against requirements. It details the testing process, types of functional testing (such as unit, smoke, and regression testing), and tools used for execution. Additionally, it discusses the advantages and disadvantages of functional testing, emphasizing its role in ensuring software quality and user satisfaction.

Uploaded by

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

There are two types of testing:

Functional Testing:
It is a type of software testing which is used to verify the functionality of
the software application, whether the function is working according to the
requirement specification. In functional testing, each function tested by
giving the value, determining the output, and verifying the actual output
with the expected value. Functional testing performed as black-box
testing which is presented to confirm that the functionality of an
application or system behaves as we are expecting. It is done to verify the
functionality of the application.

Functional testing also called as black-box testing, because it focuses on


application specification rather than actual code. Tester has to test only
the program rather than the system.

Goal of functional testing


The purpose of the functional testing is to check the primary entry
function, necessarily usable function, the flow of screen GUI. Functional
testing displays the error message so that the user can easily navigate
throughout the application.

What is the process of functional testing?


Testers follow the following steps in the functional testing:

o Tester does verification of the requirement specification in the


software application.
o After analysis, the requirement specification tester will make a plan.
o After planning the tests, the tester will design the test case.
o After designing the test, case tester will make a document of the
traceability matrix.
o The tester will execute the test case design.
o Analysis of the coverage to examine the covered testing area of the
application.
o Defect management should do to manage defect resolving.

What to test in functional testing? Explain


The main objective of functional testing is checking the functionality of the
software system. It concentrates on:

o Basic Usability: Functional Testing involves the usability testing of


the system. It checks whether a user can navigate freely without
any difficulty through screens.
o Accessibility: Functional testing test the accessibility of the
function.
o Mainline function: It focuses on testing the main feature.
o Error Condition: Functional testing is used to check the error
condition. It checks whether the error message displayed.

Explain the complete process to perform functional testing.


There are the following steps to perform functional testing:

o There is a need to understand the software requirement.


o Identify test input data
o Compute the expected outcome with the selected input values.
o Execute test cases
o Comparison between the actual and the computed result

Explain the types of functional testing.


The main objective of functional testing is to test the functionality of the
component.

Functional testing is divided into multiple parts.

Here are the following types of functional testing.


Unit Testing: Unit testing is a type of software testing, where the
individual unit or component of the software tested. Unit testing, examine
the different part of the application, by unit testing functional testing also
done, because unit testing ensures each module is working correctly.

The developer does unit testing. Unit testing is done in the development
phase of the application.

Smoke Testing: Functional testing by smoke testing. Smoke testing


includes only the basic (feature) functionality of the system. Smoke
testing is known as "Build Verification Testing." Smoke testing aims to
ensure that the most important function work.

For example, Smoke testing verifies that the application launches


successfully will check that GUI is responsive.

Sanity Testing: Sanity testing involves the entire high-level business


scenario is working correctly. Sanity testing is done to check the
functionality/bugs fixed. Sanity testing is little advance than smoke
testing.
For example, login is working fine; all the buttons are working correctly;
after clicking on the button navigation of the page is done or not.

Regression Testing: This type of testing concentrate to make sure that


the code changes should not side effect the existing functionality of the
system. Regression testing specifies when bug arises in the system after
fixing the bug, regression testing concentrate on that all parts are working
or not. Regression testing focuses on is there any impact on the system.

Integration Testing: Integration testing combined individual units


and tested as a group. The purpose of this testing is to expose the faults
in the interaction between the integrated units.

Developers and testers perform integration testing.

White box testing: White box testing is known as Clear Box testing,
code-based testing, structural testing, extensive testing, and glass box
testing, transparent box testing. It is a software testing method in which
the internal structure/design/ implementation tested known to the tester.

The white box testing needs the analysis of the internal structure of the
component or system.

Black box testing: It is also known as behavioral testing. In this testing,


the internal structure/ design/ implementation not known to the tester.
This type of testing is functional testing. Why we called this type of testing
is black-box testing, in this testing tester, can't see the internal code.

For example, A tester without the knowledge of the internal structures of


a website tests the web pages by using the web browser providing input
and verifying the output against the expected outcome.

User acceptance testing: It is a type of testing performed by the client


to certify the system according to requirement. The final phase of testing
is user acceptance testing before releasing the software to the market or
production environment. UAT is a kind of black-box testing where two or
more end-users will involve.

Retesting: Retesting is a type of testing performed to check the test


cases that were unsuccessful in the final execution are successfully pass
after the defects fixed. Usually, tester assigns the bug when they find it
while testing the product or its component. The bug allocated to a
developer, and he fixes it. After fixing, the bug is assigned to a tester for
its verification. This testing is known as retesting.

Database Testing: Database testing is a type of testing which checks


the schema, tables, triggers, etc. of the database under test. Database
testing may involve creating complex queries to load/stress test the
database and check its responsiveness. It checks the data integrity and
consistency.

Example: let us consider a banking application whereby a user makes a


transaction. Now from database testing following, things are important.
They are:

o Application store the transaction information in the application


database and displays them correctly to the user.
o No information lost in this process
o The application does not keep partially performed or aborted
operation information.
o The user information is not allowed individuals to access by the

Ad-hoc testing: Ad-hoc testing is an informal testing type whose aim is


to break the system. This type of software testing is unplanned activity. It
does not follow any test design to create the test cases. Ad-hoc testing is
done randomly on any part of the application; it does not support any
structured way of testing.

Recovery Testing: Recovery testing is used to define how well an


application can recover from crashes, hardware failure, and other
problems. The purpose of recovery testing is to verify the system's ability
to recover from testing points of failure.

Static Testing: Static testing is a software testing technique by which


we can check the defects in software without actually executing it. Static
testing is done to avoid errors in the early stage of the development as it
is easier to find failure in the early stages. Static testing used to detect
the mistakes that may not found in dynamic testing.

Why we use static testing?

Static testing helps to find the error in the early stages. With the help of
static testing, this will reduce the development timescales. It reduces the
testing cost and time. Static testing also used for development
productivity.

Component Testing: Component Testing is also a type of software


testing in which testing is performed on each component separately
without integrating with other parts. Component testing is also a type of
black-box testing. Component testing also referred to as Unit testing,
program testing, or module testing.

Grey Box Testing: Grey Box Testing defined as a combination of both


white box and black-box testing. Grey Box testing is a testing technique
which performed with limited information about the internal functionality
of the system.

What are the functional testing tools?


The functional testing can also be executed by various apart from manual
testing. These tools simplify the process of testing and help to get
accurate and useful results.

It is one of the significant and top-priority based techniques which were


decided and specified before the development process.

The tools used for functional testing are:

Tools Features/ Characteristics

Sahi
o It is an open-source and automation testing tool, released under
open source license, used for testing of the web application.
o Sahi is written in Java and JavaScript and considered for mos
techniques.
o It runs as a proxy server; it is browser-independent.

SoapUI
o It is an open-source functional testing tool, used for web application
o It is simple and easy to design.
o It supports multiple environments, i.e., at any instance, the target e
be set up.

Watir
o Watir, is an abbreviated form of web application testing in ruby, i
tool for automating web browser./li>
o It uses a ruby scripting language, which is concise and easy to use.
o Watir supports multiple browsers on various platform.
Selenium
o The open-source tool, used for functional testing on both web
applications of the desktop.

o o It automates browsers and web application for testing purpose.


o It gives the flexibility to customize the automated test case
o Provides the advantage of writing test scripts, as per the requirem
driver.

Canoo
o An open-source tool for performing functional testing of the web ap
WebTest
o Platform independent
o Easy and fast
o Easy to extend to meet growing and incoming requirements.

Cucumber
o Cucumber is an open-source testing tool written in Ruby language
best for test-driven development. It is used to test many other lan
c#, and python. Cucumber for testing using some programming.

What are the advantages of Functional Testing?


Advantages of functional testing are:

o It produces a defect-free product.


o It ensures that the customer is satisfied.
o It ensures that all requirements met.
o It ensures the proper working of all the functionality of an
application/software/product.
o It ensures that the software/ product work as expected.
o It ensures security and safety.
o It improves the quality of the product.

Example: Here, we are giving an example of banking software. In a bank


when money transferred from bank A to bank B. And the bank B does not
receive the correct amount, the fee is applied, or the money not
converted into the correct currency, or incorrect transfer or bank A does
not receive statement advice from bank B that the payment has received.
These issues are critical and can be avoided by proper functional testing.

What are the disadvantages of functional testing?


Disadvantages of functional testing are:

o Functional testing can miss a critical and logical error in the system.
o This testing is not a guarantee of the software to go live.
o The possibility of conducting redundant testing is high in functional
testing.

You might also like