Public Website Testing
A Public Website for any business is very important. For most of the business , these websites are the face of their service or product they promote or market. Business use their public website to attract more users in order to gain and stay ahead of their competitors. With huge competition across the global for the similar product or services, one who first reaches the users and provides seamless information across different platforms (Web, Mobile etc) will be benefitted.
One important difference between internal website and public website is the availability across different platform. Normally organizations have standardized infrastructure for their employees, i.e., entire organization will be using same operating system and web browsers. Also, their internal application or website when developed focus on the organization standards and align to existing or future road map infrastructure. Their objective might not consider have these internal website to work seamlessly with different operating system or browsers or devices.
Public website are different. An organization can predict what its potential customer will need. They will have all those content place in their website but cannot predict how their potential customer will access the website. If the website is not available or does give a happy browsing affect across different platform, the customer will start looking for alternative.
So, quality assurance of these public websites are very important. There is broad scope for testing when considering the fact that one cannot predict the type of user or the means by which they are attempting to access these websites.
Below are the important aspects that should be considered by testing a public website (List is not exhausting)
Functionality
Any functionality should be thoroughly tested and regression testing should be performed if there is any change to any existing functionality. This is a basic thing that a tester is expected to do.
Usability​
Usability plays major role in engaging users and resulting happy browsing. User would wish to browse on website that is pleasant to eyes, easy to navigate and gives the same experience across different platform. Some features will not be documented anywhere but user expects those. For example, clicking on logo image present anywhere on the website should navigate to home page.
Another important item to be considered while verifying usability is to check the possibility to engage user and keep user continue browsing the website long period of time. For example, clicking any third party link or micro blog URL on the original website may take user to new page on the same browser (leaving from the original website). Sometimes user may be return back to original website. One alternative to avoid is to have new URL (third party or other domain) to open in new browser tab.
Responsiveness of the page
With most of the websites being developed to work both on web browser and mobile browser, it is important to ensure the responsiveness of the page. Responsiveness of the page means how the website adjusts based the size of the device. Simulators can be used to verify responsiveness of the web page on different screen size.
Performance
If a user is not allowed to get information quickly enough then there is trouble. Response time of the website plays major role in achieving happy user experience. Generally, public website will have huge number of concurrent users so load testing of website will determine how the website behaves with different user load.
Stress testing also need to performed to understand the breaking point of the website and have a back-up or fail over mechanism in place.
This is applicable for both web browser and mobile browsers.
Availability
Websites are expected to be available all the time to the users. Sometime while deploying changes to production website, there might be chances on non-availability of the website. Many websites uses content delivery network (CDN) services (Eg: Akamai) to host their content.
Testing the website through CDN URL when backend web servers are down for some deployed is in progress will help understanding and identify defects related to integration with CDN and website availability during down time.
Cache & Cookie
There are two type of caching for website; Application cache and Browser cache. Testing website with and without cache is also important. Some third party services (analytics services or commenting software's) creates cookie when website is launched on the browser. Cookie feature also have to be tested
Error in Browser console
Checking the browser console for errors is a good thing. Some time console might not show up in the website but it may have aftereffect when some new feature is implemented​
Consistent UI experience across browsers
Website should work consistently and have give same user experience across all normally used web browsers (Chrome, Firefox, Internet Explorer, Safari so on).
Consistent across different operating system​
User may be using different operating systems (like Windows, Linux, Mac so on) so access website on browser from different operating system is known possibility. For the reason, website need to tested on different operating system.
Cross platform testing become highly exhaustive when tested manually. This is where test automation will benefit. Automation test suite that works on cross platform will reduce manual efforts in achieving consistency cross platform (Operating system and Browsers)
Consistent on devices
In current competitive world, user will try to access information over website using handheld devices (Mobiles, Tabs etc.). Website has to be tested across different mobile OS and mobile browsers. Also, only devices features like touch, swipe and tap should be tested.
With nearly innumerable devices in market with different mobile OS and browser, performing testing on different real mobile devices manually not only takes huge efforts but also involve high cost to secure different real mobile devices.
Good mobile testing strategy that will save time and cost would be to use combination of real devices, emulator, simulator and cloud devices.
Broken links
Normally, website contains many links that points to some other page of the website or to other third party website etc. With contents (with links) on website expected to change, there is high possibility to have broken links. So, broken links should be tested.
Automating the broken link testing is the best way to achieve maximum coverage. This can be achieve by using simple Excel vba macro or using Selenium or any other automation tool.
Web Analytics feature
Web analytics are also important to be tested. Web analytics tool helps in measurement, collection and reporting web data for purpose of understanding and optimizing web usage. This data help in identifying the user interest and optimizing the web page to attract more users.
Test have to be performed to verify that when an user browses the page where web analytics is enabled cookie are created and page information is recorded in the web analytics tool.
CMS
Many website have web content managed using Content management system (CMS). It is important to verify how content published from CMS appears on the website.
Content of web page are managed by specialized content agency. But, it is worth to spend some time to verify the appearance and alignment of content on the web page.
Text, video and pictures in content can be verified for clarity.
Globalisation testing
Website supporting multiple languages should be tested for Internationalization if all the required attributes are externalised and for Localization with the supported languages.