Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

I have found this question here on SQA. However I'd like to make my question more specific with hope that someone could point me to something relevant rather than just wasting hours on learning the other tools just to discover that they are not fit for my purposes. So my needs are fairly basic:

  • I have an environment with many different applications which are interconnected in various ways. Some through SOAP UI, some share a DB, etc..
  • Some of the applications are web interfaces, some of them just locally installed GUI front-ends.
  • I only need to test the interconnectivity of the applications rather than making too much focus on a specific one design and features.
  • I do need to be able yo access and login to all of these applications and perform basic "button clicks" and "fields filling" tasks.
  • The verification will be verifying certain fields (on web apps and guis).

Are there any tools which are able to give me such functionality?

P.S. If my explanation here is still to vague, please feel free to comment and I will emphasize.

share|improve this question
    
Whatt are locally installed GUI front-ends? Dekstop app or Web apps with application/HTTP server installed locally? If desktop then what OS they sit on? –  dzieciou Jun 7 '13 at 15:57
    
Are you sure you want to test via GUI instead of testing the backend or tier behind the GUI directly? That would remove the problem of GUI design changes. –  dzieciou Jun 7 '13 at 16:01
    
Do you have test scenarios, when changing a thing in Web app will affect behaviour of GUI app or vice versa? If so, you would probably need a tool that can access both types of applications or a couple of tools/libraries that be combined together within one test scenario. –  dzieciou Jun 7 '13 at 16:08
    
@dzieciou Hi and thanks for your comments. The environment I am working in is actually a collection of apps used in local hospitals. All the apps are different as they all supplied by 3rd party firms. So there are Desktop apps as well as web apps. Everything is windows based. Testing the back-end was my first thought however that will not be possible since I have to check the ability of certain apps to trigger an outgoing messages rather than just mock up the messages myself. And yes, some of the scenarios is modifying/adding data in one app and expecting to see update in another app. –  Eugene S Jun 7 '13 at 16:20
add comment

3 Answers 3

up vote 5 down vote accepted

My experience is that UI automation tools differentiate themselves by the kinds of interfaces they interact with rather than whether they facilitate "basic" testing or complicated testing.

I think you will have a hard time finding a single tool that covers both native applications (what you called "locally installed GUI front-ends") as well as web interfaces. The common denominator will probably be a single tool that only knows how to simulate typing, simulate mouse/touch events at specified (x,y) coordinates, and capture screenshots. Twenty years ago, that was state-of-the-art for UI automation, but the majority of testers shy away from that kind of technology now.

Instead of specifying (x,y) coordinates, modern UI automation tools use identifiers or expressions to specify what should be clicked. It is easier to read an automated test that relies on IDs or expressions, and the test is more likely to work when the UI is modified, too. Web browsers and native apps are based on entirely different technologies, and particular they structure UIs and identify UI elements in entirely different ways, which is why UI automation tools specialize in web UIs or native UIs but not both. (To make matters worse, each native UI technology is also different, so for example you will not find a lot of automated tests that work with Silverlight as well as native Java UIs.)

If I were you, here is where I would start. If you only need to test application inter-operability, you may not need to exercise UIs at all. Sometimes web applications have web APIs that you can access with programs like wget and curl. Sometimes native apps also have CLIs. Tests written against those interfaces may be less vulnerable to change. And if they don't exist, it may be less expensive to write them than to write (and maintain) UI-level tests.

share|improve this answer
    
Hi and thanks a lot for your answer! I completely agree with you and think that not dealing directly with UI but rather simulate messages with other tools will make my task much easier. But as I have mentioned in the comments to my question, in the majority of the cases I have to test specifically the ability of some apps to send the data out and not just receive the data by apps. So I'm not sure I will be able to implement my solution in that way. However x,y coordinates approach could work for me. Can you recommend me any tools in this area? –  Eugene S Jun 7 '13 at 16:27
    
If there is such tool which could read some input data from file and then fill it in the specified fields, that will be great and more than enough for my task! Are you familiar with something like this? Thanks! –  Eugene S Jun 7 '13 at 16:28
1  
Sikuli works with (x,y) coordinates -- but I suggest trying it with a small prototype before you commit yourself to a lot of work. –  user246 Jun 7 '13 at 16:50
    
Yes, of course. Actually I already had a brief look at it and it seem to be enough for my needs. The only thing to find out is whether it is possible to use customized fields input. I mean not just record a constant text but enter different text based on some kind of reference. If that's available, this is the tool for me. –  Eugene S Jun 7 '13 at 17:00
add comment

As far as my experience goes (not too far ;-) - have a look at Sikuli. At first thought - it is ideal for heterogenous apps with GUI and not wanting to go too deep into details of the apps.

share|improve this answer
    
Thanks for you answer. As a part of my testing I have to input some text. Do you have an idea whether I can use some reference data to customize this text with each run? Thanks! –  Eugene S Jun 7 '13 at 17:01
    
Yes, Sikuli Scripts are basically Python compatible, so you can write some code to take the test-data set you need, or use command-line to pass parameters or whatever. –  Alexei Vinogradov Jun 9 '13 at 22:41
add comment

There's a tool for that work much like sikuli when viewing image recognition. However, it does not require as much programming to use. The tool is called JAutomate and is not open source but costs a little, but the little I used it, I think it seems to meet your requirements.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.