Saturday, September 25, 2010

Essential Elements of Testing Web Applications

Today everyone depends upon websites for business, education and trading purpose. Websites are related to the internet. It is believed that no work is possible without internet today. There are so many types of users connected to the websites who need different type of information. So, websites should respond according to the user requirements. At the same time, the correct behaviour of sites has become crucial to the success of businesses and organizations and thus should be tested thoroughly and frequently.

Here we are discussing various methods to test a website. However, testing a website is not an easy job since we have to test not only the client-side but also the server-side. With this approach we can completely test a website with minimum number of errors.


Introduction to Web Testing:
The client end of the system is represented by a browser, which connects to the website server via the Internet.The centerpiece of all web applications is a relational database which stores dynamic contents. A transaction server controls the interactions between the database and other servers (often called "application servers"). The administration function handles data updates and database administration.



According to the above Architecture of Web Applications, It is evident that we need to conduct the following tests to ensure the suitability of web applications.

1) What are the expected loads on the server and what kind of performance is required under such loads. This may include web server response time, database query response times.

2) What kind of browsers will be used?

3) What kinds of connection speeds will they have?

4) Are they intra-organization (thus with likely high connection speeds and similar browsers) or Internet-wide (thus with a wide variety of connection speeds and browser types)?

5) What kind of performance is expected on the client side (e.g., how fast should pages appear, how fast should animations, applets, etc. load and run)?


There are many possible terms for the web application development life cycle including the spiral life cycle or some form of iterative life cycle. A more cynical way to describe the most commonly observed approach is to describe it as the unstructured development similar to the early days of software development before software engineering techniques were introduced. The "maintenance phase" often fills the role of adding missed features and fixing problems.



We need to have ready answers to the following questions:

1) Will down time for server and content maintenance / upgrades be allowed? How much?

2) What kinds of security (firewalls, encryptions, passwords, etc.) will be required and what is it expected to do? How can it be tested?

3) How reliable the Internet connections are? And how does that affect backup system or redundant connection requirements and testing?

4) What processes will be required to manage updates to the website's content, and what are the requirements for maintaining, tracking, and controlling page content, graphics, links, etc.?

5) Will there be any standards or requirements for page appearance and/or graphics throughout a site or parts of a site?

6) How will internal and external links be validated and updated? How often?

7) How many times the user login and do they require testing?

8) How are CGI programs, Applets, Javascripts, ActiveX components, etc. to be maintained, tracked, controlled and tested?

No comments:

Post a Comment