Functional testing is validating an application or web site, conforms to its specifications and correctly performs all its required functions.
This entails a series of tests which perform a feature by feature validation of behavior, using a wide range of normal and erroneous input data. This can involve testing of the product's user interface, database management, security, installation, networking, etc.
The purpose of functionality testing is to reveal issues concerning the product's functionality and conformance to user requirement.
The first step in functionality testing is to become familiar with the program itself, and with the program's desired behavior. For this the tester should have clear idea about the documentation such as the program's functional specification or user manual. Once a program's expected functionality has been defined, test cases or test procedures can be created that exercise the program in order to test actual behavior against expected behavior. Testing the program's functionality then involves the execution of any test cases that have been created. Certain portions of a functionality testing effort can also be automated, depends on several factors, and should be discussed with a qualified engineer.
- Range checking- minimum and maximum values should not be exceeded (invalid values should not be accepted)
- Check whether numeric fields accept only numeric values
- Check 'online Help' feature (including buttons to open Help feature)
- Check 'Print' feature
- Check 'Open file' feature (must open correct file extensions and incorrect file type should give error messages)
- Check 'Graph' features
- If there are logins, enter invalid login information for each field
- Check for error messages for clarity and whether they come up when they are supposed to.
- In the presence of a database, check all connections through application are valid when accessing data (error messages like "could not connect to database" should not appear.
- Modify data files (like add extra special characters) to make sure the application gives correct error messages
- For administrative features make sure only administrators of application may access the features
- Check by adding duplicate records
- Delete all records to check whether such an action does not crash the application
- Check for compatibility using MS Office application (like copy and paste)
- Click all buttons to make sure all of them are functioning appropriately
- Click 'save' feature (should not be able to overwrite existing file without permission), should save to correct directory, must create correct extension)
- Check options/settings
- Check international units are converted correctly
- Make sure no spellings are incorrect
- Check for valid date formats
- Make sure windows are properly minimized, maximized and resized
- Check whether keyboard shortcuts are working properly
- Check that right mouse clicks show correct pop up menus
If hardware/software keys are present check if the application works as intended with and without execution of keys