Tuesday, May 5, 2009

Website Requirement Gathering Checklist

Website has become an important part in todays world whether its for online shopping,Booking Tickets,Registering yourself etc.
And we all know that first impression is the last impression same is applicable for your website as well.So here i am jotting down some points which a developer should take care while development and QA should take care while testing...


GENERAL

-Application developed should meet the requirement
-It should return correct result on perform of a action
-It should incorporate all the features and the functions expected
-Application should be easy to learn and use
-Application built should be responsive, helpful, accurate
-It should be accurate and trustworthy
-It should be easy to modify
-Introducing new features should not break the old functionalities
-Application developed should be in compliance with coding standards
-Code should be reusable
-System should be quickly and easily installed on a variety of platforms by a variety of users
-Information should be easily retrievable


USABILITY,INTERFACE AND NAVIGATION

-It should support concurrent users
-Response time should be less
-Instruction for the use of website should be properly documented
-Terminology used should be understandable for all of the site’s intended users
-Navigation bar should be present on every screen and its position should be fixed
-Navigation through text or without mouse should be allowed(depending on requirement)
-Tabbing should work consistently, in a uniform mannerThere should be a link to home on every single page
-Page layout should be consistent across pages
-Images used should add value to page and should not take much of bandwidth
-If Graphics are used then it should make most efficient use of file size
-If the text occupies more space then provided then it should wrap properly
-All referenced web sites or email addresses should be hyperlinked
-Hyperlinks should follow coloring standards
-Site should look the same on different resolutions
-Font should not be too small or too large to read
-Text and messages should be properly aligned
-Printing of page should show all the contents properly as shown in the screen
-All hyperlinks should work(It should not be broken or lead to orphan pages)
-Navigating Back or Forward or postback should not open a new page and should display the desired content
-Desired location should be reachable with 3 or less clicks from the Home Page
-Layout of Form or Table should be correct
-There should not be any broken links or orphan pages
-Contact information for the site owner should be readily visible and available(name, telephone number, email address, mailing address, fax number)
-Bookmarking a page should mark the page with a meaningful name
-Site’s Web address should appear in the History list if the user allows for historical page(depending on requirement)
-Status bar on each Web page should accurately reflect the progress of page loading, information, etc.
-All the pages should have a title
-All the control should have unique id

TABLES

-It should not require much of scrolling
-Printout of table should appear correctly
-Columns should be wide enough so that text doesn’t have to wrap up in every column

FRAMES

-Website should handle browser which do not support frames
-Frames should get resized automatically and appropriately
-Scrollbar should appear if required
-Search engine should be able to find content within the frames(depending on requirement)
-Frame borders should look right
-Refreshing of Frames should not create problems

DATA VERIFICATION

-Privacy Policy should be clearly defined and available for user access
-Stored data accuracy should be sustained
-Data should be verified at workstation, server
-Data entered by the user on the workstation is should yield the right information on the server
-Entering the same information multiple times should be prevented (order forms, free samples, etc.)
-Unique identifier should be assigned to each user entering form data
-Data that is requested of the user should be essential to the process for which it is requested. For example do you need a user’s date of birth in order to process his book order or are you are simply asking for too much user information?
-Numeric fields should not allow text
-User should be able to use wildcard for searches
-Spaces and blank values should not be allowed in fields which are required
-System should accept long string wherever required
-Fields for entering text should have a maximum limit defined
-Initial values of checkboxes and radio buttons should be set depending on requirement
-User should be able to select only one radio button in a group
-Checkboxes should trigger the desired event
-Users should be prevented from entering HTML code in form fields
-Intelligent error handling should be built into your data verification.i.e.,. If Date of Birth is a required field MM/DD/YYYY, it is unlikely that the person entering the data was born in 1857.

EXTERNAL INTERFACES

-System should interface correctly with related external systems
-All supported browsers should be tested
-All error conditions related to external interfaces should be tested when external application is unavailable or server inaccessible
-All external applications that may be launched from within the Web site should be tested

INTERNAL INTERFACES

-Website should support users who cannot perform downloads
-Website should work with firewalls(depending on requirement)
-If the site uses plug-ins, site should be usable even without it. And also it should support plug-in at various modems and PC speeds and browsers
-All versions of plug-ins work together
-All linked documents should be supported/opened on all platforms (i.e. can Microsoft Word be opened on Solaris)
-Site should not lose usability, if Java is not enabled
-Failures should be handled if there are errors in download
-Download of Signed ActiveX Controls and Unsigned ActiveX Controls should be possible depending on requirement
-Initializing and scripting ActiveX controls should be marked as safe depending on requirement
-Can you Script ActiveX controls marked safe for scripting
-Solution should work fine even after cookies is disabled
-Solution should support users across multiple sites/domains
-Copy/paste functionality should be enabled or disabled depending on type of page
-Unencrypted form data should be submitted if it is designed so
-Site should allow paste operations via scripts depending on requirement

BROWSERS – IE, Netscape, AOL, Mac, etc.

-HTML version being used should be compatible with appropriate browser versions
-Java Code/Scripts should be usable by the browsers under test
-Images should get displayed correctly with browsers under test
-Security Settings/Risks should be checked as they relate to each browser
-Digital certificates should be verified across multiple browsers
-Plug-ins should work with the browsers in which testing is performed in the site
-Source code should not be viewable to all users
-Printing site’s content should show same content and format across different browsers
-Content Size on Infrastructure should not have much impact(reliability, consistency)
-Color codes – visual presentation should remain same across browsers
-Mouse vs. Key Strokes should be tested within various browsers
-Disabling of cookies, ActiveX control should be handled properly
-Animated GIFs should be tested across browsers

COOKIES

-Information stored in cookies should be verified
-Cookie information should be encrypted
-Cooking information should get incremented properly
-Cookies should not be editable for the users
-Site functionality should work the same after deletion of cookies
-Cookie information should be correct and valid for the user accessing the site

LOAD/CONCURRENT USAGE

-System should meet its goals for response time, throughput, and availability
-System should be able to handle extreme or stressful loads
-System should be able to continue operating correctly over time without failure
-System should operate in the same way across different computer and network
-configurations, platforms and environments, with different mixes of other applications
-Monitoring of CPU usage, response time, disk space, memory utilization and leaks should be done
-Standards should be defined for response time (i.e. all screens should paint within 10seconds)?
-Firewall, Certificate, Service Provider and Customer Network impact should be verified
-Page loading performance should be acceptable over modems of different speed
-Site should be able to sustain long periods of continuous usage by 1 user or multiple users or short period at high volume
-Site should be able to sustain large transactions without crashing
-Site should allow large orders without locking out inventory if the transaction is invalid

ERROR HANDLING

-Automatic error detection and recovery mechanisms should be built in to try to keep the system operating
-In case of system crash, re-start and recovery mechanisms should be efficient and reliable
-Leaving of the site in the middle of a task should be cancelled or continued depending on requirement
-On losing Internet connection transactions should get cancelled
-Interruptions in file transfer should be handled
-Browser crashes should be handled
-Network failures between Web site and application servers should be handled as desired
-When database server is inaccessible it should not allow operations like retrieval or updating of data into database
-Application should notify the user of transaction status
-Site should include 24 x 7 monitoring of performance
-Email protocol/limitations of monitoring software – MAPI
-Timing – continual, hourly, daily, weekly
-Hardware limitations – does the monitoring software have to run on a dedicated
machine?
-Memory – leaks, cache, issues of resulting from continual running

Network Impacts

-Have you considered 32-bit vs. 64-bit versions of IP?
-Have you tested the impact of Secure Proxy Server?

SECURITY

-System should be Confidentiality/user privacy protected
-Site should perform authentication if required and should ask for username and password at desired pages
-Digital Certificates should be present both at server and client depending on requirement
-If encryption is done then we should verify where the encryption begins and ends
-Concurrent log-on should be permitted depending on requirement
-Time-outs due to inactivity should be handled
-Bookmarking should disabled on secure pages depending on requirement
-Key/lock display on status bar should be displayed for secure pages
-Right Click, View Source should be disabled for secure pages
-Doing direct searches by editing content in the URL should not be allowed if it requires authentication
-While using Digital Certificates, test the browser Cache by enrolling for the Certificate and completing all of the required security information. After completing the application and installation of the certificate, try using the '<--' Backspace key to see if that security information is still residing in Cache. If it is, then any user could walk up to the PC and access highly sensitive Digital Certificate security information.
-Users should know when they are entering or leaving secure portions of your site
-Server should lock out an individual who has tried to access your site multiple times with Invalid login/password information



Hope this post helps you to make your website better:)...

1 comment: