Saturday, September 25, 2010

How do you test world wide application ?

Web sites are essentially client/server applications - with web servers and 'browser' clients.

Consideration should be given to the interactions between html pages, web services, encrypted communications, Internet connections, firewalls, applications that run in web pages (such as javascript, flash, other plug-in applications), the wide variety of applications that could run on the server side, etc.

Additionally, there are a wide variety of servers and browsers, mobile platforms, various versions of each, small but sometimes significant differences between them, variations in connection speeds, rapidly changing technologies, and multiple standards and protocols. The end result is that testing for web sites can become a major ongoing effort. Other considerations might include:

  • Navigation Testing : Testing the breadcrumbs
  • Content Testing : Test Images and other text contents
  • What are the expected loads on the server [ Load Testing ]

  • What kind of performance is required under such loads (such as web server response time, database query response times). 

  • What kinds of tools will be needed for performance testing (such as web load testing tools, other tools already in house that can be adapted, load generation appliances, etc.)? 

  • Who is the target audience? What kind and version of browsers will they be using, and how extensively should testing be for these variations? What kind of connection speeds will they by using? Are they intra- organization (thus with likely high connection speeds and similar browsers) or Internet-wide (thus with a wider variety of connection speeds and browser types)

  •  What kind of performance is expected on the client side (e.g., how fast should pages appear, how fast should flash, applets, etc. load and run)? 
  • What kinds of security (firewalls, encryption, passwords, functionality, etc.) will be required and what is it expected to do? How can it be tested?

  • What internationilization/localization/language requirements are there, and how are they to be verified?
  • How reliable are the site's Internet connections required to be? And how does that affect backup system or redundant connection requirements and testing?
  • What processes will be required to manage updates to the web site's content, and what are the requirements for maintaining, tracking, and controlling page content, graphics, links, etc.

  • Which HTML and related specification will be adhered to? How strictly? What variations will be allowed for targeted browsers?
  •  
  • Will there be any standards or requirements for page appearance and/or graphics, 508 compliance, etc. throughout a site or parts of a site?
  •  
  • Will there be any development practices/standards utilized for web page components and identifiers, which can significantly impact test automation.
  •  
  • How will internal and external links be validated and updated? how often? 
  •  
  • Can testing be done on the production system, or will a separate test system be required? How are browser caching, variations in browser option settings, connection variabilities, and real-world internet 'traffic congestion' problems to be accounted for in testing?
  •  
  • How extensive or customized are the server logging and reporting requirements; are they considered an integral part of the system and do they require testing?
  •  
  • How are flash, applets, javascripts, ActiveX components, etc. to be maintained, tracked, controlled, and tested?