The internal structure of the program to be tested is not considered in functional testing. Functional testing also ensures the performance and efficiency in a given environment. Functional testing is bit differ from the system testing in a way that in system testing the program is tested against the data provided by the user or system requirements, while in functional testing the program is tested against the documented specifications and designed documents.
Functional testing normally consists of five major steps but can be altered according to the test documents prepared for a program. Following are the five steps:
1. Calculation and identification of the functions expected from the software to be tested.
2. On the basis of the functional specifications of the program, input data is created.
3. On the basis of the functional specifications the output is determined for the program.
4. Execution of the test cases.
5. The output data is compared with the expected output prepared according to the specifications.
The functional specification can be described as the intended behavior of a program that is different from the program itself. Functional specification is the most important source of information at the time of designing the test cases as it is independent of form of functional specifications i.e formal or informal. In other terms, Functional Testing can also be described as the set of activities for the derivation of test case specifications from the program specifications. Functional test case design tries to answer the question "which test cases should be used to check or exercise a particular program?" without considering its design and implementation structure of the program. Due to independence of the internal structure of code and only dependence of program specifications functional testing is also known as specification based or black-box testing. For any software development company offering software development services, this procedure is an integral part of the SDLC.
Functional testing is considered as the base line technique for the design of the test cases due to number of reasons. Functional test case design can start as part of the requirements specification process and goes on with each level of design and internal specification. It is the only test design technology that is applied so early and to such a large extent. Apart from this, functional testing is very effective in discovering some classes of faults that can't be identified in white box or glass box testing techniques. Functional testing can be easily applied to all kind of program behavior from an informal partial description to a formal specification and at any level of granularity, from unit testing to entire system testing. Functional testing is very cheap as compared to white box testing or structural testing, so it is preferred by outsourced software development companies.
Author Resource:
Author’s bio:
Christa Joe is the author of this article. She has been demonstrating her writing skills by writing the articles for mobile application development company like Q3 technologies since last two years. She is also used to write good articles for data warehousing management .
For more details, feel free to visit http://www.q3tech.com