Project Description
Recently we have got a small project. It dealt with testing of proxy server the primary task of which was in data packets redirect.
Bug Huntress QA Team was offered a challenge to carry out testing of this proxy server, which eventually was successfully solved.
Challenge
Initially test cases were developed to cover the whole functionality. As a result our Team discovered no severe bugs and decided to carry out stress and load testing.
It was required to make sure that server could work long enough with heavy load and that such load would not cause faulty operation.
The challenge was that for such testing we needed to launch the server with multiple PC clients connected and under different OSs (Windows 95 (IE 4.0), Windows 98 SE, Windows NT SP4, Windows Me, Windows 2000 SP4, Windows XP SP1).
Solution
Our test engineers came to a decision to write a test script client which could permanently refer to server and load data, at that the volume of data should vary (from a few kilobytes to dozens of megabytes).
To perform testing under different OSs and emulate multiple PC clients we decided to utilize VMware Workstation. In the course of testing we found out that server run equally smoothly under any OS.
Next we directly set to stress and load testing. At each PC client we launched 10 scripts which referred to server. By means of VMware Workstation one created multiple PC clients.
As a result of testing we found out that server failed to withstand loads for more than 30 minutes (connection breaks) with 15 clients concurrent connections.
As a result the project was sent for rework.
Once all bugs have been fixed we resumed testing.
Our test engineers developed a special technique of launching scripts so that they emulated end-user actions. Certain scripts were to work constantly and load data continually, others were to start at times. Testing was held for 12 hours continuously.
As a result we have determined that server used too much memory and did not free the stack; consequently, it stopped due to memory shortage.
It was necessary to make changes again.
Once the reworked version of server came for testing for the third time, Bug Huntress Team performed testing again.
The testing lasted for several days only, testers used circa 100 client scripts (by customer's request based on conclusion that server will not have more than 70 to 80 concurrent connections) which referred to the server. Also, for testing we used various data types and various volumes.
As a result we discovered no bugs.
Due to automation and emulation of end-user actions by the final phase we engaged only one test engineer for testing, which considerably saved time and resource. However, it appeared to have no negative effect upon quality of testing. |