Monday, July 28, 2008

Basic Guidelines and Checklist for Website Testing

Basic Guidelines and Checklist for Website Testing



Worldwide web is browsed by customers with different knowledge levels, while testing websites (static/Dynamic) QA department should concentrate on various aspects to make effective presentation of website in www.

Aspects to cover:

  • Functionality
  • Usability
  • User Interface
  • Server side Interface
  • Compatibility
  • Security
  • Performance
  • Description

Functionality

Links

Objective is to check for all the links in the website

1.1.1 All Hyperlinks

1.1.2 All Internal links

1.1.3 All External links

1.1.4 All Mail links

1.1.5 Check for orphan pages

1.1.6 Check for Broken links

Forms:

Check for the integrity of submission of all forms

1.1.7 All Field level Checks

1.1.8 All Field level Validations

1.1.9 Functionality of create, modify, delete and view

1.1.10 Handling of wrong inputs

1.1.11 Default values if any (standard)

1.1.12 Optional Versus Mandatory fields

1.3 Cookies

Check for the cookies that has to be enabled and how it has to be expired

1.4 Web Indexing

Depending on how the site is designed using meta tags, frames, HTML syntax, dynamically created pages, passwords or different languages, our site will be searchable in different ways

1.4.1 Meta Tags
1.4.2 Frames
1.4.3 HTML syntax
1.5 Database

Two types of errors that may occur in web application

a) Data Integrity : Missing or wrong data in table

b) Output Errors : Errors In writing ,editing or reading operation in the table

Usability

How simple customer can browse the website

2.1 Navigation

Navigation describes the way user navigate with in a webpage, between different user interface controls (buttons, text boxes, combo boxes, dropdown lists ...etc)

2.1.1 Application navigation is proper through tab (key board)

2.1.2 Application navigation through mouse
2.1.3 Main features accessible from the main/home page (mother window)
2.1.4 Any hotkeys, control keys to access menus

2.2 Content:

Correctness is whether the information is truthful or contains misinformation. The accuracy of the information is whether it is without grammatical or spelling errors. Remove irrelevant information from your site this may otherwise cause misunderstanding or confusion

2.2.1 Spelling and grammar
2.2.2 Updated information (contact details mail IDs help reports)
2.3 General appearance
2.3.1 Page appearance
2.3.2 Color, font size
2.3.3 Frames
2.3.4 Consistent Designs
2.3.5 Symbols and logos (localization)

User Interface

  • All about how exactly website looks like (view)
  • Basic guidelines for web User interface (Microsoft)

3.1 Verify whether screen resolution been taken in to account while using browser, will the UI resize itself as you maximize/minimize this must be tested with various screen resolutions

3.2 verify whether the number of ‘controls’ per page have been checked, generally 10 is a good number

3.3 Where there are options to choose from, user should be forced to choose from a set of radio buttons and the default should be pointing at default message (none, select one..etc)

3.4 Every dropdown box should have the first choice as NONE (it could be any other meaningful sentence such as ‘Choose one’ or ‘select’

3.5 Ensure persistency of all values, when you enter values in a form, and move on the next page and then return to change one of the previous screen .The users must not be forced to re-enter all the values once again, this must be checked and ensured

3.6 Horizontal scrolling is not preferable in general .Avoid using horizontal scroll bar Ensure that the use of vertical scroll bar is judicious

3.7 Consider the use of pagination where appropriate.

3.8 Ensure that ‘shift click’ ‘control click ‘work in list boxes, clarify these features work in both browsers

3.9 The location of buttons (OK and Cancel) should be at the right hand bottom side of a screen and consistent.

3.10 Clarify whether encryption of the password occurs from your login page all the way to the backend (the login page must not transmit clear –text password)

3.11 Illegal operations should give popup messages (message should be simple and clear)

3.12 Verify if there is a requirement to use image maps in the application (does Netscape support this well

3.13 positive popup messages should be displayed (submitted, deleted, updated, done and cleared)

3.14 Ensure that you have multiple check boxes when multiple selections is to be performed

3.15 Avoid long scrolling drop down list make it short

3.16 website URL should be small and simple

Server side Interface

4.1 Server side Interface

4.1.1 Verify that communication is done correctly, web server-application server, application server-database server and vice versa

4.1.2 Compatibility of server software, hardware, network connections

4.1.3 Database compatibility

4.1.4 External interface if any

Client side Compatibility

5.1 platforms : Check for the website compatibility with

5.1.1 Windows (95, 98, 2000, NT)
5.1.2 Unix
5.1.3 Linux
5.1.4 Macintosh (if applicable)
5.1.5 Solaris (if applicable)

5.2 Browsers

5.2.1 Internet Explorer (3.x, 4.x, 5.x)
5.2.2 Netscape Navigator (3.x, 4.x, 6.x)
5.2.3 AOL
5.2.4 Browser settings (security settings graphics, java etc..)
5.2.5 Frames and cascade style sheets
5.2.6 HTML specification
5.3 Graphics

Loading of images graphics, etc.

Security

6.1 Valid and invalid login

6.2 limits defined for the number of tries

6.3 Can it be bypassed by typing URL to a page inside directly in the browser?

6.4 verify log files are maintained to store the information for traceability

6.5 verify encryption is done correctly if SSL is used (if applicable)

6.6 No access to edit scripts on the server without authorization

Performance

7.1 Connection speed

7.1.1 Try with different connection speeds (14.4, 28.8, 56.6, ISDN, cable DSL, T1, T3)

7.2 Load

7.1.1 Perform load test as per the SLA (Service Level Agreement)

7.1.2 What is the estimated number of users per time period and how will it be divided over the period

7.1.3 Will there be peak loads and how systems react

7.1.4 Can your site handle a large amount of users requesting a certain page?

7.1.5 Is large amount of data transferred from user?

7.3 stress

7.3.1 Stress testing is done in order to actually break a site or certain features to determine how the system reacts

7.3.2 Stress tests are designed to push and test system limitations and determine whether the system recovers gracefully from crashes

Note: Hackers often stress systems by providing loads of wrong in-data until it crash and then gain access to it during start-up

7.3.3 System abnormal conditions (stress testing)

  • Less bandwidth of cable
  • Low disk memory
  • Low processor speed

7.4 Soke test

7.4.1 Is the application or certain features going to be used only during certain periods of time or will it be used continuously 24X7

7.4.2 Will downtime be allowed or is that out of the question

7.4.2 Verify that the application is able to meet the requirements and does not run out of memory or disk space

No comments: