Monday, June 18, 2012

Web Application Testing

With the different types of computer software solutions there come different types of testing tools.  In many regards these tools are similar in function but difficult to run constantly.  This is why for web application testing it is commonplace to see macro generation programs aid in the automation of multiple online tests.  Programs like Selenium, Automator, and JitBit are all easy to use and allow testers in a small environment to busy themselves writing test cases rather than spending time to run them.  These programs also help the the developers and testers of online software in a different way, through concurrent running, simulated connections can test the stability of a system when under stress or heavy load.  One program that handles this specifically is called JMeter.  JMeter displays a graph showing connections and handled requests by the server containing the web application test environment.  Too many users or threads will crash any system, and this type of automated stress testing is crucial to the integrity of a system that runs any web application.


In recent times we've seen that denial of service attacks can be used as a weapon against widely used systems.  This kind of attack can be simulated in this way through automated testing of users.  Though some companies decide instead to hire groups of user mercenaries from different places across the globe to simultaneously connect to their servers, this is often somewhat overkill.  Internal workings within the code can look to foil these sorts of attacks by only allowing a certain number of connections, but these capabilities can only be truly tested through extensive automated testing.


In the case of larger platforms like twitter or ebay, these web applications must naturally handle thousands upon thousands of connections simultaneously, and here is where stress testing takes top priority.  Fortunately for simple interfaces an limited complexity of twitter make this easier to run tests for.


Though stress testing is important for prevention of total failures, simulated load testing is also an important aspect of web application testing.  Considering that an application expects a certain number of concurrent users, we can monitor what is essentially the heart rate of this application as it tries to deal with normal requests, where the server is the heart and the connections are blood cells being run through the heart and back out. Depending on the reactions to this data the project may change its focus to utilize hardware better, or find existing bottlenecks within the program that cause stress on the servers.  Just like an irregular heartbeat brings about changes in ones health choices,  automated testing shows whether changes need to be made when it comes to web applications.

No comments:

Post a Comment