Geeks Talk

Prepare for your Next Interview


Welcome to the Geeks Talk forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.

Difference between a web based, Client Server and a Desktop application?

This is a discussion on Difference between a web based, Client Server and a Desktop application? within the Web Testing forums, part of the Software Testing category; Please find the attached pdf.. It may be useful to understand this....

Go Back   Geeks Talk > Software Testing > Web Testing
Register Blogs FAQ Tag Cloud Calendar Mark Forums Read

Web Testing Web Testing

Reply

 

LinkBack Thread Tools Display Modes
  #21 (permalink)  
Old 12-17-2007
Junior Member
 
Join Date: Dec 2007
Location: Mumbai
Posts: 14
Thanks: 1
Thanked 2 Times in 2 Posts
daiveet is on a distinguished road
Re: CLIENT-SERVER/WEB Testing

Please find the attached pdf.. It may be useful to understand this.
Attached Files
File Type: pdf WebTestingVsClient-Server applicaiton testing.pdf (20.7 KB, 73 views)
Reply With Quote
Sponsored Links
  #22 (permalink)  
Old 02-18-2008
Banned
 
Join Date: Oct 2007
Location: Hyderabad
Posts: 176
Thanks: 2
Thanked 13 Times in 13 Posts
quality_quantity is on a distinguished road
Re: CLIENT-SERVER/WEB Testing

Testing client/server applications requires some additional techniques to handle the new effects introduced by the client/server architecture.

Testing client/server systems is definitely different - but it's not "from another planet" type different.

We're still testing software, so the picture looks like this:


This class includes all the core testing techniques that you'll need to test any system, including systems that have a client/server design, plus the special techniques needed for client/server.

Even if you're an experienced tester we think you'll find some interesting and useful new ideas for testing all types of systems.

So what's different about client/server?

Testing client/server applications is more challenging than testing traditional systems because:

1. New kinds of things can go wrong.
(Example: Data and messages can get lost in the network)

2. It’s harder to set up, execute, and check the test cases.
(Example: Testing for proper responses to timeouts)

3. Regression testing is harder to automate.
(Example: It’s not easy to create an automated ‘server is busy’ condition)

4. Predicting performance and scalability become critical.
(Example: It seems to work fine with 10 users. But what about with 1,000 users? 10,000 users?)

Obviously some new techniques are needed to test client/server systems. Most of these apply to distributed systems of all kinds, not just the special case of a client/server architecture. So as you encounter various design permutations, “three-tiered” and so on, you’ll be able to put together an effective test plan for them.

The key to understanding how to test these systems is to understand exactly how and why each type of potential problem arises. With this insight, the testing solution will usually be obvious. So we’ll take a look at how things work, and from that we’ll develop the new testing techniques we need.


First, let’s define “client/server”.

We mean it very broadly: one program requests a service from another program. Often the service is ‘providing data’, but we won’t make any assumptions about what the service is.

Here’s an example of the new kinds of things that can go wrong:

Suppose Program A, (a client program, because it makes a request) asks Program B, a server program, to update some fields in a database.

Program B is on another computer.

Program A expects Program B to report that either:

(1) the operation was successfully completed,
or

(2) the operation was unsuccessful (for example, because the requested record was locked.)

However, time passes and A hears nothing.

What should A do?

Depending on the speed and reliability of the network connecting A and B, there comes a time when A must conclude that something has probably gone wrong. But what?

Some possibilities are:

1. The request got lost and it never reached B.
2. B received the request, but is too busy to respond yet.

3. B got the request, but crashed before it could begin processing it.

B may or may not have been able to store the request before it crashed.
If B did store the request, it might try to service it upon awakening.

4. B started to process the request, but crashed while processing it.

5. B finished processing the request (successfully or not), but crashed before it could report the result.

6. B reported the result, but the result got lost and was never received by A.

There are more possibilities, but you get the idea.

So what should A do?





The problem: A can’t tell the difference between any of the above cases (without taking some further action).

Dealing with this problem involves complex schemes such as the Two Phase Commit.

When we test the client program A, we need to see whether it’s robust enough to at least do something intelligent for each of the above scenarios. Otherwise we can’t say that A “works right”.

This example illustrates one new type of testing that we have to do for client/server systems – testing the client program for correct behavior in the face of uncertainty. To do that we're going to have to create or simulate various conditions, such as "no response from server".

Later, we’ll look at the other new type of testing, this time on the server side: performance testing and scalability issues.

For now let's look at some major reasons why client/server systems cause new effects:


(1) Most of these systems are event-driven.

Basically, this means:

"Nothing Happens Until Something Happens"
Most program action is triggered by an event, such as the user hitting a key, some I/O being completed, or a clock timer expiring.

The event is intercepted by an "event handler" or "interrupt handler" piece of code, which generates an internal message (or lots of messages) about what it detected.

This means that it's harder to set up test cases than it is, say, to define a test case for a traditional system that prints a check.

To set up a test case you need to create events, or to simulate them. That's not always easy, especially because you have to generate these events when the system is in the proper state - but there are ways to do it.

We have a whole lesson coming up on States and Events, and how to use them for testing.

(2) The systems never stop.

Many client server/systems are set up to never stop running unless something goes really wrong.

It's true for the servers, and in many cases, it's true for the client machines.

Traditional systems complete an action, such as printing a report, and then turn in for the night. When you restart the program it's a whole fresh new day for it.

In systems that don't stop (on purpose), things are different.

Errors accumulate.

As someone put it, "Sludge builds up on the walls of the operating system."

So things like memory leaks that are wrong, but that probably wouldn't affect most traditional systems, will eventually bring non-stop systems down if they aren't detected and corrected.

One good way to minimize these effects is to use something called SOW and HILT variables in testing, which we'll cover in detail in a few lessons.

(3) The system contains multiple computers and processors which can act (and fail) independently.
Worse, they communicate with each other over less than perfectly reliable communication lines.

These two factors are the root cause of the problem detailed above, where Program A makes a request of Program B, but gets no response.

We'll cover several techniques for testing the robustness of programs in the kind of circumstances that client/server systems can generate.

First, we want to look at several concepts that form the bedrock for all of testing.




Summary:






Client/server systems can create conditions that require new testing techniques.













Despite the added complexity, there are methods available to deal with most of the testing problems.













Client/server systems aren't that different from traditional systems. We're going to need to use basic testing techniques as well as more exotic ones to get the job done.
Reply With Quote
  #23 (permalink)  
Old 03-08-2008
Contributing Member
 
Join Date: Dec 2006
Location: India
Posts: 31
Thanks: 5
Thanked 1 Time in 1 Post
spd15 is on a distinguished road
Web testing vs Client/server?

Can anyone explain me the difference between web testing and client/server testing. I have done only web functionality testing manually. What are the problems (or may be defects)that could be faced in integration and system testing? Is client/server same as intranet testing? Thanks in advance.
Reply With Quote
  #24 (permalink)  
Old 03-08-2008
Junior Member
 
Join Date: Mar 2008
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
asreddy29 is on a distinguished road
Thumbs up Re: Web testing vs Client/server?

A few of things need to keep in mind while testing c/s applications and web applications. The things are like protocols. So,
1.Need to know what are the protocols are being used for your web app or c/s application
2.And there we generally do testing on web URL, hyper link testing on web app
3.Server architecture will be different for web and c/s app, so need to have look into this as well
4.Levels of doing security , penetration testing is different on each
5.For both performance testing again will have different views that also need to consider
Plz let me know if have any doubt
Reply With Quote
  #25 (permalink)  
Old 03-08-2008
Contributing Member
 
Join Date: Dec 2006
Location: India
Posts: 31
Thanks: 5
Thanked 1 Time in 1 Post
spd15 is on a distinguished road
Re: Web testing vs Client/server?

Thanks for the reply, but I still have doubts. I was trying to understand what will be the difference in test cases? Of course, there will not be URL testing. Considering server archetecture, say for simple two tier, how will be the testcases/test plan? Or functionality cases remain same but the difference is in the response? I am really not clear...
Reply With Quote
  #26 (permalink)  
Old 03-09-2008
Contributing Member
 
Join Date: Dec 2006
Location: India
Posts: 31
Thanks: 5
Thanked 1 Time in 1 Post
spd15 is on a distinguished road
Re: Web testing vs Client/server?

I also read somewhere that integration testing is especially relevant to c/s or distributed systems.....why?
Reply With Quote
  #27 (permalink)  
Old 03-10-2008
Expert Member
 
Join Date: Oct 2007
Location: Mumbai
Posts: 354
Thanks: 4
Thanked 58 Times in 47 Posts
bizzzzzare will become famous soon enough
Re: Web testing vs Client/server?

Hi,

The main aspect that would differentiate C/S testing from a web-based application testing would be System Testing or End-to-End testing.

Functional Iintegration testing would more or less remain on the same lines as it would focus on testing the intergration between individual modules either on Client Side of C/S system or a web-based application.

But when testing a n-tier C/S system, System testing would actually encompass testing the data flow, navigation Progressing from -

Client - AppServer - DBServer.

Based on the tier acrhitechture, more entities would be added to the above flow.

But generally we test web-based applications with scope limited to website alone and do not focus on testing WebServer part.

So your System testing testcases would take into consideration testing -
  1. an Input supplied at the Client Side
  2. response from Server Side
  3. Changes effected at DB Server side


Cheers....
__________________
Regards,

V.Umesh Krishnan
QA Consultant
Reply With Quote
  #28 (permalink)  
Old 03-10-2008
Contributing Member
 
Join Date: Dec 2006
Location: India
Posts: 31
Thanks: 5
Thanked 1 Time in 1 Post
spd15 is on a distinguished road
Re: Web testing vs Client/server?

Thanks...! Makes sense to me.
Reply With Quote
  #29 (permalink)  
Old 03-10-2008
Moderator
 
Join Date: Sep 2007
Location: Chennai, INDIA
Posts: 406
Thanks: 2
Thanked 197 Times in 91 Posts
sridharrganesan has a spectacular aura aboutsridharrganesan has a spectacular aura aboutsridharrganesan has a spectacular aura about
Re: Web testing vs Client/server?

Quote:
Originally Posted by spd15 View Post
Can anyone explain me the difference between web testing and client/server testing. I have done only web functionality testing manually. What are the problems (or may be defects)that could be faced in integration and system testing? Is client/server same as intranet testing? Thanks in advance.
Hi,

Following will differentiate you the difference between client server and web based application.

In client server application you have two different components to test. Application is loaded on server machine while the application exe on every client machine. You will test broadly in categories like, GUI on both sides, functionality, Load, client-server interaction, backend. This environment is mostly used in Intranet networks. You are aware of number of clients and servers and their locations in the test scenario.

Web application is a bit different and complex to test as tester don’t have that much control over the application. Application is loaded on the server whose location may or may not be known and no exe is installed on the client machine, you have to test it on different web browsers. Web applications are supposed to be tested on different browsers and OS platforms so broadly Web application is tested mainly for browser compatibility and operating system compatibility, error handling, static pages, backend testing and load testing.

Testing will happen based on the above edplanations.

Regards,
Ganesan
Reply With Quote
  #30 (permalink)  
Old 05-22-2008
Junior Member
 
Join Date: Nov 2007
Location: PUNE
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
valmikdarade is on a distinguished road
Re: Difference between a web based, Client Server and a Desktop application?

Quote:
Originally Posted by bvani View Post
What is the thin line difference between a web based, Client Server and a Desktop application?

What are the key points we need to take care (test) while testing these applications?



Thanks in advance,
Alankar

Hey Sunny I have posted ur question to the forum pls check ...

what is the difference between client-server testing and web based testing and what are things that we need to test? plz explain in detail if possible


Here goes the answer :

Projects are broadly divided into two types of :
2 tier applications
3 tier applications


CLIENT / SERVER TESTING
[a] This type of testing usually done for 2 tier applications (usually developed for LAN)
Here we will be having frontend and backend.

The application launched on frontend will be having forms and reports which will be monitoring and manipulating data

Eg : 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 type of applications would be
- user interface testing
- manual support testing
- Functionality testing
- compatability testing & configuration testing
- intersystems testing

WEB TESTING
[b] 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 accessable in browser would be developed in HTML, DHTML, XML, JavaScript etc.,
(we can monitor thru these applications)

Applications for the webserver would be developed in Adv Java, ASP, JSP, VBScript, JavaScript, Perl, ColdFusion, 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 type of applications would be
- user interface testing
- Functionality testing
- security testing
- browser compatability testing
- load / stress testing
- interoperability testing/intersystems 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 type of tests which can be applied on this type of applications are :
1. User interface testing for validation & userfriendliness
2. Funtionality testing to validate behavious, i/p, error handling, o/p, manipulations, services levels, order of functionality, links, content of web page & backend coverages
3. Security testing
4. Browser compatability
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 frontend (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. Compatability testing
5. Intersystems testing
That is really as very detailed explanation. Keep it up such posting.
Thanks
Reply With Quote
  #31 (permalink)  
Old 09-12-2008
Junior Member
 
Join Date: Sep 2008
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
raarun is on a distinguished road
Re: Difference between a web based, Client Server and a Desktop application?

How to identify if the project is client-server or web-based ?
Reply With Quote
  #32 (permalink)  
Old 09-12-2008
Contributing Member
 
Join Date: Jul 2008
Location: India
Posts: 34
Thanks: 0
Thanked 2 Times in 1 Post
j7777 is on a distinguished road
Re: Difference between a web based, Client Server and a Desktop application?

Hi,



If you are accessing the application using browser then its a Client-Server application. (Thin Client).


Client-Server application also can be non-browser based. (Thick Client)

For example: SAP Client, Yahoo Messenger Client, Gtalk etc etc. (Sometimes
thick client are hard to identify whether its on a client-server or
standlone)


If you still can't find out. You can use the ethereal packet sniffer to find out if the application is client-server application. It will capture the
communication if there is any. (you can download ethereal packet sniffer for free)



Thanks,

J7
Reply With Quote
  #33 (permalink)  
Old 11-04-2008
Junior Member
 
Join Date: Oct 2008
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
anuradha1609 is on a distinguished road
Re: Difference between a web based, Client Server and a Desktop application?

Explained the basic concept very nicely
Reply With Quote
  #34 (permalink)  
Old 03-05-2009
Junior Member
 
Join Date: Mar 2009
Location: India
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
yuvrajb is on a distinguished road
Re: Difference between a web based, Client Server and a Desktop application?

Web based application
1) It communicates to the entire world. 2) Clients are unlimited 3) Server doesn’t have any information about the client.
Client server application
1) It can not communicate to entire world. 2) Clients are limited. 3) Server knows the configuration of each and every client.
Reply With Quote
  #35 (permalink)  
Old 07-03-2009
Junior Member
 
Join Date: Jul 2009
Location: Rampura Phul
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
umesh_Garg is on a distinguished road
Re: Difference between a web based, Client Server and a Desktop application?

Very simple web based applications are the examples of 3 tier client sever apllications are 2 tier and window applications are 1 tier archictechture
Reply With Quote
  #36 (permalink)  
Old 09-21-2009
Junior Member
 
Join Date: Sep 2009
Posts: 2
Thanks: 1
Thanked 0 Times in 0 Posts
pramodp11 is on a distinguished road
Re: Difference between a web based, Client Server and a Desktop application?

thank you for the answer !!
Reply With Quote
Reply

  Geeks Talk > Software Testing > Web Testing

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads

Thread Thread Starter Forum Replies Last Post
NLauncher is a desktop organizing utility that enables users to free the desktop from JobHelper Geeks Lounge 0 01-30-2007 02:00 PM
Client Server Technology - Is there any Drawback????? blenda SQL Server 3 06-24-2006 02:00 PM
What are the New Application Frameworks in SQL Server 2005 admin Testing Issues 1 05-30-2006 07:07 PM


All times are GMT -4. The time now is 11:56 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.3.1
Copyright © 2009 GeekInterview.com. All Rights Reserved