Client Server And Web Applications, Essential Tools For your personal Desktop testing | DeviQA
DeviQA Logo

7 minutes to read

Client Server And Web Applications, Essential Tools For your personal Desktop testing

Client Server And Web Applications, Essential Tools For your personal Desktop testing
May 2, 2019

Share

Almost every tester works in one of the categories like desktop application, client server application or web application testing. Each app is different and has its own advantages and disadvantages.

WWW was developed on top of the existent client server architecture and it replaced the FTP and email as a mechanism of sharing files and data.

A program that can provide service to client programs is called a server. Client and server are connected with the help of message passing over the network using the protocol to encode the client's requests and the response of server. There might be a few distributed servers.

Web application is entirely run on a web browser. It is independent because only a web browser is required. As they are run inside the browser it means that the application which is run in Chrome will work either on Windows or OS X. They have finite access to system resources (e.g. memory, CPU, file system).

What is the difference between client server and web application?

Client server app is always set up on the client's computer but web application can run on the browser directly as it does not require any setting.
Two-tier architecture is used by a client server application when multi-tier architecture is used by web application. This multi-tier architecture consists of user client, middle tier and application server.
A web app uses a single-user system unlike a client server application which uses two users: client and server.
A browser controlled environment hosts a web app.It also can be programmed in a language that the browser maintains. A server machine is a host for client server application (as it runs single or multiple-server programs sharing their resources with clients).A client always requests from a server information or content without sharing any of its resources.
A client server model is always overloaded because the amount of contemporary client requests increase.Only web browser is required for web application. Such web apps are Google Apps, Gmail, Yahoo mail.
A client/server application might lack robustness in case the server fails. As a result the requests cannot be completed. But web application holds up robustness.
As client server is characteristic within a company's firewall, errors related to security are not as important as in Web apps.

For client server application testing must be 2 various components in order to test them. An application is loaded on server machine meanwhile the application exe on each client machine.

You should broadly test in such categories as GUI on both sides, Load, functionality, backend, client-server interaction while client server testing. You are informed about number of servers and locations and clients in the test scenario.

While web app testing a tester does not possess much control over the target app. Applications are loaded on the server and they can or cannot be known and there is no exe installed on the client machine, and it is not required to test these apps on various web browsers. Web applications should be tested on various OS platforms and browsers. These applications are generally built in HTML, Javascript, XML etc. And the web server is generally built in Java, ASP, JavaScript, VBScript, PHP. It is flexible and exists only online.

Some people prefer desktop apps, but others prefer web applications. So lots of companies (like Apple iWork, Microsoft Office or Intuit TurboTax) offer both desktop and web versions of the most popular programs.

Desktop app is limited by the hardware on which they are run. Windows desktop application runs the conventional Windows desktop when the tablet app runs full screen. Updates to the applications must be applied by the user directly to their installation. It must be admitted that software developers are able to use HTML and JavaScript to develop desktop applications likewise web applications. Applications like MS Excel, MS Word, and Outlook are desktop apps. Some desktop applications made by technologies like HTML and JS which allow the developers to write code.

How is a web app different from a desktop application?

Deployment and upgradation for web apps require the deployment on single set of server machines. On the other hand, deployment and any upgradation/patch is accomplished on individual client machines apart.
Web apps have no location constraint.As desktop is confined to a stand-alone machine they can be only accessed from the machine they are deployed in.
Desktop apps have better authorization and administrators have better control. As a result they are more secure. But all the web apps are at higher security risks because they are designed to increase accessibility.
Web apps require the internet connectivity for their operation. Desktop app does not require internet for its operation. Nevertheless, desktop apps need internet connectivity when they are updated.
Web application development and its maintenance involve higher costs and mostly recurring in nature. Desktop applications are purchased one time and there are no continually occurring charges. However, in certain cases, maintenance fees may be charged.

Now, let us consider what desktop testing is.

Desktop app testing means concentrating on a particular environment (personal computers, machines and systems). The app is tested in such categories as GUI, functionality, backend i.e. DB and Load. This type of testing requires knowledge of operating system and database as one focuses on definite environment.It means testing the application entirely in features like graphical user interface, functionality, backend, database and load. The user also needs to ascertain the ways to check memory leaks and unhandled exceptions.

Testing checklist for desktop applications may include the following:

1.
Graphical User Interface Testing
2.
Functional Testing
Check for broken links
Warning messages
Resolution change effect on the application
Print
Theme change
Installation Testing (Upgrade/Downgrade)
Testing with multiple user accounts
Sleep mode
Cache
3.
Compatibility Testing
Testing the application on different operating systems
4.
Performance Testing
Long period of continuous use
Memory
Generate "Power Efficiency Diagnostics Report" by running the command powercfg /energy

Following tools may be useful for desktop testing.

AutoIt

AutoIt v3 is a freeware BASIC-like scripting language that is designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way that is not possible or reliable with other languages (e.g. VBScript and SendKeys). It can interact with all conventional windows controls and support COM. But it is stand-alone with no external.dll files,.NET or VB.

You can download it here

AutoHotkey

It is open-source custom scripting language for Microsoft Windows. The AutoHotkey installation includes its own extensive help file with always updated web-based version. AutoHotkey scripts are used to launch programs, open documents, send keystrokes and mouse clicks and movements. They can assign, retrieve, and manipulate variables, run loops and manipulate windows files, and folders as well. One is able to remap or disable the keyboard keys.

It may be download here https://autohotkey.com/download/

Ranorex

It is a GUI test automation framework for testing desktop, web-based and mobile applications. Ranorex hasn't its own scripting language. It uses standard programming language like C# and VB.NET as a base. This tool supports such types of testing as acceptance test, black box test and unit test. You can test next desktop client applications: .NET, WinForms, Win32, Java, Qt, Delphi,VB6, PowerBuilder, WPF, Microsoft Dynamics CRM etc.

This one might be downloading from here http://www.ranorex.com/free-trial.html

Bear in mind that even if the difference exists in these three environments, the basic quality assurance and testing principles remains the same and applies to all.

Share