Case Study: Client-Server Application Test Framework and Test Case Development

Client-Server Application Test Framework and Test Case Development

Industry: 

  • Software Development 
  • Personal Computing 
  • Entertainment and Games 

Key Technologies/Skills: 

  • Front-end and Back-end Automation Frameworks 
  • Automated Test Case Development 
  • Issue tracking and root cause analysis 

Overview: 

The client makes several products in the gaming industry, and some of those products are online versions. The number of simultaneous online players for the most popular product is in the tens of thousands worldwide. Most game play for that product is limited to specific times when play events are scheduled. To accommodate the schedules of more players, the client developed a new product that would enable players to play any time, rather than waiting for pre-scheduled play events. This product necessitated the creation of a dedicated team of product developers, managers, and testers, to avoid over-taxing the staff resources focused on the existing products. To help with their resource needs, the client reached out to Quardev to help in developing a robust automated test framework and test cases for this new online product. 

Solution at a Glance: 

Quardev put together a team to research the client’s existing software architecture from which a new product would be developed, as well as research the hardware system on which the client’s products were run. Working with the client, Quardev’s engineers developed an automated test framework and hundreds of test cases to test the client’s new product, while at the same time, assisting with testing and issue investigation of the existing software products. 

Challenge 

There were several challenges the Quardev team members needed to overcome on this project, not the least of which being the required skillsets of Quardev engineers. The new product used a Windows-based client that communicated with Windows and Linux-based servers and a SQL backend, so engineers needed to be familiar with multiple operating systems and the unique problems when integrating them. In addition, the development cycle was such that it was necessary to learn the client's complex multi-server system and application in a short time. Unfortunately, the client-server architecture that existed at that time was not well-documented. There was an unusually high amount of "tribal Knowledge” that needed to be uncovered through multiple discussions with engineers and managers. Many of the client's development teams were in disparate locations in multiple countries and different statesfurther complicating the process of information gathering.  

Another key challenge engineers faced was that the new product was being developed at the same time changes and updates were being made to the existing products. For the client to meet their deadlines, Quardev team members would occasionally be pulled off the new product to assist with the existing product releases. This required Quardev engineers to be flexible while getting up to speed quickly to help meet the client’s needs. 

The client also had budgetary and legal constraints that prevented them from hiring staff or bringing contractors aboard directly. 

Solution 

Though the client could not add staffing resources directly, Quardev worked with the client to solve their resource needs in a managed services capacity. Working with the client, Quardev determined the personnel skillsets required and then put together a team of Software Development Engineers in Test (SDETs) to meet the requirements and do so in a way that met their legal and budgetary constraints. The Quardev team included designated leads to handle communications with the client’s management teams, manage the team engineers, handle planning and team project management, and act as a general liaison between Quardev and the client. 

The Quardev team embedded themselves into the client’s development team to gather the system and product information necessary to design and implement the desired test system for the new product, while at the same time helping in other areas when needed. 

Quardev’s SDETs worked to build a proprietary automated test framework that was sophisticated enough to simulate online users, communicate with the system backend servers through an Application Programming Interface (API), and integrate with the product build system so tests could be run automatically following a product build. 

Separately, Quardev engineers worked to extend and enhance a frontend Selenium-based automation system to automatically run tests on the client product. 

Quardev’s SDETs developed hundreds of automated tests for both the backend and frontend of the client-server product, adjusting the test framework as needed to accommodate increasingly complex test scenarios. In addition, modifications to the framework and test cases as the project progressed were necessary to deal with undocumented and unforeseen application messaging nuances. 

Throughout the project, Quardev’s engineers remained flexible to accommodate the client’s need for occasional assistance in testing and investigating issues with the existing client flagship product. 

Results 

Quardev helped this client find the resources and assistance they needed to ensure their new product would be reliable and function as desired. Quardev met the challenges the project presented with expertise, flexibility, and cost effectiveness. The testing infrastructure and automated test cases developed contributed to a successful initial release, and this product has since proven to be the most successful and popular online game the client has produced to date. 

Client-Server Application Test Framework and Test Case Development - PDF

FREE DOWNLOAD

Send download link to:

Scroll to top
Bitnami