The challenges of Web 2.0 applications

Rich Internet applications allow for dynamic, asynchronous data transfer, using multiple protocols and a variety of servers. They gather data from distributed, heterogeneous sources, including cloud-based and external data storage options. Thick clients with widgets and client-side functionality often have server-side components, which may need additional processing before the server sends the data back to the client. Developers who build these widgets—often adding them from available toolkits—do it on their development machines and don’t realize that once separated across the network, the server component may cause latency and affect the overall system performance. New technologies such as Ajax enable prefetching, where every new letter that a user enters into a search engine suggests a new set of results that are dynamically delivered from the server. All this activity generates a lot of network traffic and can significantly impact performance. Network latency and bandwidth constraints can also create performance bottlenecks. To accurately predict the performance of an application, it is necessary to test individual components and services, but equally critical are server monitoring and end-to-end performance testing, along with accurate WAN emulation. Testing Web 2.0 applications presents its own set of challenges.1 The complexity of new technologies, the lack of commonly recognized and accepted standards, and the sheer multitude of emerging frameworks and toolkits make it difficult for companies to build Web 2.0 testing strategies and select appropriate automation solutions. Traditional testing tools focus on protocol-level verification, offering no framework-level support or ability to accurately recognize objects in these new, rich clients, making it virtually impossible to effectively validate the performance of Web 2.0 applications. Script creation, which has always been a lengthy, time-consuming process that requires domain and application expertise, becomes even more complex in Web 2.0 applications.