What is client-server and web based testing and how to test these applications

This is the guest post from VijayD

Question:

What is the difference between client-server testing and web based testing and what are things that we need to test in such applications?

Ans:

Projects are broadly divided into two types of:

CLIENT / SERVER TESTING

This type of testing usually done for 2 tier applications (usually developed for LAN)

Here we will be having front-end and backend.

The application launched on front-end will be having forms and reports which will be monitoring and manipulating data

E.g: applications developed in VB, VC++, Core Java, C, C++, D2K, PowerBuilder etc.,

The backend for these applications would be MS Access, SQL Server, Oracle, Sybase, Mysql, Quadbase

The tests performed on these types of applications would be

– User interface testing

– Manual support testing

– Functionality testing

Compatibility testing & configuration testing

– Intersystem testing

WEB TESTING

This is done for 3 tier applications (developed for Internet / intranet / xtranet)

Here we will be having Browser, web server and DB server.

The applications accessible in browser would be developed in HTML, DHTML, XML, JavaScript etc. (We can monitor through these applications)

Applications for the web server would be developed in Java, ASP, JSP, VBScript, JavaScript, Perl, Cold Fusion, PHP etc. (All the manipulations are done on the web server with the help of these programs developed)

The DBserver would be having Oracle, sql server, sybase, mysql etc. (All data is stored in the database available on the DB server)

The tests performed on these types of applications would be

– User interface testing

– Functionality testing

– Security testing

– Browser compatibility testing

– Load / stress testing

– Interoperability testing/intersystem testing

– Storage and data volume testing

A web application is a three-tier application.

This has a browser (monitors data) [monitoring is done using html, dhtml, xml, javascript]-> webserver (manipulates data) [manipulations are done using programming languages or scripts like adv java, asp, jsp, vbscript, javascript, perl, coldfusion, php] -> database server (stores data) [data storage and retrieval is done using databases like oracle, sql server, sybase, mysql].



The types of tests, which can be applied on this type of applications, are:

1. User interface testing for validation & user friendliness

2. Functionality testing to validate behaviors, i/p, error handling, o/p, manipulations, services levels, order of functionality, links, content of web page & backend coverage’s

3. Security testing

4. Browser compatibility

5. Load / stress testing

6. Interoperability testing

7. Storage & data volume testing

A client-server application is a two tier application.

This has forms & reporting at front-end (monitoring & manipulations are done) [using vb, vc++, core java, c, c++, d2k, power builder etc.,] -> database server at the backend [data storage & retrieval) [using ms access, sql server, Oracle, sybase, mysql, quadbase etc.,]

The tests performed on these applications would be

1. User interface testing

2. Manual support testing

3. Functionality testing

4. Compatibility testing

5. Intersystem testing

Some more points to clear the difference between client server, web and desktop applications:

Desktop application:

1. Application runs in single memory (Front end and Back end in one place)

2. Single user only

Client/Server application:

1. Application runs in two or more machines

2. Application is a menu-driven

3. Connected mode (connection exists always until logout)

4. Limited number of users

5. Less number of network issues when compared to web app.

Web application:

1. Application runs in two or more machines

2. URL-driven

3. Disconnected mode (stateless)

4. Unlimited number of users

5. Many issues like hardware compatibility, browser compatibility, version compatibility, security issues, performance issues etc.

As per difference in both the applications come where, how to access the resources. In client server once connection is made it will be in state on connected, whereas in case of web testing http protocol is stateless, then there comes logic of cookies, which is not in client server.

For client server application users are well known, whereas for web application any user can login and access the content, he/she will use it as per his intentions.

So, there are always issues of security and compatibility for web application.

Over to you: On which application are you working? Desktop, client-server or web application? What is your experience while testing these applications?

To get software testing articles in your inbox click here to subscribe with your email address.