What Makes Client/Server Testing Unique?
A Guide to Understanding the Complexity of Client/Server Testing
White Paper | Copyright Lionbridge 2006
White Paper | Copyright Lionbridge 2006 | WP-507-0906-1| Page 1
At a Glance
Client/Server testing is an arduous task, requiring testers to have product knowledge and expertise in all departments.
It is fair tosay that testing a Client/Server product is one of the more challenging and complex tasks in the multifaceted world of testing. The fact that when you are testing a Client/Server project, you are working with a “product,” a “system,” or a “platform,” gives you some indication that the scope of what you are dealing with extends beyond just an application or program. Because a C/S system is usually acombination of various programs and applications (both custom and third-party) running on multiple machines and making connections via any number of methods and protocols over internal or external networks, it is much more (and much more complicated to test) than just one program. C/S testers find quickly that they must have a great deal of breadth of product knowledge and expertise spanning manydifferent areas. Some of these include a knowledge of platforms (NT, UNIX, OS2), interfaces (GUI, OOUI, Web browser), communications/messaging (router, Internet, dial-up), and databases (SQL Server, Access, Oracle). Other areas where C/S testers might be expected to have a wide range of knowledge are in types of applications and systems themselves. Whereas many types of testing areproduct-specific (games testing, for instance) or type-specific (GUI testing), in the wide world of Client/Server testing every project, every product is different. The tester may be testing anything from a medical case information system to a documentation management system to a financial transaction processing system, all with databases, distributed objects, front- and back-end processing, multiple layers ofsupporting applications/middleware, and a network or workgroup architecture tying them all together. And not just breadth, but also depth of knowledge is an important trait of the experienced C/S tester. Sometimes this a matter of having a detailed understanding of SQL stored procedures and triggers, sometimes it is an intuitive understanding of database design and implementation, and sometimes itmeans possessing an intimate knowledge of CGI and server-side scripting techniques. The different types of technology that the C/S tester encounters, and the varying degrees to which s/he must be familiar with the inner workings of these, keep all of us constantly striving to improve our current knowledge base and expand on our hands-on experience with many different technologies, products, andplatforms. One of the major factors which make Client/Server testing different from many other types of testing is the size, scope, and duration of the test effort itself. Due largely to many of the same issues which require C/S testers to possess a wide range of skills, C/S test projects tend to be longer, more detailed test cycles. Many or most C/S products have been in design and developmentphases for a year or more before ever making it to the testing stage. Then when they are ready to test, there are often many more phases which they must go through before being
White Paper | Copyright Lionbridge 2006 | WP-507-0906-1| Page 2
ready to ship or install in a production environment. These test phases may include a Build Acceptance Test, a Prototype test, a System Reliability test,multiple Regression tests, and a Beta, Pilot, or Field test, to name a few. Client/Server testing can be looked at in terms of testing which occurs largely on the client-side, and that which occurs largely on the server.
The server in a Client/Server environment is more often than not made up of more than just one component. Whether it is one or more physical machines, it is a...