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

GUI Testing Automation

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

Testing Automation is a process by which the repetitive testing practices are automated using Testing Software Tools like Winrunner, load runner, QTP etc., using input of test cases and predicted result outputs under controlled environment. Testing Automation is recommended in converting a regularized manual testing procedure with formal testing process to automated testing process. A common and recommended usage of automation is in Regression testing. Regression testing is a testing which is repetitive in nature. This testing exposes the bugs in the existing software which is triggered by changes made as a result of fixing the software bugs. Regressive testing is repeated until the test is successful. This process is prone to errors during manual testing due to its repetitive nature as the testing demands checking of the entire functionality repeatedly to avoid any errors in the process of bug fix.  

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

Is Testing Automation an alternate to Manual Testing?

Manual testing is a process where a functionality of an application is tested under different environments and conditions for its intended functionality, interface, usability, performance, security etc by human testers with required inputs from the application development team and the application documents of various natures. Manual Testing has its advantages and disadvantages. Ad hoc testing is possible in manual testing and it is needed most of the time as the functionality of the application is better understood by a human tester. Practical experience proves that Ad hoc testing exposes more bugs than in an automated testing. The disadvantage in manual testing is the rerun of the tests repeatedly in a build fix which is cumbersome and tiring for any human effort which raises the likelihood of errors slipping unnoticed.

When compared to Manual Testing, Testing automation provides reliability in testing as software tools are not susceptible to tiredness in retests. Testing Automation is a costly process when compared to manual process. Testing Automation requires the working knowledge on the testing tools. Building test cases and building the testing framework take more time than a manual process. Tests like visual reference tests which cannot be identified by code are best tested manually. Testing Automation is a winning recommendation if the application is a large application to manage the costing of testing automation and needs repetitive tests and uses multi languages on multi OS platforms.

GUI Testing Automation

GUI Testing Automation involves the testing of usability aspect of the application. The testing automation should cover all GUI components present in the application. This involves automating a set of actions triggered through mouse or keyboard on the GUI modules of the application and capturing the results to evaluate for its results. Commercially, none of the GUI Testing tools have been accurate in their testing and there are many instances of application usability bugs surfacing on release of the application.

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

Capture and Playback Method

The most popular GUI Automated Testing tool follows the Capture and playback method. An automated test script is developed and executed to capture and playback low level mouse movements. Very few tools recognize the GUI components as objects while some tools recognize components with mouse coordinates.   More often than not, the insufficiency in the tool generating efficient test script surfaces and the tester inadvertently ends up manipulating the tool, making changes in the recorded script generated and debugging the test scripts in case of failures. This leaves less time for the tester to concentrate on test cases and execution effectively.

Though the word automated is used in the GUI Testing tool, the tool can be best defined as interactive tools. Automation is a term used for non-interruptive processing from end to end. GUI Automated tools fail in this definition as the tools demand frequent interaction as verification points which involve manual entry of data and check points. Once the test script is captured it can rerun many times which is helpful in regression testing. 

Test Monkeys

Test monkeys are automated testing tools used for destructive testing. These tools are called scholastic tools similar to black box testing with no understanding of the application or input of test cases. These tools use random clicks on the GUI using the mouse or the keyboard until the application crashes. These tests simulate the real user and have known to be successful in identifying serious bugs in the application tested.

Test monkeys can be classified into two categories – dumb test monkeys and smart test monkeys.  Dumb test monkeys do not have any input on the nature of the application. They check the GUI by subjecting the User Interface to random activity without any attention to the components or functionality present in the application.  Dumb Test monkey cannot recognize a bug but the applications subjected to testing by these respond to the inputs. This testing has made valuable bug corrections possible. Smart test monkeys are not random testers. They have knowledge on the application and the ability to reflect on the recognition by the application. Smart test monkeys get their knowledge by absorbing the model of the application or by storage and retrieval of state information. They use this knowledge to test the application of the valid values or expected behavior. Smart Test monkeys can also be used to include the functionality of dumb test monkeys for thorough application testing.

Intelligent Automation

Intelligent GUI automation testing tools should have the knowledge employed in different testing methodologies and theories, effective management of software resources, in depth technical intelligence.  These tools should use state table and have the ability to recognize GUI objects and their functionality. The real test of testing does not lie in simple testing but set of complicated sequences and the behavior of the application in that context. This is still the forte of an Expert tester as Automation tools have failed to test sequences of complicated testing tasks effectively.

GUI Test Plan Scripting for GUI Automation testing tool

The systems user interface is analyzed to list out the operations that can be performed on the interface. The operations that can be performed become the backbone for the testing and are called operators of the test plan. The initial state of the GUI components is determined. The target state of the components extending the possible states of the component is listed. The test plan is written taking into consideration the initial states and the target states.

Uses of GUI Automated testing tool

GUI Automated testing is recommended for the following  

  • areas of adherence to compliance
  • to confirm non presence of broken links
  • to ascertain identical user interface across different browsers and multi platforms
  • to confirm  User Interface Testing standards compliance
  • to identify and address cascading effects of changes in application.
  • to confirm functionality
  • to ascertain if a build is fit for entering the test phase.
  • to track defects and errors repetitively to highlight issues.
  • to ensure that each release follows  same functionality in the same way
  • to concentrate on areas of test support activities like function specific test data entry
  • To identify and detect changes in the user interface when the focus is on aspects of  testing
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

Application areas of GUI Automated Testing

  • In check list testing, in the areas of  checking states of  object, menus and standard window look and feel features.
  • Complete automation of Navigation testing
  • Large numbers of simple condition based testing with same logical functionality i.e. Decision table based Testing
  • Repetitive tests of simple functional transactions
  • Testing for multi platform, different operating system and compatibility

Advantages and Disadvantages of Testing Automation Tools 

Advantages

Disadvantages

Scripting is simple and can be reusable except in case of  few complex applications

Skilled Technically adept Testers Required for creating scripts

Error handling is efficient and in-built with no intervention required

Initial work of building frameworks and creating libraries can be time consuming

Turn around times have found to be extremely fast

Building functional logic in the scripts for

Complex applications can be tedious

Its mostly an one time effort

Dependency on manual input though scripts are reusable

10 things to remember in GUI Automation Testing

  • Automation Tool must be easy to use
  • Automation Tool used must support reusability
  • Reusable scripts should be capable of being converted to automated test cases
  • Automated Testing should start early in the cycle of Application development
  • Begin with test scripts creation for simple functionality
  • Maintain documentation of reusable scripts and their functionality
  • Automation Tool must support storage and retrieval of run time data
  • Use Naming standards for scripts, verification points, data storage to ensure uniformity and easy retrieval in the Automated Tool
  • Bugs and errors must be properly communicated and closed to avoid redundancy in follow up
  • Remember that success in testing using Automated Testing Tool is in identifying the requirements and developing the identified requirements with reasonable goals on testing

Glossary

  • Winrunner. A GUI automated testing tool utilizing the record and playback functionality to create test scripts

  • QTP. Acronym for Quick Test Professional.  Though a GUI automated Testing tool, it is used primarily for functional regression testing.

Made in Devoler

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