Proper Testing of a Website, or How to Sleep Peacefully

Testing is the final stage of the development of a website. It plays a vital role in creating quality software. The more complicated the site, the longer it takes to test and debug it. Unfortunately, there are many examples of developers and customers who skip the step of testing, which almost always leads to a great waste of time and money in the future. Discontentment of the users of the resource can result in the need for improvements (or a redevelopment) of the project. Depending on the project, the test can provide up to 50% of the total budget and time resources.

So how does it happen?

After majority work of code development for the project is done, a developmental quality control specialist (in other words, a "tester") receives all the necessary documentation and materials, and proceeds to the test the website. Specially developed methods have been created for providing the proper website testing.

Let’s take a look in detail as to how it works.

1) It starts with preparatory work - the tester examines the corresponding documents. They perform a functional analysis on the technical specifications, study the final layout of the site and plan further testing.

2) Functional testing - the longest stage of the project's testing. The essence of this process is to examine all the described functionalities:

· Check all required functions of the site

· Test serviceability of user forms on the site (eg, feedback system, adding of a comment to the blog, ect.)

· Check search functions (including the relevance of the results)

· Check hyperlinks, search for broken links

· Check the process of loading files to the server

· Check counters installed on the webpages

· Check that the contents of the pages on the website match the content provided by the customer

3) Makeup testing - The first step for checking makeup is checking the arrangement of all the elements. The tester checks to see if their position matches the provided layouts, as well as, checking to see if the images and graphics are optimized. Further, the tester checks the validity of the code. In the process of makeup testing, it is important to observe the correct hierarchy of objects, and it is important to verify the hierarchy's validity upon the development work's completion.

Browsers will try to display the website, even if written in the wrong code and since there is no straight regulation of how a "curve" document must be shown, each browser is trying to display the website in its own way. This, in turn, leads to the same document looking different in different browsers. Correction of obvious mistakes and systematization code usually leads to consistent results. After completing the test for validity, the expert begins to check for cross-browser compatibility, for example, the tester checks the site in different web browsers, as well as, for various screen settings.

Why is checking a website for cross-browser compatibility needed? To date, there are a number of very popular web browsers such as Google Chrome, Safari, Mozilla Firefox, Internet Explorer and Opera. Each of them follows the general recommendations of page layout visualization, but at the same time, each processes the code in accordance with the characteristics of its own engine. Everything is complicated by the fact that quite often new versions of the browsers appear, and a resource that looks good, for example, in IE9, will not necessarily appear correctly in IE7 or IE8. Therefore, in the process of testing, a list of "needed compatibility" browsers, is taken into account. This list was negotiated with the client in the early stages of the discussion of the project. The stage for cross-browser compatibility testing at different resolutions takes a fairly long time, but the result is worth it, ,making your website able to be read by any member of the target audience.

4) Usability testing - carried out to assess the convenience of use of the product, based on the involvement of actual users as a way of testing and reviewing further analysis of the results.

In spite of the fact, that an elaboration of the usability of the site is carried out in the process of compiling technical specifications and the development of models, there are cases where the result is not optimal. Although this happens very rare, the best solution in this case is to make changes to the product implementation.

Testing is carried out with about 4-6 people from the target audience. These people are called the respondents. There is a 80/20 rule, which states that 20% of the people, will give you 80% of the result, so such a number of respondents is the most effective in terms of saving time and costs.

5) Security Testing - at this stage of testing, specialists check whether users have access to service or closed pages, as well as, conduct a security check of all critical pages (for example, the administration block of the website) from external impact.

6) Performance testing of the website is used to measure the speed of the website or its parts under a certain load. Performance testing includes the following types of testing:

  • Load testing - the simplest form of performance testing. Load testing is usually carried out in order to evaluate the behavior of the site (or application) under a given expected load. This load may be, for example, the expected number of concurrent users on the website making a specified number of transactions per a certain time interval. This type of testing usually provides a response time of all the most important business functions.
  • Speed testing - checking download speed to determine the speed of working scripts downloading images and content. This test is carried out to optimize the download of the website, as well as, the determination of the optimal server settings.

Error processing

Throughout the testing phase, the specialist creates and corrects a report on identified errors. This report shall be transmitted to the project participants, and the project manager will be assigned the responsibility for correcting each of the errors (in general, part of the duties can be allocated by the tester). The next step is the determination of the graph of error correction, and thereafter re-testing for quality control of the error corrections, as well as, the lack of new errors. This procedure is repeated until the site will meet the tech specification demands. That is why testing is such a long process.

Upon completion of testing the project is ready for placing on the server and sterling work. It is ready to efficiently and steadily carry out its business function. Testing is the guarantor of peaceful sleep for both the owner and the development team who worked on the website.