Preparing tests for landing page

Some people think that it is more interesting to test web applications which have heavy and comprehensive functionality. However testers are not always assigned with such tasks. Sometimes we need to test something very simple. In such moments the professional mind that is used to work with complicated systems might miss some important quality criteria that each (even very simple) web application should possess. In today post we’ll try to elaborate a high-level test plan for quite a simple site with no significant functionality. Sometimes they call such sites landing pages.

Landing page sites are not intended for any sort of complex interaction with the user. The main idea of such sites is to get in contact with the user to pass it through a sales funnel. Thus such sites usually represent a single page with the description of what is being offered. They also may (but not necessarily) include some kind of feedback form. What tests could be relevant for such sites? Let’s see.

Testing o site perception (Look&Feel)

  • How the site looks in different browsers: FireFox, Chrome, Opera, IE, Safari. Different browsers may render some styles in different ways. Besides, some browsers may not support some styles definition at all. Also site might use JavaScript code (for example for managing animation, or some other sort of UI tasks) hence some problems might appear in that area. The code might even not show up any errors in console but just be not working from functional stand point.

  • If the favicon displayed properly at the window header.

  • If the layout preserved for the page when a user is looking through their mobile devices. If the site can detect that a user is using mobile device. Whether the styles are changed in mobile mode to make reading and navigation easier.

  • If the site contains interactive controls (buttons, forms, etc), whether the navigation using Tab key (focus change between elements) is performed in proper order.

  • If the site supports improved accessibility mode so that the propel with low vision could comfortably use it. Whether the colors are contrast enough, whether the elements are big enough. If not, whether there is a dedicated switch that enables accessibility mode.

  • If it is comfortable to use the site from touch screen device. Are the interactive elements are big enough for fingers, if it is comfortable to perform actions like drag-n-drop (if they are supported by UI), if it is comfortable to select text parts. Test that the UI events are dispatched to the proper UI controls. For example if you zoom in the map on the page, then the only map is zoomed (not the entire page).

  • Check if errors messages (like 404 or 500 error code) are returned from the server as the styled pages.

Testing integration with external services

  • If your site is integrated with social media resources, check if Share button works properly

  • Check if the links to outside are not obsolete and not corrupted

  • Check integration with payment services if needed

  • Check integration with web-analytics services if needed

  • Check integration with advertisement services if needed

  • Sometimes sites embed UI controls from the external sources (like maps, ccy rates, whether, etc.) Such controls are often called widgets. Vendors of such widgets supply the data on subscription terms, so site developer (and then the tester) should ensure that they use proper subscription key when the widget sends the request for the data. This might also be the subject for tester’s attention.

Security testing

  • If your site contains some input data forms, test if they have relevant restrictions configured.

  • Check you forms for OWASP Top 10 vulnerabilities.

  • Check if server correctly treats the data received from the client. You may pretend being a client or an attacker and send any data to the server you want using pure HTTP protocol. UI restrictions are more for the users convenience. They do not assure any level of web threats protection. So all UI restriction have to be repeated on server side.

Performance testing

  • Check how does the site perform under over-typical load. Check over-spiked load, check endurance under over-typical load and endurance under spiked load. Mind the dynamics of server resources in order to estimate if your site would handle growing popularity.

  • It is worth loading your application with intentionally incorrect requests for all the load scenarios described above.

SEO compliance testing

Despite search engine optimization is the task for the people with certain level of proficiency, we need to check if our site complies the minimal set of the most known SEO conventions and practices.

  • For example if the file robots.txt is available for the user agents. Check also that the information inside robots.txt conforms the expected syntax. Check that the file hides the URLs which should not be indexed by web crawlers.

  • Check that sitemap.xml file is available for web search crawlers. Check that it is properly formed xml file and that links inside that file lead to the proper resources.

  • Check that site pages contain Keywords and Description meta tags in page’s <head> section.

  • Check that there is proper value in <title> section of the pages

  • Check that the images on the site are supplied with alt attribute with meaningful value

Other tests

  • Check browser console (Network section) for failed requests. Failed requests mean that not all the resources which are used by the pages are loaded.

  • Check browser console for JavaScript errors (for all the supported browsers).

  • Check if all the required cookies are pushed to your client (for example that might be cookies in flash scope, or session cookie)

So, in the above list I tried to reflect the most common cases in landing page sites testing. Mentioned points, of course, might be extended for you particular case, or on the contrary not be applicable to your case. If you still have the questions, feel free to ask them using feedback form. I’ll try to amend the post with the missed information.