Monday 26 January 2015

                                   Testing Internet Applications


What do you mean by Internet Application??

Internet applications are essentially client-server applications in which the client is a web browser and the server is a web/application server. Conceptually it seems to be simple, but complexity of these applications varies wildly. As a result of openness and accessibility of the Internet, competition in the Business-consumer arena (e-Commerce) requires intensive testing.

The goal of testing internet-based applications is no different from traditional applications. Just need to uncover errors in the application before deploying it to the internet. Considering the common typical 3 –tier architecture of usual e-commerce sites testing should be performed.

3 –tier Architecture:
Tier1 (Web servers) - Presentation layer
Tier2 – Business logic layer
Tier3 – Data Access Layer

Challenges to face while testing Internet Applications:
  1. Large and varied user base: with different skill set, variety of browsers and operating systems usage. Business environment: like dynamic calculation of taxes, shipping charges, financial transactions, and tracking customer profiles.
  2. Locales: Accessing the application in other countries force to concentrate on Internationalization and Localization concepts.
  3. Testing Environment: To test the application properly, dummy environment related to production should be created which is a bit complex task.
  4. Security: As e-commerce applications are open to the world, high priority should be imposed on security to protect it from hackers.

Testing Strategies: Developing a testing strategy for Internet-based applications requires a solid understanding of business requirements. And it is best tackled with a divide and conquer approach. Need to focus on individual tier.

1) Presentation Layer: The layer of an internet application that provides the Graphical User Interface (GUI). The following identifies the three major areas of presentation layer testing:

• Content Testing: Overall aesthetics, fonts, color, spelling, content accuracy, default values.
• Website Architecture: Broken links or graphics.
• User Environment/ Browser-Compatibility testing: Web browser versions and operating system configuration.

2) Business Logic Layer: The layer that models your business processes such as user authentication and transactions. And the testing involves finding errors in the business logic and concentrates on the following factors.

• Performance: Test to see whether the application meets documented performance specifications. Example –Stress Testing.
• Data Validity: Test to detect errors in data collected from customers.
• Transactions: Test to uncover errors in transaction processing includes payment processing, e-mailing verifications.

3) Data Access Layer: The layer that houses data used by the application or that is collected from the end user. Credit card numbers, payment information and user profiles are examples of data in data access layer. Testing the data base primarily involves storage and retrieval of information. The areas to focus on

• Response time: The maximum time to fetch the data through DML.
• Data integrity: Verifying that the data are stored correctly and accurately.
• Fault Tolerance and Recoverability

Reference: "The art of software testing" by Glendford J. Myers

No comments:

Post a Comment