Wednesday 6 November 2013

Few basic tips that we need to keep in mind for testing Desktop Applications

Depending on the mode of accessibility, the softwares are often broadly classified into two significant categories, Web Applications and Desktop Applications. Typically a desktop application is a software utility that resides on a standalone machine which may or may not support communication among other machines through LAN/Intranet. Such applications are meant to cater the static needs of the customers. Unlike the web-applications these ones can only be accessed on the machine where it is installed. (There are certain exceptions though like the chat tools)

Now let us find out few ways by which we can test the desktop applications, better.

Check for the installer that establishes the application on the desktop. The installation process at the back end should have to be in-synchronization with the User Interface of the installer.
Consider a case, you are running the installer to install a desktop application where you can see the UI of the installer saying “ Creating desktop shortcuts....Removing the backup files... Registering the product”. But in the system you find though such things are shown, the shortcuts are not created on the desktop, rather it is creating a quick lunch icon in the Task Bar, the backup files are not removed and the product is not registered but the application works fine after installation. So in this case there are bugs with the installer which needs to be sorted out.
Check whether the desired folders are created in the system on Installation, removed on uninstallation. Many softwares automatically creates or removes the folders on install or uninstall. The tester has to report if things are not happening in the way mentioned
Check the compatibility of the desktop utility on different OS platforms. Most of the softwares created today are universal in nature. That means such ones can work in any of the OS like Windows, MAC, Linux etc. It is the duty of the tester to make sure that the application gets installed in different OS and works properly, any deviation needs to be reported.
Time and Memory considerations needs to checked correctly. The tester must ensure that the desktop utility takes the minimum amount of time to get itself lunched on user's request on a recommended system configuration. If the application fails to lunch itself in a stipulated amount of time, then such things need to be reported. How much of the total memory and CPU time is the application consuming ? Is the same releases the memory properly once it is shut ? If not then its Memory Leak case which needs serious attention.
While testing applications with rich graphics and color combination, change the system's color profile, screen resolution, font size etc and see how does the application behave to the changes. The application should support the minimum as well as maximum screen resolution. Adding extra graphic cards, removing the minimum supported graphic cards though make the life of the application hectic, needs to be done to ensure the robustness of the looks of the application.
The behavior of desktop utilities is somehow governed by the critical updates of the OS. So it is quite customary to check the functioning of the application with or without critical updates. The application (already existing) should work properly when the system is updated.
Is your desktop application neighbour friendly ? The tester has to check whether the desktop utility works fine while there are other programs running on the system at the  same time. There should a balance in the CPU Time, Memory needs among the different applications running simultaneously.
Being standalone in nature, the desktop applications always carry the databases (if required) in the same system. Hence when the Front end of the application is tested, its DB needs to be tested too on machine wise basis. Its a contrast to the web based applications sharing a common database.
Though desktop applications reside in a single system, in few cases there are provisions to share the data among those spread over a Lan/ Intranet. The tester has to ensure that proper data flow occurs in heavy and low network congestions.
In many of the testing circumstances the testers are not given with a complete build to test. Rather few .dlls or .exe files are given which are capable of replacing the old buggy files and can fit into the pool of the other files needed for the application to work. Here the tester has to ensure that no erratic result is obtained with these newly given files.

So here i have just tried to catch the attention of the testers to certain specific areas of desktop based applications testing.
Thanks & Regards,
ZUBAER KHAN
Quality Assurance Engineer
INDORE

0 comments :

Post a Comment