Method for Black Box and White Box Tests
Testing Internet applications for scalability and performance is different from testing software applications and code. SOA testing is focused on understanding how a service responds to increasing levels of concurrent requests, message sizes, and response handling techniques. The nature of Internet applications testing is black-box testing; it doesn't matter what happens inside the box.
Code profilers have their place in testing software and software developers often rely on them to learn the location of performance problems. However, black-box testing often yields more actionable knowledge, with these recommendations:
-
Create a baseline performance metric (a Scalability Index) using black-box performance tests showing Transaction Per Second (TPS) results, measured at the service consumer, with a variety of message sizes, message schema complexities, and concurrent request levels
-
Compare performance and scalability between multiple servers, consumers, or brokers by identifying each server's Performance Index and normalizing the test parameters to avoid reporting false slow-performance results. The test is run properly once the test lab has been calibrated in this Calibration step
-
Determine the Performance Index of the service under test and use white-box testing techniques to profile the largest time expensive object operations to handle requests. Optimize the software based on the profile
-
Continue optimizing the service by repeating steps 2 and 3
-
Run the Performance Index and analyze the results
This is the basis for understanding the Appvance method of testing services for scalability and performance