Interface test automation tool
[SOLUTIONS] [DOWNLOAD] [ORDERING] [SUPPORT] [PRESS] [PARTNERS] [TESTIMONIALS] [ABOUT US]

GUI Testing -  Checking Application Functions

GUI Testing Handbook, check other parts:  GUI Testing Introduction | Testing GUI in Windows | GUI of Web Application | Automation of GUI Tests | GUI Test Automation Tips and Tricks

GUI (Graphical User Interface) is the front-end that serves as an interface for the end users when in any kind of information processing and data storage. GUI has virtually become the de facto standard for user interface in almost all of the modern technologies. It has become popular for several reasons:

  • Easy to understand visual interface
  • Flexibility to use in most application areas
  • Choice of mouse or keyboard for the ones who find difficulty in typing
  • Visibility of multiple windows for better handling of information
  • Control of screens according to users wish
  • Seamless integration between the packaged applications and customized applications resulting in cross exchange of information
RoutineBot is an interface testing software designed to help quality engineers with GUI testing and test automation.
Download 30-day trial, Test Samples, Script Samples, Supported Commands

In reality, the advent GUI has made the interface easy for users but conversely it had made life difficult for the programmers and the resources working in development and implementation of the software. In the case of a developed framework, even the programmers become oblivious to the difficulty interface designs posed. The responsibility of the effective implementation lies in the testing process where the hidden complexities rise to the fore. GUIs make testing systems more difficult for many reasons: the event-driven nature of GUIs, unsolicited events, many ways in/many ways out and the infinite input domain problems make it likely that the programmer has introduced errors because he could not test every path. Therefore Testing plays a significant role in implementing or executing software successfully.

Introduction to Testing

Testing process can be either manual or automated. Manual Testing involves testing an application without the help of any automated tool like load runner, winrunner, silk test QTP etc. It is time consuming. Human effort is required and sometimes manual testing is the recommended way of certain functionality. Manual Testing has its limitations as human thoroughness may not be sufficient to test the application. Automation Testing is testing an application by taking the help of some automation tool like loadrunner, winrunner, QTP etc. The advantage being the execution speed and the ease of repetition to bring about zero defect results.

Testing process has some challenges which are very unique in nature and some challenges that are more generic in nature. They can be categorized as Analytical challenges and professional challenges. Analytical Challenges are challenges that are not unique to Testing and most of the profession require some degree of analytical skills. Analytic can be defined as "Having the ability to analyze" or "Ability to divide into elements and principle". Given the nature of testing it is very important for testers to have good analytical skills. Like any other skill, analytical skill can also be improved by practice. Professional Challenges are those challenges seen in every professional area. The different challenges faced in this field and how one can overcome them depends on one’s individuality and problem solving capacity. These may be the interaction with the developer, attitude of Management towards testing, identification of tools, their usage and training, interaction with the customers, acceptability and entry-exit criteria for the tests and many more. While testing any Windows based application, the testing can be broadly categorized into following compartments. They are Standardization Testing, GUI Testing, Validation Testing, and Functionality Testing.

Standardization Testing

This emphasizes on the standardization part of the application. Standardization means that the application being developed should have a standard look and feel like any other window application.

General guidelines are as follows:

1. The application should have first "About Application" screen displayed.

2. Most of the screens/ dialog box (as on context) should have Minimize, Restore and Close clicks.

3. Proper icon should be attributed to the application.

4. All screens/ dialog box should have a proper caption as per the context used.

5. The application should be seen in the Windows Task Bar as well as status bar.
RoutineBot is an interface testing software designed to help quality engineers with GUI testing and test automation.
Download 30-day trial, Test Samples, Script Samples, Supported Commands

Validation Testing

This emphasizes on the Validation aspect of the Application. Validation testing mainly depends on the fields set in the dialog box and the functions it has to perform. But still there are certain common rules that can be applied.

General guidelines are as follows:

1. For text box fields where value entered has to be numeric check following:

-- It should accept numbers only.

2. For text box fields where value entered has to be alpha-numeric check following:

-- It should accept alphabets and numbers only.

3. If the field is a combo box then it has to be checked for following points:

-- Check the combo box has drop down values in it, it is not empty.

-- Drop down values should be alphabetically sorted. This might change as per requirement but as standard practices it should be alphabetically sorted.

-- Selection of any drop down value is displayed on closing and opening the same dialog box.

--Avoid displaying the first default value in the list.

4. If the field is a list box then it has to be checked for following points:

-- Check the list box has values in it, it is not empty.

-- List box values should be alphabetically sorted and displayed. This might change as per requirement but as standard practices it should be alphabetically sorted.

-- Selection of any list box value should put a check before the value and should display the correct value(s) selected on closing and opening of the same dialog box.

-- If the list box supports multiple selection then check whether multiple values can be selected.

5. If the field is a list of radio button then it has to be checked for following points:

-- Check whether as per requirements all the values are listed.

-- Same selected value should be displayed on closing and opening of the same dialog box.

6. Data Controls are to be tested as part of functionality testing.

Functionality Testing

This emphasizes on the Functionality aspect of the Application. The first step to test the Functionality aspect of the Application is to check whether all the requirements are covered in the software. The actual functionality testing totally varies from software to software. Still one can frame general guidelines.
RoutineBot is an interface testing software designed to help quality engineers with GUI testing and test automation.
Download 30-day trial, Test Samples, Script Samples, Supported Commands

General guidelines are as follows:

1. Check the functionality is covered as per Requirement specifications or Functional specifications developed for the software.

2. Within a dialog box identify the dependent fields. Depending on the dependency check the enabling and disabling of the fields.

3. This form will have the required fields and in addition to that will have Add, Delete and Update buttons. Unless there is a single valid record available it is not possible to update or delete.

4. Only on selecting a record from the list Delete and Update buttons are enabled and Add button is disabled. By default No records will be selected.

5. Delete and Update should always give confirmation message before actually performing the operation.

6. Delete operation should not show the deleted item in the list.

GUI Testing

Usability Testing is a mode of testing a particular product for its compatibility in terms of use. GUI testing is a commonly known form of Usability Testing of software or website. It is also known as User Interface Testing. GUI testing is a performance related assessment of a software or website in terms of ease of use, versatility, friendliness with focus on the target audience, visual impact and the approach and time taken to progress into the specific purpose.

The software or the website is released as a Beta version or as a pre release to a set of users to evaluate and assess the performance of the site or the software with focus on positive customer experience. Feedbacks from the users are taken as a survey based questionnaire or as a predefined test document of the functionality expected. The basic idea of going through this exercise is to allow for the opinions and the responses from the view of the cross section of the audience concerned. The test results are then evaluated and changes implemented in the respective software or website.

In the view of web applications, Usability testing is becoming popular as user centric design has become the focus of websites. This phenomenon has lead to a new genre of employable professionals called usability engineers whose responsibility includes positive focused friendly customer experiences. There are also many instances where sites like drugstore.com, altavista.com have been revamped as a result of evaluation and assessments of GUI Testing. GUI Testing can be classified into four stages – Low level, Application, Integration, Non-functional.

Table of stages and their associated test types

 
Low Level
  • Checklist testing
  • Navigation
Application
  • Equivalence Partitioning
  • Boundary Values
  • Decision Tables
  • State Transition Testing
Integration
  • Desktop Integration
  • C/S Communications
  • Synchronization
Non-Functional
  • Soak testing
  • Compatibility testing
  • Platform/environment

General guidelines for GUI Testing are as follows:

  • All the dialog boxes should have a consistent look through out the Application system. For e.g.- If the heading within a dialog box is blue then for each dialog box the heading should be of this color.
  • Every field on the screen should have an associated Label.
  • Every screen should have an equivalent OK and cancel button. The color combination used should be appealing.
  • Every field in the dialog box should have a Short Cut Key support. For e.g.- User Name
  • Tab order should be normally set horizontally for the fields. In some case as per the case the Tab Order can be set vertically.
  • Mandatory fields should have * (RED ASTERIK) marked to indicate that they are mandatory fields.
  • Default key <Enter> should be set as OK for the dialog box.
  • Default key <Esc> should be set as Cancel for the dialog box.

Ten Points to Remember in GUI Testing

  • Test User Friendly labels and Messages, related message content, understandability of the message
  • Test Ease of Navigation
  • Test Help Availability to the particular operation
  • Test use of colors, fonts, alignment, tab orders
  • Test End to End Navigation
  • Test Functionality of control objects like buttons, textbox, list box etc
  • Risk of Critical Defects detection possibility at later stages of Testing.
  • Strict Adherence to Time and Schedule
  • Risk of QA resources yet to familiarize on the new application
  • Risk of Low priority aspects of the application not being tested till at later stages

Glossary

  • Winrunner, Loadrunner. Testing tools used for automation of testing
  • GUI. Graphical User Interface.
  • Standardization. Standards adopted to maintain the look and feel of Windows
  • Validation. Confirmation of acceptable values, behavior of the object.
  • Functionality. Intended performance of the software in terms of purpose and Objective
Made in Devoler

Copyright © 2000-2012 AKS-Labs. All rights reserved.