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 few functional testing techniques that are commonly used:
Following are the steps that should be covered as a part of functional testing:
Enlisted below are few bug statuses along with their descriptions:
Data-driven testing is the methodology where a series of test script containing test cases are executed repeatedly using data sources like Excel spreadsheet, XML file, CSV file, SQL database for input values and the actual output is compared to the expected one in the verification process.
For Example: Test studio is used for data-driven testing.
Some advantages of data-driven testing are:
Automation testing is a testing methodology where automation tool is used to execute the test cases suite in order to increase test coverage as well speed to test execution. Automation testing does not require any human intervention as it executes pre-scripted tests and is capable of reporting and comparing outcomes with previous test runs.
Repeatability, ease of use, accuracy, and greater consistency are some of the advantages of Automation testing.
Some automation testing tools are listed below:
Stress Testing is a form of performance testing where the application is bound to go through exertion or stress i.e. execution of application above the threshold of the break to determine the point where the application crashes. This condition usually arises when there are too many users and too much of data.
Stress testing also verifies the application recovery when the work load is reduced.
Load Testing is a form of performance testing where the application is executed above various load levels to monitor peak performance of the server, response time, server throughput, etc. Through load testing process stability, performance and integrity of the application are determined under concurrent system load.
Volume testing is a form of performance testing which determines the performance levels of the server throughput and response time when concurrent users, as well as large data load from the database, are put onto the system/application under tests.
Exploratory testing means testing or exploring the application without following any schedules or procedures. While performing exploratory testing, testers do not follow any pattern and use their out of box thinking and diverse ideas to see how the application performs.
Following this process covers even the smallest part of the application and helps in finding more issues/bugs than in the normal test case testing process.
Exploratory testing is usually performed in cases when:
Listed below are the possible scenarios that can be performed to fully test the login feature of any application:
Accessibility testing is a form of usability testing what testing is performed to ensure that the application can be easily handled by people with disabilities like hearing, colour blindness, low visibility etc. In today’s scenario, the web has acquired the major place in our life in the form of e-commerce sites, e-learning, e-payments, etc.
Thus in order to grow better in life, everyone should be able to be a part of technology especially people with some disabilities.
Enlisted below are few types of software which helps and assist people with disabilities to use technology:
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.
Equivalence partitioning also known as equivalence class partitioning is a form of black box testing where input data is being divided into data classes. This process is done in order to reduce the number of test cases, but still covering the maximum requirement.
Equivalence partitioning technique is applied where input data values can be divided into ranges. The range of the input values is defined in such a way that only one condition from each range partition is to be tested assuming that all the other conditions of the same partition will behave the same for the software.
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.
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 maximum 12 characters then 8-12 is considered as the valid range 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.
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.
Sanity testing is performed after receiving the build to check the new functionality/defects to be fixed. In this form of testing the goal is to check the functionality roughly as expected and determine whether the bug is fixed and also the effect of the fixed bug on the application under test.
There is no point in accepting the build by the tester and wasting time if Sanity testing fails.
Requirement Traceability matrix (RTM) is a tool to keep a track of requirement coverage over the process of testing.
In RTM, all requirements are categorized as their development in course of sprint and their respective ids (new feature implementation/ enhancement/ previous issues, etc) are maintained for keeping a track that everything mentioned in the requirement document has been implemented before the release of the product.
RTM is created as soon as the requirement document is received and is maintained till the release of the product.
By Risk-based testing of a project, it is not just to deliver a project risk-free but the main aim of risk-based testing is to achieve the project outcome by carrying out best practices of risk management.
The major factors to be considered in Risk-based testing are as follows:
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.
UAT is also known as End-user testing.
Functional Testing Related Tutorials
|Testing Tools Tutorial||QTP Tutorial|
|DB2 Using SQL Tutorial||Software testing Tutorial|
Functional Testing Related Interview Questions
|Testing Tools Interview Questions||QTP Interview Questions|
|DB2 Using SQL Interview Questions||Manual Testing Interview Questions|
|UI Developer Interview Questions||Automation Testing Interview Questions|
|Software testing Interview Questions||Test Cases Interview Questions|
|Test Estimation Interview Questions||Test Manager Interview Questions|
|Test Director Interview Questions||Squish Gui Testing Interview Questions|
|Test Complete Interview Questions||Test Automation Framework Interview Questions|
Software Qualityassurance An Overview
Software Testing Process
Software Testing Tools An Overview
Source Code Testing Utilities In Unix/linux Environment
All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.