It’s a well-known fact that the main purpose of software testing is to verify that an end-user receives a completely qualitative product build that is able to work repeatedly, without any technical and system crashes. While testing, a tester designs and executes tests from the point of view of the end-user, and this is based on the factors that can affect his/her first impression of the software.
There are 3 main factors, which you should take into account while building the software testing process:
1. Performance. You should always remember that a client wishes to reach his/her target not taking any complex and illogical steps. The software must help to solve complex and complicated tasks and interaction with its options must be based on a simple graphical interface;
2. Productivity. In order to understand the level of productivity of a website or another web product, you should ask yourself if the developed software meets the expectations of potential users or not;
3. User experience. What will be the nature of software after test completion? The qualitative one? If yes, then a user will receive a good conversion and will be satisfied with the development process, and if not, then he/she won’t be likely to ask this company for testing services in the future.
Therefore, to make the product in development completely meet all the above-mentioned requirements, a quality assurance team should perform testing on the basis of a complete checklist that looks in a next way.
Part 1 – design (graphical interface)
- Testing when a user returns to a parent screen after minimizing a child window;
- A textual structure of a website doesn’t contain any lexical or grammatical mistakes;
- A website contains a logo and a “Contact us” block;
- All buttons used on the website pages are in one shape and color;
- Checking the correctness of the fields used;
- Checking if there is enough place between the website elements or everything is located in one part;
- All pages should have a relevant title;
- Web objects should be grouped correctly;
- Fonts used on a website have a correct size and color;
- The visual interface of a Homepage of a website makes a positive or neutral impression.
After testing the mapping of all elements of a website, you can move to testing the correctness of the message send and receive forms functioning.
Part 2 – the process of SMPT testing
- The product is compatible with the most popular mail clients (for instance, Gmail and Outlook);
- The mail template used on the website contains proper CSS styles and correct HTML markup;
- All messages are sent from the SMPT server that has been correctly configured;
- A message includes the company logo;
- The website supports mail attachments;
- The website supports the messages that are in the form of “clear text”;
- Check if the function of sending a message without entering a correct address of a receiver has been tested;
- Check if the “Sender” field contains a correct syntax and can’t be left unfilled while sending a message;
- Check the possibility to simultaneously send a message to several receivers;
- Check whether the admin panel of the CMS system used for a website records all sent and received messages (the same requirement is to the list of attachments).
If a future product is targeted at several geographical regions, you should devote time to globalization and localization testing.
Part 3 – checking the software localization and globalization
- If it’s an online store, check if the correctness of price displaying with correct digits has been tested;
- All numeric values are aligned right and alphabetic values are aligned left (it depends, to some extent, on the localization);
- A user can change language versions of a website, and all text blocks should be properly translated.
Part 4 – file import
- Check the possibility to upload huge files;
- Check that all mandatory fields contain the information and files can’t be uploaded without filling of such fields;
- Check the possibility to upload the files that have no required extension into the system;
- Check if a user has a possibility to cancel the download at any stage of data downloading;
- Verify that if a data file contains special characters, it can be correctly uploaded into the system;
- Check if a user has the possibility to upload the files whose format is supported by a server into the system;
- Check if all images after having uploaded to a server contain the same size and the same quality of the content as they had before uploading.
Part 5 – export
- Check the correctness of data import;
- Check that the files that are being exported contain correct extensions;
- Check that a file name does not contain special characters after exporting;
- Check the limitation while exporting huge files;
- If 2 files that are being exported have the same name, a user should receive the notification about this;
- Check that export can be executed in different formats (for example, in Excel and in CSV) if it’s required by a client or specification.
Part 6 – testing the graphic and multimedia
- Check if the multimedia that negatively affects user experience is not added to a website;
- Check that using huge multimedia doesn’t negatively affect the speed of web page uploading;
- Check if only correct multimedia is used;
- All graphical animation is correctly and smoothly displayed on a website and does not contain visual bugs;
- All graphical objects and blocks have a positive and determined sense for users.
Part 7 – Work with the search
- Check if the notification on searching results is visible, provided that nothing has been found;
- Check if a client first sees only relevant search results;
- Check that a system can give recommendations on search if a specific request of a user found nothing;
- Check the possibility of searching on case sensitivity;
- Check if a website has the options of search filtering;
- Check if a user can sort the search results;
- Check if the search functionality is available on all pages of a website;
Part 8 – UI
- A user has no complex tasks which can be easily replaced by clear and user-friendly functionality;
- Check if a user can easily use a website or another web product if he/she never worked with it;
- Check the possibility of using user profiles that save the results of their activity;
- Check if the keyboard shortcuts have been tested;
- Check that the website content is up-to-date;
- When moving between the website pages, unnecessary windows are not opened;
- Check if a common user can understand what fields are mandatory and what – are not.
Part 9 – website performance
- Check the proper configuration that can provide a web portal with complete performance;
- Check if a user receives a notification if his requests take too much time;
- Check if a website has been tested for performance at maximum permissible system load;
- Check if the possibility to decrease the time of file uploading has been tested;
- Check the amount of time of web page uploading and if there is a possibility to decrease this time range.
Part 10 – website functionality
- If a website contains drop-down lists, users should be able to mark the values only in one of them;
- A user should be able to cancel the operation until the page will have been reloaded;
- A user has the possibility to cancel all changes he/she has previously made (filter values) ;
- Check if all actions on deleting the operations and actions are supported by the confirmation requests;
- Mandatory fields should have tooltips that indicate that they must be filled ;
- Check if the possibility to enter digits of all negative types has been tested;
- Check if the entry fields have been tested for spaces and special characters;
- Check if a user has the possibility to choose something and cancel it in case he/she simultaneously chooses several options.
Part 11 – Printing
- Check if the tests have been performed on such a use case that all texts and entry fields are thoroughly aligned and are correctly displayed on a printed document;
- A user has the possibility to print web pages in the most popular formats;
- The text is not cut during printing;
- Check how images and other media blocks are displayed.
Part 12 – Navigation block
- Website navigation means moving to the main page from any secondary page (such a possibility can be implemented with the help of breadcrumbs or a special floating button in a website footer or header);
- Check if there is navigation to a different level of a website;
- Check the correctness of work of tabulation on all available web elements;
- Check if the terminology used on a website is clear to a user;
- Check if the main functionality is available right from the main page;
- All website pages are supplied with the navigation that has been logically built.
Part 13 – testing the links
- Check if a link is correctly displayed after sharing it to a website (a link is highlighted in an active color after hovering over it);
- All elements are supported by the links that have been established in the specification;
- Mail links (in case they are established on a website) open the applications of mail agents;
- A website has no broken links and even if a user finds such URLs, the system shows a relevant notification.
Main ways of compatibility testing
Technical and logical compatibility is tested to understand that the website that is being tested is compatible with the systems, in which it will be directly used (either in terms of hardware or operating systems and extensions).
While testing a web product, you should ensure that all settings and functions of a website, its design is independent of the current technical state of the system environment.
In other words, a tester should always remember about such groups of tests:
- Testing a website inside various system architectures and environments;
- Testing that a website interacts with various security profiles of modern browsers;
- Cross-browser testing of a website on 3 popular resolutions (desktop, tablet, and mobile);
- Testing a website for system compatibility with the most popular operating systems (Linux, Windows, and MacOS);
As we can see, website testing is a huge work of searching for technical defects and bugs that should be fixed before the product will have been released.
The process of testing should be always supported by a special document (checklist) that should contain all possible tests (from complete testing of the layout to functional testing of mail servers and database).