Functional Testing: A quick look at what it entails

New to software testing or just need a refresher on what Functional Testing entails? Here is a quick article that gives insight on the topic.

Below are the various types of functional tests you can perform:

  1. Object Properties Coverage

Objects examples are Buttons, Drop-downs,Textbox, Radio Buttons, Links

Properties describe how objects behave in response to user activities.Example: Enable,Disable, Focus etc.

As a Test Engineer you need to validate the properties of various objects at runtime.

Test Examples:

Login Screen. The Login button is activated only after the username and password have been input by the user.

In the case of Country and Province/States drop-down, selecting a particular country in the Country drop-down should activate only the Provinces/States present in that country and those should be presented in the Province/State drop-down

2. Database Testing/Back-end coverage

Okay, this is huge but simply one can perform transactions from the front-end/UI and verify how this affects the database. The Data Manipulation Language (DML) operations; insert,update,delete,select can be used to verify the database behavior.

As a Test Engineer you need to validate that changes to the database are duly affected with each use action.

3. Error Handling coverage

Here you validate the error messages the application throws in the event where invalid data is provided.

These error messages should:

  • Be present for every instance where an error is thrown.
  • Be clear, specific and easy for the user to understand.

Example: In the event of a wrong password the error message should read something like “Invalid Password” while if the user tries to log in without providing a password it should read something like “Please input your password.

4. Calculations/Manipulations coverage

Here you validate the mathematical calculations present. Use both positive and negative allowed values and validate if the results gotten are correct. This is especially used in a banking/ financial system.

5. Links Existence and Link Executions

Link Existence is verified by checking if links are placed in the appropriate location or not. On the other hand, Link Execution verifies if the existing links navigate to the appropriate target page or section of a page or not.

Types of links:-

  • Internal Links: These are links from one page to another of the same website/ applications.
  • External Links: These are links that connect your pages/website to other websites/applications.
  • Broken Links: These are links that do not work. They should contain messages that explain why the webpage is not available.

6. Cookies

Cookies are temporary internet files created at the client side when a website/application is opened. They contain user data. Verification of these entails checking if the cookies are created or not, if they are delete-able, what kind of information they contain

Remember all functional tests are guided by user requirements. This therefore means that their applications will differ and are to be customized on a case-by-case basis.

Software Tester.