Active TopicsActive Topics  Display List of Forum MembersMemberlist  CalendarCalendar  Search The ForumSearch  HelpHelp
  RegisterRegister  LoginLogin


 One Stop Testing ForumTypes Of Software Testing @ OneStopTestingIntegration Testing @ OneStopTesting

Message Icon Topic: Functional Testing The only Answer to Quality

Post Reply Post New Topic
Author Message
yogindernath
Groupie
Groupie


Joined: 27Oct2008
Location: India
Online Status: Offline
Posts: 52
Quote yogindernath Replybullet Topic: Functional Testing The only Answer to Quality
    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
A Storehouse of Complete Knowledge on Software Testing & QA under one Roof



Post Resume: Click here to Upload your Resume & Apply for Jobs

IP IP Logged
Post Reply Post New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum



This page was generated in 7.969 seconds.
Vyom is an ISO 9001:2000 Certified Organization

© Vyom Technosoft Pvt. Ltd. All Rights Reserved.

Privacy Policy | Terms and Conditions
Job Interview Questions | Placement Papers | Free SMS | Freshers Jobs | MBA Forum | Learn SAP | Web Hosting