Asset Management Software Header Gif

 Software Testing Basics

 

Software Functional Testing: Ensuring the Software Runs Smoothly

The software development life cycle consists of Planning, Requirement analysis, Design Development, Implementation, Testing Integration, Evaluation, Release and support. The testing of software is one of the major steps in the development cycle. The testing is carried out from start of development to marketing of the software product.

Different types of testing are done throughout the software life cycle. One type of testing is functional testing. In this type of testing, an application or Web site is validated for conformation to its specifications and correctly performs all its required functions. This involves conducting a series of tests which perform a feature by feature validation of behavior, using a wide range of normal and erroneous input data.

In functional testing, the focus of testing activities is on functional aspects of the system. In this, test cases are written to check the expected output. It decides whether the system operates well with the software and also checks its execution of functions and commands as envisaged originally.

The functional testing covers installation tests, Regression testing, upgrade and backward compatibility testing, accessibility testing, internationalization and local testing, API testing and testing of user interface, database management, security and networking. In addition, the software is tested for functions such as user commands, searches, user screens, integrations, data manipulation and security.

The effect of upgrades, uploading and downloading on the performance is also checked during functional testing. The system in some cases malfunctions after installation of upgrades. The functional testing should be efficient and cause least downtime.

One of the examples for functional testing is transfer of data from an older system to a newer system. In such a case there is necessity to make sure that the transfer has been carried out without any problem. To ensure that all data has been transferred properly many functional tests need to be done. These tests, if done correctly, will identify the areas of problems and the remedial measures to be taken.

Normally, Functional testing is carried out only when the application is nearing completion. However, there has been difference of opinion about the timing of these tests in the software testing circles. Many software-testing engineers are of the opinion that it is better to start the functional testing as early as possible by testing the individual parts of the system.

Since the problems would have been ironed out during the testing of various modules there will be fewer problems while testing the integrated software during functional testing. Testing of the entire system can only be done only in the later stages. Another argument being put forth by the engineers for early starting of functional testing is that because of constant upgrades it is advisable to do the functional testing during entire life cycle of the application development.

Many people consider performance testing is the same as functional testing. Although they appear similar they are distinctly different. The performance testing is carried out to check whether the system meets performance requirements. Performance testing is conducted after the completion of functional testing.

The objective of performance testing is not to find functional defect in the system and it is assumed that functional defects have been identified and removed from the system. On the other hand, functional testing is testing that makes sure that every individual function works, as envisaged. All the functions together are what make the system perform correctly. Performance testing is normally conducted during the System Testing phase.

The difference between performance testing and functional testing can be explained by taking an example of a television set. Switching on of the power when you press the power push button or changing of channels using the remote control is like checking the performance of television. On the other hand checking the functions such as volume, color, contrast etc is similar to functional testing.