Logo
/ application-testing

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

By DeviQA on Thu Mar 02 2017 00:00:00 GMT+0000 (Coordinated Universal Time)

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

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 it’s own advantages and disadvantages.

$1

Client-Server architecture

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.

    Here are some more examples of incredibly useful desktop apps for Windows 10.

    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
    3. Check for broken links
    4. Warning messages
    5. Resolution change effect on the application
    6. Print
    7. Theme change
    8. Installation Testing (Upgrade/Downgrade)
    9. Testing with multiple user accounts
    10. Sleep mode
    11. Cache
    12. Compatibility Testing
    13. Testing the application on different operating systems
    14. Performance Testing
    15. Long period of continuous use
    16. Memory
    17. * 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 https://www.autoitscript.com/site/autoit/downloads/

      AutoHotkey

      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.

      An example of using this tool is here

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

      Ranorex

      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 etс. 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.