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

Secrets of Successful 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 of doing the testing of the application using appropriate tools and following various testing methodology. Different tools are available from various vendors with concentration on different type of testing. But the fact also remains that the blending of manual and automated testing methods is the best way to test any application.

Testing Automation should concentrate on the following factors – Test process improvements, requirement definition, feasibility, interface testability, maintenance, Reusability.

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

Test Process Improvements

Test process improvement deals with listing of the test process requirements. The test process requirement definition is followed by designing the test process. This improvement is a logical process analyzing the need to automate, areas to automate, spelling the standards of automation, documenting the risks and assumptions. This is a repetitive process as the application develops and the testing process also improves concurrently.

Requirement Definition

Requirement definition is two folds – automation requirements and testing requirements. These are documented as test designs and goals of automation. There are four different set of understanding of testing at this stage. The development team idea of testing, the testing management goal of testing, the testing parameters of the testers concerned, and the testing automation team view of testing. The success of this step is in merging these views and requirements into one test design to achieve successful testing automation.

Feasibility

Feasibility is selecting the right tool and the right approach for testing automation. The tool selected and the approach selected must relate to the product and the team involved in testing. It would be a wiser idea to use a proof test by sampling the test automation viability by using a test case appropriate to the application and getting it executed through the test team. This provides a realistic estimate of the feasibility of the tool and the approach adopted. GUI Automation testing tool is the most difficult to select as there are lot of methods and successful tests are still elusive. Sample testing when selecting the right tool must involve the tests of regression, configuration, reusability and Non-GUI testing.

Interface Testability

Applications have interfaces that need rigorous testing. They are categorized as Command level testing, application level testing and GUI level testing. An application might have all the three interfaces or two or one of these interfaces. In several of the applications, the interfaces may be hidden and executed internally with GUI interface explicitly seen. The success in Interface testability lies in understanding that ability to test an application is an application requirement. An early start to testing goes a long way in ensuring successful test automation.

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

Maintenance

Maintenance is termed as sustenance in testing. The automation parameters must be improvised, expanded, enhanced as newer versions, releases of the application comes to implementation. As in the case of backward compatibility, forward compatibility of the testing automation becomes mandatory. The test design and test cases remain in the maintenance after the implementation of the application. As newer releases are planned, the available test designs and test cases execute without any bugs. This does not prove that the release is error and bug free, fit to be released. Releases which have gone through this approach have been miserable failures on implementation. This stresses the importance of maintenance of automation of the testing tool and the vulnerability of the application in testing where the testing parameters are not updated to the latest enhancement or bug fix of the application.

Reusability

Reusability emphasizes on the packaging the test conditions for future use. The knowledge of the existence of reusable components goes a long way in saving time, rework of the components. This stresses on ‘building on the work of others’ concept. Reusable components can be used when testing new versions of the product. If the application is introduced on new platforms, reusable components avoid redundancy of work. Standardized reusable components for the common standard tests applicable to every application can support a build process with less effort and lesser time consumption.

Common problems identified with GUI test automation

The identification of the most common problems associated with test automation leads to better testing performance using automated products. The application should focus on the test automation from the start of the development process. The testing process is put on the back burner till the development is completed. This leads to lack of time to develop the test automation process. Capturing information along with the development helps in knowledge transfer to the testing department and also in the tracking of progress. Testing automation is introduced in the place of manual testing to ease testing, to improve test conditions to test the various functionality of the system, and to save time. But all these advantages do not occur at the same time.

Some applications automation of testing might provide ease of testing and improved test conditions or one or more of the objectives of test automation. Clarity in the objectives of testing automation is required to plan the automated testing process with success. Testing automation requires highly skilled technical resources to concentrate on testing the functionality of the application with least time dedicated to mastering the tool. Lot of testing automation tools is available in the market having their own method of usage and technical expertise built in them. To identify the right resource for the tool becomes important in this context. Lack of technical expertise can be stated as one of the main problem associated with testing automation.

Today testing automation is seen in large projects on account of costing factors and demanding time schedules. The focus is tuned to the volume and deadline of the testing automation to the functionality testing of the application.  Repetitive testing forms the core of test automation and the automated testing tool is suited best for reruns. The resource involved in this repetitive testing loses concentration on the targeted results as the deadline of the testing automation process nears its term. This highlights the importance of deliverable time lines when automating a testing process accepting the fact that automation is not an end to end automated process. These factors can be best summarized as

  • Lack of time to develop the test automation process
  • Lack of Clarity in the objectives of testing automation.
  • Lack of technical expertise leads to Concentration on the specifics of automation factor of the application testing rather than the actual testing
  • Test automation is concentrated more on large projects.
  • Underestimating the time for Repetitive testing deteriorates the performance of testers

Sample of a GUI Test Specification Template

  1. References
    1. Reference objects
    2. Reference configuration
    3. Reference Data objects
  2. Functional Testing
    1. Functional Test Object 1
    2. Functional Test Object  2
  3. Style Testing
    1. Application Rule Test
    2. Windows Rule Test
    3. System Rule Test
  4. Other Test Issues
    1. Volume Test
    2. Security Test
    3. Concurrency Test
    4. Performance Test
    5. Installation / Un installation Test
    6. System administration

Sample of a GUI Test Case Template

  1. Test configuration
    1. GUI object to be tested
    2. Hardware required
  2. Test Assertion
    1. Features to be tested
  3. Test Precondition
    1. Pre state of the GUI Object
  4. Test Sequence
    1. Method of testing the GUI  object
  5. Test Verification
    1. Checkpoint
    2. Method of asserting the success/failure of the test
  6. Test Post condition
    1. Post state of the GUI Object

10 Points to remember for a successful GUI Automation Testing

  • GUI test automation requires some manual script writing which may include editing the test script
  • Expertise is required in GUI Automation tools to work with the latest User interface technologies
  • Design changes to the GUI are dynamic and happen throughout the development process
  • Product Functionality Testing should not depend on GUI testing automation as GUI redesigning is dynamic in nature through the development process
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
  • GUI Test Automation tool must be manually changed to accommodate modified, deleted or redesigned GUI objects on testing for new release of the application
  • GUI Test Automation depends on identification of the IP (Interaction Points)
  • GUI Test Automation should have both functionality test and style guide tests
  • GUI Test Automation without formalizing of the style guide fails in implementation
  • GUI Test Automation does not test the storage of data. Storage of data has a GUI testing parameter on Overwriting which has to be tested by checking the data manually.
  • When testing functionality of the GUI objects, the following must be thoroughly tested

Elements

States

Buttons

Enabled / Disabled according to function

OK, Cancel Buttons

Location – bottom / right

Data fields

Change to gray color when read only

Proper Alignment

Tool bars / Menu

Change according to the entry screen

Tab Order

Should be in sequence. Grouped fields must have access through tab

Texts

Readable with standard font and colors

Help

Context sensitive

On line help

Glossary

  • Application Rule Test. Style set local to the application maintained in uniformity
  • Windows Rule Test. Style set to maintain the look and feel of Windows
  • System Rule Test. Style set to maintain the system related messages like alerts
Made in Devoler

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