4
Web 2.0 Applications – An Approach to Testing G.S.Chakravarthy MindTree Ltd., [email protected] Rajesh R. Barde MindTree Ltd., [email protected] Abstract Web 2.0 has arrived as a “concept”, a “trend”, a “model” or simply a “phenomenon” and is here to stay. It has caught the imagination of innovative thinkers so rapidly that it is hard to believe Internet has undergone a drastic change or simply to say “undergone a paradigm shift”. The Web 2.0 trend seems to have all the ingredients of superior technology, collective intelligence and a versatile next-gen thought process that culminates in an era of multiple challenges. Understanding the drawbacks of Web 1.0 and improvising our understanding of Web 2.0 is a major challenge. Will Web 2.0 totally change the way we work on web application development? Will it be more challenging to testers to embrace this trend and get away with accolades for providing lesser defective applications? Will Web 2.0 reap us rich dividends? 1. Introduction Often when the term Web 2.0 is used, the immediate contemplation is on associating it to a programming language. Secondly, a thought on apparent uncertainty to the forerunner on what is Web 1.0, can be noted. It is of prime importance, to understand the terminologies to work on the application built, notably Web 2.0. Web 2.0 is a newer approach to building web based applications. The classification of an application under this category is more or less loosely coupled, based on the various features available in the application. Understanding Web 1.0 helps in bringing about clarity in definition of Web 2.0. Web 1.0 is the first generation of static and read only applications that followed strict categorization and naming of web element representations. At the transaction level, these applications are a complete to-and-fro communication to the server for each of the user requests. In other words, each request had to be serviced by the server. This approach had its impact on the application performance. This genre of applications was more focused on content management. The vendor or master of the application decided the course of usage. Competitive advantage for any web site lies in the ease of use and end user experience. In order to enhance, the focus was on providing the easy made approach like formatting, image texture, user friendly color and tab order. Software application development has been through continuous evolution and Web usage has been a key influence in the mindset of application construction. The need to innovate for a wider user experience and dynamic behavior has helped in the revolutionary approach that is now popularly referred as Web 2.0. Web 2.0 is unique by the way it defines the principles and practices that classifies the application to a particular genre. Web 2.0 aims to enhance creativity, information sharing and collaboration among users. User participation is intensified by way of one’s involvement in the application, ability to contribute and interest group that one is associated. Control over data hosted on the application provides scope for creative data management, usage and representation. This transforms application usage experience to that of participative from being a static operator of the application. 978-1-4244-3397-1/08/$25.00 ©2008 IEEE 195

[IEEE 2008 International Conference on Innovations in Information Technology (IIT) - Al Ain, United Arab Emirates (2008.12.16-2008.12.18)] 2008 International Conference on Innovations

Embed Size (px)

Citation preview

Page 1: [IEEE 2008 International Conference on Innovations in Information Technology (IIT) - Al Ain, United Arab Emirates (2008.12.16-2008.12.18)] 2008 International Conference on Innovations

Web 2.0 Applications – An Approach to Testing

G.S.Chakravarthy MindTree Ltd.,

[email protected]

Rajesh R. Barde MindTree Ltd.,

[email protected]

Abstract

Web 2.0 has arrived as a “concept”, a “trend”, a “model” or simply a “phenomenon” and is here to stay. It has caught the imagination of innovative thinkers so rapidly that it is hard to believe Internet has undergone a drastic change or simply to say “undergone a paradigm shift”. The Web 2.0 trend seems to have all the ingredients of superior technology, collective intelligence and a versatilenext-gen thought process that culminates in an era of multiple challenges. Understanding the drawbacks of Web 1.0 and improvising our understanding of Web 2.0 is a major challenge. Will Web 2.0 totally change the way we work on web application development? Will it be more challenging to testers to embrace this trend and get away with accolades for providing lesser defective applications? Will Web 2.0 reap us rich dividends?

1. Introduction

Often when the term Web 2.0 is used, the immediate contemplation is on associating it to a programming language. Secondly, a thought on apparent uncertainty to the forerunner on what is Web 1.0, can be noted. It is of prime importance, to understand the terminologies to work on the application built, notably Web 2.0. Web 2.0 is a newer approach to building web based applications. The classification of an application under this category is more or less loosely coupled, based on the various features available in the application. Understanding Web 1.0 helps in bringing about clarity in definition of Web 2.0.

Web 1.0 is the first generation of static and read only applications that followed strict categorization

and naming of web element representations. At the transaction level, these applications are a complete to-and-fro communication to the server for each of the user requests. In other words, each request hadto be serviced by the server. This approach had itsimpact on the application performance. This genre of applications was more focused on content management. The vendor or master of the application decided the course of usage. Competitive advantage for any web site lies in the ease of use and end user experience. In order to enhance, the focus was on providing the easy made approach like formatting, image texture, user friendly color and tab order.

Software application development has been through continuous evolution and Web usage has been a key influence in the mindset of application construction. The need to innovate for a wider userexperience and dynamic behavior has helped in the revolutionary approach that is now popularly referred as Web 2.0.

Web 2.0 is unique by the way it defines the principles and practices that classifies the application to a particular genre. Web 2.0 aims to enhance creativity, information sharing and collaboration among users. User participation is intensified by way of one’s involvement in the application, ability to contribute and interest group that one is associated. Control over data hosted onthe application provides scope for creative data management, usage and representation. This transforms application usage experience to that of participative from being a static operator of the application.

978-1-4244-3397-1/08/$25.00 ©2008 IEEE

195

Page 2: [IEEE 2008 International Conference on Innovations in Information Technology (IIT) - Al Ain, United Arab Emirates (2008.12.16-2008.12.18)] 2008 International Conference on Innovations

Test strategy takes a paradigm shift in Web 2.0 context. Traditional test strategies fall short of expectations, required for user interactive and dynamic applications built using Web 2.0. The application needs switched over to providing multiple platform support, ability to transform and collate the content creation from varied sources. Cheaper hardware and upsurge in the number of internet users revolutionized the approach to building web based applications. This required loosely coupled approach to data, transaction management and faster application performance. Progress in varied areas of Internet defined the trend for a greater user involvement. It initiated fusion of content and inputs from multiple sources to form a new generation of applications classified as Web 2.0. Typically these applications use Ajax and are based on service oriented architecture. The applications are classified under various levels based on the intended audience like offline, online, or both, which mushrooms itself based on the user and source of the feeds. Some of the application features include blogging, dynamic page creations like wiki, social networking, interest groups and streaming media.

2. Traditional testing

How does a testing team approach a web application testing? The foremost to this initiative revolves around the business requirements. The needs of business are refined for the team by way of software requirements specification and analyzed. Application behavior is understood from the perspective of the requirements. Based on the processes established in the project, the team prepares the list of scenarios and test cases. As part of the execution these test cases are executed and supplemented with exploratory testing.

Key observations in this approach are that the team is guided by way of software requirements all through the life cycle. Software requirement acts as a static control for activities that a user can perform.

Let us analyze the application from a user

perspective. In a Web 1.0 application the user is in an adaptation mode and learns the application behavior by way of help, manuals and other contents. In this, the user settles his needs to what is available and looks for alternative approaches to the unaddressed needs.

In above scenario with available requirements, it is easy to a large extent for the testing team to derive the operations of a user. The user is confined to application features available and page navigation with no contribution to the application. This is a scenario of internal control of user for his actions from the application. This demarcates a well defined boundary and the testing team can simulate the end user actions within this boundary.

Figure 1. Key test cycle

Figure 2. User application outlook–Web 1.0

Business Requirements

Define Software Requirements

Identify Test Scenarios

Prepare Test Cases

Execute Test Cases

Web 1.0 Application

User n User 2

User 1

User 3

User 4

196

Page 3: [IEEE 2008 International Conference on Innovations in Information Technology (IIT) - Al Ain, United Arab Emirates (2008.12.16-2008.12.18)] 2008 International Conference on Innovations

3. Web 2.0 Application Testing

In a Web 2.0 application, the end user can contribute and be a part of it. The user creativity and participation get’s absorbed into the application. This is a challenge by way of ensuring creativity in testing.

Creativity has no boundaries. Traditional testing teams will have practical limitations to simulate this creative approach covering application growth and existence. These applications typically are built using Ajax and implement the service oriented approach. A good percentage of these transactions are handled asynchronously. JavaScript handles the data validation and operation in itself. Ajax also helps in partial rendering without server requisiteand in parallel, the data is sent to the server for update and processing.

Web 2.0 applications can also be categorized as non-hierarchical, open ended and composed of collective intelligence. The applications can transmit and receive data from other applications. It is referred by the term syndication. This helps in mounting users and network allied applications. AJAX, Flash, Adobe Flex and other tools contribute towards providing rich user experience.

Simulating the dynamism involved in the entire application suite as part of the test scripts has its challenges and limitations. To overcome these shortcomings, the test strategy should look into methods that can bring out the end user way of

application handling. Two phased approach to testing a Web 2.0 application can be defined as-

a) Functional Categorization b) Three-tier Testing Team

a. Functional Categorization

Functional categorization must be done based on transaction processing that is carried out at the application level. The term level is used to symbolize the different component that processes a request. The Web 2.0 functionality can be widely categorized into four.

Presentation Scenarios – These scenarios have the attribute to overwrite the presentation layer. Partial rendering, vector graphics, dynamic updates, interactive web content based scenarios need to be identified as part of this category.

Client Engine Serviced Scenarios – These are functional scenarios that are responded by the client engine. These scenarios help in reducing the application response time due to asynchronous mode of request – response model. Authorization and Page element data validations fall into this category.

Server Serviced Scenarios – This category needs to identify scenarios that are responded by the server. The service requests that are based on user authentication, server side authorization, data manipulations and queries fall into this group.

Security Scenarios – Security of the application is a critical aspect in any technology or application. The flexibility in Web 2.0 applications to modify

API Services APIServices

Applications

User 2User 1User 3 User n

World Wide Web

Functional Categorization

Server Serviced Scenarios

Presentation Scenarios

Security Scenarios

Client Engine Serviced Scenarios

Figure 3. User application outlook – Web 2.0

197

Page 4: [IEEE 2008 International Conference on Innovations in Information Technology (IIT) - Al Ain, United Arab Emirates (2008.12.16-2008.12.18)] 2008 International Conference on Innovations

the structure of the application adds to the challenge of ensuring that the integrity of the application is not compromised. Scenarios that modify the structure of the application need to be thoroughly identified. Resource access scenarios, authorizations, network access, memory access scenarios can be grouped under this.

Test cases designed for the above set of scenarios, with requirements traceability, helps in ensuring adequate coverage.

b. Three-tier testing team

User Participation and interaction is critical to these applications. The team comprising of couple of test engineers will have limited probability of simulating all the user actions. This can be overcome by way of a three-tier testing team which is open ended.

Team comprising of test engineers, will have the first hands-on in application testing. Technology group must be identified for application use.

This group will use the application based on the techno-functional aspects which helps in determining the technical durability of the application. The largest of the three groups of testing team will be the application user group which uses the application as the end user. Critical fact is that, a large audience augments creative application usage and helps in adding value and refinement to it. The application user group must be created from audience of varied background to simulate the live user actions. This is a fair approach to sampling creative ideas when compared to traditional teams comprising of test engineers.

4. Conclusion

As testers, we face several challenges when testing Web 2.0 applications. It could be technical, creative, economical or operational challenges. These challenges could be converted into opportunities with effective best practices in place. Proper understanding of requirements in terms of Web 2.0 and usability helps to identify functional test scenarios and test cases with effective coverage. Effective test execution will result in detecting defects early and in large numbers. There is a need to adopt a clear way of defining best practices such as Scenario identification, Test case preparation, Traceability matrix, Test execution, Metrics and Defect tracking & Closure. What needs to be transformed is the mindset to test any Web 2.0 application.

5. References

[1] What is Web 2.0 by Tim O’Reilly

[2] http://searchsoftwarequality.techtarget.com/

[3] http://www.hongkiat.com/blog/category/web-20

[4] http://web2videos.blogspot.com/

Application User Group

Figure 4. Test team structure

Technology Group

Testing Group

198