In the same flavour of this question, what are some unobvious differences between testing a web application and a desktop application? I've recently started looking at automating some GUI tests for a web app using SilkTest. There are some subtle differences between automated GUI testing between web and desktop apps, such as how control events are handled (button clicks, scrolling, etc). I also know there are network aspects such as load and performance testing, which don't necessarily come into play with desktop apps but are significant in web testing. Coming from a desktop app background, what are some other things I should look into or consider?
|
|||
|
|
|
|||
|
|
Apart from "what those other guys said", all of it very good advice, some other considerations I'd recommend are:
|
|||
|
|
|
I do not think the UI testing is very different: field validation, default values, resizing, scalability, and so on. You probably need to support more than one brand and version of web browser, and perhaps even some mobile devices. You may want to separate your business logic tests from your browser-level tests so that you do not repeat every test on every browser. Security testing is different for web applications. This is a big subject, and it helps to have someone who specializes in that kind of thing. |
|||||
|
|
Good answers abound, just wanted to add one more thing to consider for automation - Localizability and how you identify elements is different. In a client app, you identify the element by it's name which is also the value displayed to a user. This means in order to work in localized versions you need to get the correct value from a resource file instead of hard-coding it to the english version. In a web site or web app, you will have identifying attributes on elements such as "id", "name", "class", etc that will not change in different locales and so you do not need to have this dependency on resource files but can still automate in different locales. It's also easy to request an "id" for an element from your developer which can make UI automation simpler. |
|||
|
|
