A web application is a software program stored or hosted on a remote server and accessed over the internet via a browser. Users need an internet connection for such applications to work. Any network-related latencies result in performance hindrances.
A desktop application is a program that users run on a personal computer or laptop. It is a standalone software program that doesn’t necessarily depend on internet connectivity. Very often, all of its or at least certain features can work independently of the web connection. Examples of such applications are MS-Word, Adobe Acrobat Reader, Spotify, etc.
Types of Testing for Web and Desktop Apps
The testing activities included in the desktop and web app testing services are pretty much the same. We surely need to run functional, UI, performance, acceptance, regression testing, and some other activities, depending on the kind of software we are dealing with. However, in addition to that, desktop application testing services include:
- installation testing;
- upgrades testing;
- and uninstallation testing.
As you can guess, the difference arises because users access web apps via browser, while desktop apps are stored locally.
Installation Testing
When testing the installation process, QA engineers check the following:
- Can you run an application after the installation is complete?
- What is the program’s default location in the file system?
- Can a user choose a different path during the installation?
- Are the desktop and other shortcuts available?
- Is it possible to find a folder with the files in the applications section (Start > Programs on Windows; Finder > Applications on Mac).
- Can you make an application accessible for all and selected users?
- Is the publisher data displayed? Is this data correct?
- Can you complete installation by a user with/without admin rights?
Updates Testing
To test updates, we install an older version of the application first. Then, we check if:
- user data wasn’t erased, damaged, or somehow modified after installing the update;
- all files previously created by the user are still available.
Uninstallation Testing
Naturally, users delete applications sometimes. So software testers need to make sure such option is available and working properly. During the uninstallation testing, we check if:
- all program files are deleted from a device;
- desktop and other shortcuts (if any) disappear;
- there is no way to access an application.
Web vs Desktop: What Apps Are Better?
It is impossible to answer this without analyzing a specific situation. It depends a lot on the app’s functionality and the audience using it. A company needs to analyze user behavior and needs, as well as the viability of the idea concerning further scaling, budget, etc.
Nevertheless, if we are discussing the ‘web vs desktop’ without any context, web applications are the ones that come with several advantages.
- A web application runs via browser, so developers don’t need to create different apps for every platform. Just like that, by updating an application on the remote server, a company provides access to its new version for all users, whether they decide to open a program with Chrome on Windows or Apple’s Safari.
- It is easier to optimize interfaces in web applications. It is more resource-consuming to create a consistent design across different OS than several browsers.
- Web applications have data stored and processed on remote servers. Thus, users can easily access software without dealing with heavy files on their devices or going through installations.
In terms of testing, it is probably easier to work with web applications, too. We all know how a browser works. All that’s left is to research a user flow and different configurations for a bit. Meanwhile, desktop applications can require some learning and knowledge of additional technologies (though not always).
Tips for Testing Web Applications
A QA specialist working with web applications should:
- understand how these apps function and be familiar with website building technologies;
- be able to write tests taking into account the specifics of web apps and determine how many test cases are required to cover the app functionality;
- run tests using a variety of tools and, if necessary, bypass browser restrictions;
- run compatibility testing on real browsers to find the bugs that are impossible to detect on emulators and simulators.
As for desktop applications, the principles of functional, UI, and other required testing types won’t differ drastically. The only important thing to keep in mind is that desktop apps are highly dependent on the operating system.
In Conclusion
In general, testing web and desktop applications is pretty similar. Just remember about a couple of desktop-specific types of testing. As for the difficulty, it’s hard to say which one will be more complicated to check. What we know for sure is that the knowledge and skills you gain while working with one type of application are always helpful in other projects.