Jump to content

Standards for ui testing projects

Recommended Posts

Any standards or guidelines you can suggest for ui testing of a product.

I have wrote some code with autoit for basic testing.But I want to make it streamlined and more modularized so that we can add more test cases in future and needed we can change it in a simple manner.

Any suggestions..

Link to post
Share on other sites

see frequently asked question 31 and 40 https://www.autoitscript.com/wiki/FAQ as a start

The standards used frequently in Functional (black box) testing are

  • keyworddriven
  • datadriven
  • Gherkin (as used in CUCUMBER/SpecFlow) a variation on keyword and datadriven implementation

I did implement in UIAAutomation wrappers a partial framework where I put

  • object identification strings outside your coding by using a cfg file (other tools call this a repository)

Many people follow Selenium and WebDriver solutions and there are some implementation frameworks aroudn.

Complexity of your framework and modularization will mainly depend on

  • number of GUI screens to automate
  • number of expected testcases
  • number of testenvironments and if testdata is same in all environment or differs
  • technical knowledge or your team. The less programming knowledge the more you want to provide your team with excelsheets where they can put their testdata
  • GUI types of application you have to control. It gets more complex if you deal with HTML, Windows and Java (and worse good old mainframe green screens) to do it all in 1 tool/language
  • ....


I have seen many team started with automation and when they succeed they do more or less this

  1.  First generation framework: Just (hard) coding a script
  2. 2nd generation framework: more modularized, 1 module per screen to deal with, some config files
  3. 3th generation framework more keyword driven. Tester wrties script in excel. Develop builds tool to process the xls to direct the application GUI
  4. 4th generation framework combinations of keyword/datadriven and more flexibility in maintenance
  5. .. teams reaching this have similarities with 4th but then you see it really tailored to the skills of the teammembers (including junior people can do it easily)

At each level I have teams seen stopping automation as they only focused on the tools and automation instead of the full process reaching quality software.




Edited by junkew
Link to post
Share on other sites
  • 1 year later...

Hi @junkew

We need to automate a single GUI application, mostly few functionalities.

So, I just followed the first approach "keyword driven" and completed the automation.

Later, there are many issued and keep on adding the if else blocks.

Now, the UI is also changed and new elements added too with new features for the application and need to change all of them.

Based on increase in complexity, I guess now I need to change the code to more flexible one like "data driven/Gherkin".

Kindly suggest with the relevant resources for it.


Link to post
Share on other sites

Some tips

Align with the developers of the gui on having objects easy recognizable

There are not so many public frameworks around. Selenium groups tell some nice tips but also not a complete framework.

How many flows you want to automate and calculate your return on investment.

Share your coding in the forum you will most likely get feedback from others.

The more advanced frameworks are probably only worth the effort and time for enterprises reusing it for multiple projects.

What you shortly described looks a script driven framework and it seems you are going to 2nd approach more modular script.


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By JibsMan
      I need to determine a way to get a Test Engineer or QA Tech's attention. Audio may not work as the tester may not have headphones or speakers plugged in. What I was thinking of doing was creating and playing a video that shifts from black to white and back until the tester hits a key, but that may interfere with what we are testing, or if there was a way to do something like this using AutoIt. That is, using AutoIt to Flash the screen, not play the video.
      Searching the inet for "Flash Video AutoIt" or other combinations brings up lots of answers to Video Flashing problems with monitors, but nothing to help me with this.
      I am writing tests for a video utility and there are some areas of the test that require the tester to LOOK at the monitor to verify video quality or other things that can only be validated by looking at the screen. Other tests are validated internally and automatically post "Pass" or "Fail" messages to the log file.
      Yeah I know they are supposed to be watching but they test multiple systems at once and can't watch everything.
      Are there features of AutoIt that could help me?
    • By cyanidemonkey
      I am looking at using autoit to automate testing of a website at work with IE.au3 because even though it has been a long time since I have used autoit, I have written a few applications with it and I am not impressed with cucumber as a method of automated testing.
      Unfortunately the developer of the website lacked experience and the code is not very 'test' friendly, a lot of page elements do not have ID or Names defined and the employers do not want to put the time/cost into dealing with the technical debt.
      My question is, will autoit with IE.au3 be able to find elements by drilling down the HTML DOM tree (if this is the correct term) of a web page?
      Any advice would be appreciated.
    • By ozmike
      These example apps can be used to lock the keyboard and mouse (useful for test automation). 
      I've also included a Toddler/Child  Lock app which lets them press some keys A-Z and 0-9 and move the mouse
      and plays a sound.
      Its uses BlockInputEx UDF
      Most example ALT+ESC to end
    • By Colyn1337
      I wanted to see who else is using OATS 12?
  • Create New...