Functional Testing

Functional testing is a type of testing which 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
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 Testing
  • Functional testing is performed using the functional specification provided by the client and verifies the system against the functional requirements.
  • Functional testing is executed first Manual         
  • Testing or automation tools can be used for functional testing
  • Business requirements are the inputs to functional testing
  • Functional testing describes what the product does
  • Easy 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

               Non-Functional Testing
  • Non-Functional testing  checks the Performance, reliability, scalability and other non-functional aspects of the software system.
  • This testing is performed after functional testing
  • Using tools will be effective for this testing
  • Performance parameters like speed, scalability are inputs to this testing.
  • Nonfunctional testing describes how good the product works
  • Tough to do manual 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 market to perform functional testing. 

  • Selenium - Popular Open Source Functional Testing Tool
  • QTP - Very user-friendly Functional Test tool by HP
  • 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
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!!!




Visit My Blog: http://vinay-kumar-saini.blogspot.in/

2 comments:

  1. Thanks vinay ji for this post, do see se this Functional Testing tutorial by ArtOfTesting

    ReplyDelete
  2. Nice blog on functional testing! This informative piece brilliantly encapsulates the essence of ensuring software quality and user satisfaction. Functional testing serves as the backbone of every successful digital venture, safeguarding user experience and functionality with precision. Dive deeper into the realm of flawless software with our comprehensive functional testing services..

    ReplyDelete