With any application that we test, we are trying to see if a certain set of requirements are met by the application or not. But when it comes to a user-facing site, apart from concentrating on functionality, we also have to look into few the usability features, may be performance and security aspects also to a certain extent.
The first level of testing is – Does the site satisfy its functional requirements.
Example: if it is a loan management site, we need to look at – are the new customer able to apply for a loan, are the existing customer able to access their loan info, is the interest % applied to the loan amount correct, etc.
The next level of testing is – how easy is it to use the site, do the options make a logical sense and meet the expectations of the user or not.
For example, if the user has to be pass 3-4 screens to submit the basic information they are going to be annoyed, so such issues have to be addressed.
Another example, after entering username and password, the user might click on tab- which means the control should go to “Sign in” button, instead if it’s going to cancel, the user is going to be really annoyed and the experience of using the site is going to be compromised. Such issues have to be caught.
Performance testing to the complete extent might not be in scope but simple situations like, how long does the search results take to be displayed and how much time does it take for the system to retrieve a customer info at the peak hour – these are some example of the kind of things we would want to keep an eye on.
Security – for sites where there is a secure login to access the site, the minimum functionality around it has to be tested. For example, if I leave the site idle for more than 10 minutes, is it auto logging out or not. Something as basic as that should be focused on.