Print Page | Close Window

Functional Testing The only Answer to Quality

Printed From: One Stop Testing
Category: Types Of Software Testing @ OneStopTesting
Forum Name: Integration Testing @ OneStopTesting
Forum Discription: Discuss All that is need to be known about Integration Software Testing and its Tools.
URL: http://forum.onestoptesting.com/forum_posts.asp?TID=6269
Printed Date: 17Nov2024 at 7:35pm


Topic: Functional Testing The only Answer to Quality
Posted By: yogindernath
Subject: Functional Testing The only Answer to Quality
Date Posted: 18Dec2008 at 4:24am

Functional Testing refers to the type of testing which ensures that all functional requirements are met without any consideration to the final program structure. Functional Testing confirms that the application under development is capable to deliver as per user requirements. Functional Testing emulates the actions performed by the user and ensures that all execution paths are operating perfectly as desired in addition we are able to get the desired for the inputs supplied to the system.

Following Six types of functional testing can be deployed to ensure the good quality of the final product.


1) Perform Unit Testing & ensure proper execution of each & every line of the code:

The software developers tend to design the code in isolation. When there is absence of pair programming, full code reviews & highly experienced developers, there is bound to be the possibility of inclusion of defects in the new code. Such defects if not detected during early stages of SDLC are quite difficult as well as expensive to detect later on as the project moves.

Hence a strong unit testing process is the backbone of the testing process, upon which the entire reliability of the product depends. Unit testing refers to the process of testing each & every unit of the code going down to the single component level. The developer during the development of the component does the unit testing. It is the responsibility of the developer to ensure that each & every part of the code is logically correct. Unit tests usually provide following type of coverage:

Function coverage: Ensures that every function or method is getting executed by at least one test case.

Statement coverage: Ensures that every line of the code gets covered by a minimum of one test case.

Path coverage: Ensures that every possible path through code gets covered by a minimum of one test case. There can be more number of test cases if need be.

Unit testing helps the developers to regularly ensure that every unit of code performs as expected. Unit tests are modified on continuous basis as the evolution process of the software continues. This helps in maintaining an updated documentation as well.


2) Perform Functional Testing & ensure expected results from every function:

As a part of the testing strategy all expected outcomes must be confirmed by functional testing.
All the function points of various lines of code must yield expected outcome which must be in line with the functional specification described in the specification document.

Functional testing takes care of all concerns revolving around the proper implementation of functional requirements. Commonly known as black box testing, it requires no prior knowledge of the basic code.

Functional test cases are created from requirement use cases wherein every scenario becomes a functional test. As the individual software components get implemented, after successful unit testing the corresponding functional tests are employed on them.

For some software projects, it is not feasible to test every functional aspect. Instead of that appropriate functional testing goals are defined. Critical and commonly used functions are prioritized according to the limitations of resources & time.

3) Perform System Testing & ensure delivery of desired result from all the functions combined together:

Various functions combine to form systems responsible for the delivery of the ultimate results, as described in BRD (Business Requirements Document). Aim of the entire testing is to comply with the requirements described in BRD.

System testing performs functional tests end-to-end, which cover all software units. The primary goal of such activity is to ensure that all the components are clubbed together to deliver the expected business results. While defining system-testing goals for the project, special focus is made on all scenarios requiring integration of the critical units.

While system testing suitable decision is made as to whether to test all subsystems first or whether to test all items of a single subsystem before combining with another subsystem.

Generally abrupt moves to combine various components together are avoided. After testing every component independently they are integrated increment by increment.

4) Perform Regression Testing & ensure that the changes have not produced any adverse affect on any other portion of the system:

Every new change in an existing system has a high probability of adversely affecting other functions in it. After making the changes, defects are likely to get introduced even after testing & deployment. Compliance with business objectives always remains the primary goal of testing.

Regression testing ensures that the modifications made to the code have not inadvertently introduced the bugs into the system or changed its existing functionality. Primary goals of regression testing are to demonstrate that the existing functionality does not get altered & the system behaves as desired.

It is difficult to make a judgement on the extent of adequacy of regression testing. In fact it is not preferable to test the whole system again & again, however critical functions are tested irrespective of the place where changes had been done in the system. Regression testing is very important & must be repeated frequently to ensure that the baseline quality of the software is always maintained.

Continue Reading at ...........
http://www.softwaretestinggenius.com/hotarticles.php?mode=details&qry=80 - http://www.softwaretestinggenius.com/hotarticles.php?mode=details&qry=80


-------------
http://www.softwaretestinggenius.com - http://www.softwaretestinggenius.com
A Storehouse of Complete Knowledge on Software Testing & QA under one Roof



Print Page | Close Window