We are testing a GUI bank teller front end (SellStation from EDS) using QARun 4.8.0. Any suggestions on the best way to get started would be greatly appreciated. We have experimented with recording user keystrokes, then modifying scripts to handle external data.
You're on the right lines but need a few more steps in your process to get something that is maintenable
Record and playback will give u an initial VERY rough template to use for ur tests... you'll find though that it tries to do lots of mouseclicks rather than selecting controls (particularly if they are non-standard, eg: some Delphi stuff).
Thus before doing the record and playback record aliases for a sample of each of the controls (edit box, combo, pink fluffy dice swirly thing... etc) in QARun and then when u do the record and playback it'll find many more controls and do less mouseclicks on x,y positions (mouseclicks are a pain to maintain at a later date).
Then do as u are doing - go back into the QARun scripts and rather than have things like:
replace with code to retrieve values from a CSV data file using the testdatatransform features.
Then u end up with something like:
lstrTextToEnter = ; put the data retrieval bit here
; attach to window
; attach to control
Type( lstrTextToEnter )
You could go one step further and replace selecting the controls with a generic function call that selects whichever control is required by the data file.
Thus instead of having a data file with
and then when you load that into QARun it goes "ahah! off to see the wizard.." um I mean "ahah! off to Edit1 to enter Hello World".
The latter approach is favoured by John Kent, Managing Director of CISS Ltd - http://www.cisstest.com and they have tools / consultancy that can help with ATAA - Advanced Test Automation Architecture as they call it.
Very friendly chap, definitely worth getting in contact with if it all ends up being rather complex.
Sorry that's all a bit vague I'm in a bit of a hurry at the mo.
Create object map for everything!
Very important that you define all controls and assign them a meaningful name. Cause if somthing changes with the control, you can just change the object map and all you code won't break.
I've found it best to create a smoke test for your app. This creates a kind of skeleton. Then go back and and put the meat on your bones by adding more indepth checks and validation.
Record and play back is nice to help you learn QARun. But after a while you find yourself just writting code and hardly ever touch the recorder.
Oh... ctrl+w is your best friend.
"If your not part of the solution, there's good money to be made in prolonging the problem."