Monday, 23 February 2015

Functional Testing


Functional Testing 

 

Functional testing verifies that each function of the software 
application operates in conformance with the requirement 
specification. This testing mainly involves black box testing
 and it is not concerned about the source code of the application.
Each and every functionality of the system is tested by providing
 appropriate input, verifying the output and comparing the actual
 results with the expected results.
This testing involves checking of User Interface, APIs, Database
, security, client/ server applications and functionality of the 
Application Under Test. The testing can be done either manually
 or using automation

 

What do you test in Functional Testing?

The prime objective of Functional testing is   checking the functionalities of the software system. It mainly concentrates on -
· Mainline functions:  Testing the main functions of an application
· Basic Usability: It involves basic usability testing of the system. It checks whether an user can freely navigate through the screens without any difficulties.
· Accessibility:  Checks the accessibility of the system for the user
· Error Conditions: Usage of testing techniques to check for error conditions.  It checks whether suitable error messages are displayed.

 

Functional Testing Process:

In order to functionally test an application, following steps must be observed.
Understand the Requirements
Identify test input (test data)
Compute the expected outcomes with the 
selected test input values
Execute test cases 
Comparison of actual and computed expected result

 

Functional Vs Non-Functional Testing:

 

Functional Testing
Non-Functional Testing
Functional testing is performed using 
the functional specification provided
 by the client and verifies the system
 against the functional requirements.
Non-Functional testing  checks the  
Performance, reliability, scalability 
and other non-functional aspects of
 the software system.
Functional testing is executed first
Non functional testing should be 
performed after functional testing
Manual testing or automation tools can
 be used for functional testing
Using tools will be effective for this 
testing
Business requirements are the inputs 
to functional testing
Performance parameters like speed , 
scalability are
 inputs to non-functional testing.
Functional testing describes what the
 product does
Nonfunctional testing describes how 
good the product works
Easy to do manual testing
Tough to do manual testing
Types of Functional testing are
· Unit Testing
· Smoke Testing
· Sanity Testing
· Integration Testing
· White box testing
· Black Box testing
· User Acceptance testing
· Regression Testing

Types of Non functional testing are
· Performance Testing
· Load Testing
· Volume Testing
· Stress Testing
· Security Testing
· Installation Testing
· Penetration Testing
· Compatibility Testing
· Migration Testing

 

Functional testing tools:

 

There are several tools available in the marker to perform functional testing. They are explained as follows: 
· JUnit - Used mainly for Java applications and this can be used in Unit and system testing
· soapUI - This is an open source functional testing tool, mainly used for Web service testing. It supports multiple protocols such HTTP, SOAP and JDBC.
· Watir - This is functional testing tool for web applications. It supports tests executed at the web browser and uses ruby scripting language

Conclusion:
Functional testing is process of testing functionalities of the system and ensures that the system is working as per the functionalities specified in the business document. The goal of this testing is to check whether the system is functionally perfect!!!


2 comments:

  1. Thanks for sharing such a informative content with us. It's really useful post. Software testing services playing a important role in the software development companies. Helping to deliver a quality software product. Waiting for your upcoming posts.

    ReplyDelete
  2. Well written content about software testing. It's very informative post and very useful one. Most of the digital assurance services providers will change their process with AI. Waiting for your upcoming

    ReplyDelete