Define Client server Software: Client server is software architecture consists of client and server systems which communicate to each other either over the computer network or on the same machine. In such architecture the client system sends the request to the server system and the server system sends the response to the client system. This is also known as two tier application. Such applications are developed in Visual Basic, VC++, C, C++, Core JAVA, etc. and back-end database could be IBM DB2, MS Access, Oracle, Sybase, SQL Server, Quad base, MySQL, etc.
Projects are usually of two types as follows:
- Two tier application or client server application as explained above.
- Three tier application or web application.
- N-tier application or multi-tier application.
You may like to read: What is Difference Between Two-Tier and Three-Tier Architecture?
Web application is a client server architectural concept in which three systems are involved such as browser, web application server and database server. They run on internet or intranet where requests are sent through forms from browser to the web server which does the required processing after retrieving or persisting details on database. Such applications are developed using J2EE platform, ASP .NET, JSP, VBScript, PHP, DHTML, etc.
Multi-tier or N-tier application is a client server architectural concept where presentation layer, processing layer, business logic layer and data management layer are separated logically as well as physically in multiple layers (more than three layers). Such applications are developed using J2EE platform, ASP .NET, etc.
So far we have covered only the definitions of various client server architectures, now let’s see how we can test such applications and which Types of Testing Tools we can use to test them. Below are listed the types of testing that could be performed on such applications using the available tools in the markets.
- UI Testing: User interface testing is the testing of the interfaces through user operates the client system to send request to the server system. For example in a web based application, the forms, hyperlinks, buttons, text boxes, radio buttons, check boxes, etc. are the elements on the web page which are operated by users and these UI elements undergo tests based on their appropriate usage e.g. All UI elements which are to be displayed on the web page, what elements are mandatory or optional etc. In the market there are number of tools available to automate such web based applications Some of the UI testing tools are Selenium, Sahi, eggPlant Functional, iMacros, QF-Test, Ranorex Studio, SOATest, TestComplete, Test Studio, WaitN, Watir, Win Runner by Mercury, etc.
- Functionality / Black Box Testing : Black box testing is done to test the functional aspects and logic of the client server applications. For web based applications Types of Testing Tools such as Sahi, Selenium, Fitnesse, HP QTP, etc. can be used to conduct the functional test automation. As 100% automation cannot be achieved therefore few manual tests are always recommended to maximize the test coverage.
- Security Testing : Security testing is conducted to evaluate how secured the client-server system is while authentication the request. Server should only send response to the request which is authentic over the network. There are number of testing tools available on the market, few of them are Babel Enterprise, BFB Tester – Brute Force Binary Tester, CROSS(Code nomicon Robust Open Source Software), Flaw finder, Gendarme, HCE – HTML Comment Extractor / Parser, Knock Sub domain Scan, Nessus, OSSTMM – Open Source Security Testing Methodology Manual, WAP – Web Application Protection, Wireshark, etc.
- Browser Compatibility Testing : Browser compatibility testing is done for the web based applications to make sure that different browsers operate in a similar manner as desired from the application. It should not happen that UI elements which are working on Firefox are not visible or disabled on Chrome. Some of the Browser Compatibility Testing tools are Ghostlab, BrowserStack, Sauce Labs, Cross Browser Testing, Browsershots, Browserling, Browsera, Mogotest, IE NetRenderer, Litmus, BrowseEmAll, TestingBot, Spoon, etc.
- Integration Testing/Intersystem Testing : Integration testing is the part of functional testing where individual modules of client-server applications are integrated to conduct the functional test. Tools like Sahi, Selenium along with Fitnesse can be used to conduct such testing.
- Storage and Data Volume Testing: Volume testing is a non-functional testing that aims at testing the load capabilities of the system. Below are the detailed summary of the load or stress testing.
- Load/Stress Testing : Load testing is the testing process which is conducted to study the behavior of the client-server system under normal load and anticipated peak load conditions for the client requests to the server system. Some of the Load/Stress testing tools are BlazeMeter, Blitz, Gatling, Loader.io, Login VSI, Siege, Silk Performer, Test Studio, Astra Site Test by Mercury Interactive etc.
- Performance Testing : Performance testing is the testing process by which we determine the throughput or effectiveness of a client-server system in a computer network. Such test involves the measuring of the response time, processing speed and the numbers of MIPS (millions of instructions per second) at which the system functions. Some of the performance testing tools are Load Runner,Apache JMeter, LoadRunner, Loadstorm, CloudTest, WebLOAD, Appvance, NeoLoad, LoadUI, Rational Performance Tester, Testing Anywhere, OpenSTA, QEngine (ManageEngine), Httperf, WAPT, Loadster, LoadImpact, etc.
We have gone through the different type of testing required to test a multi-tier client server applications for which multiple Types of Testing Tools are available in the market to accomplish testing. It is up to the testing team to make the choice of testing tool that suits the best to the project testing requirements.
If you are not regular reader of this website then highly recommends you to Sign up for our free email newsletter!! Sign up just providing your email address below: