Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority
Functional Testing :Definition , Types , Techniques etc
Functional testing is a software testing technique that tests features and functionality of the Software under test, by providing inputs and evaluating outputs. The goal of functional testing is to verify the features and functionalities of the software system as per the intended purpose.
Aimed at testing the functionality as described in requirement documents
- Â It is basically defined as a type of testing which verifies that each function of the software application works in conformance with the requirement and specification.
Functional Testing can be performed both manually and with automation tools.
- It determines what the product is capable of.
- It is conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements.
- This testing involves checking of user interface, APIs, Database, security, client/ server applications and functionality of the application under test.
Functional Test mainly involves
- Verifying the main functionalities and basic functions
- Verifying User Interface
- Verifying correct data storing in database
- Verifying end to end work flows
- Verifying business scenarios
Process to do Functional Test:
- Get clear understanding of Functional Requirements
- Identify test data based on requirements and prepare the test data
- Prepare test cases and compute the expected outcomes with selected test input values
- Execute test cases
- Compare actual and computed expected results
- Raise defects in case there is any variance in the results
Functional Testing Techniques
There are two major techniques as shown below:
Types of Functional Testing:
Why automate Functional Tests?
- Automated functional software testing is crucial for faster software release cycles and it verifies that the application is bug-free and ready for release
- Automation can certainly reduce time and effort in executing functional test cases. Human error can also be lowered, removing bugs from slipping past the test phase.
- Reduces the risks and losses associated with the web app/software product.
Functional Testing Tools:
- Selenium (Open Source testing Tool)
- Ranorex Studio – All-in-one functional test automation for desktop, web, and mobile apps with built-in Selenium WebDriver.
- QTP *( Functional Test tool by HP)
- JUnit (testing framework , mainly used for JAVA applications)
- Â SoapUI ( open-source testing tool, mainly used for Web service testing. It supports multiple protocols such as HTTP, SOAP etc)
Â
Functional testing is an essential part of software testing and helps to ensure that the software system meets the desired functionality and performance requirements. Using different types and techniques of functional testing can help to identify potential issues and defects early in the development cycle, leading to cost savings and improved software quality.
Recommended Articles:
Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority