Quality assurance is a standardised process to ensure that everything on a website looks and functions as intended.
- Test planning
- CMS functionality testing
– Standard functionality
– Site specific functionality - Front end functionality testing
- Browser testing
- Client testing.
1. Test Planning
Before the testing phase commences, the team compiles the necessary assets that define the test requirements. These assets include the original functional specification detailing all front end and back end functionality (including supported browsers and devices), the master design files and user journeys.
The user journey documents allow the test personnel to efficiently test all essential functionality following the journey expected of a typical user. A typical project has two types of user – the CMS user and the public user. Each has a unique user journey.
It is important to note that during testing, the testers will also undertake wildcard testing, whereby they intentionally perform actions not documented in the user journey to ensure that the site performs reliably under unpredictable conditions.
2. CMS Functionality Testing
The CMS functionality test is designed to ensure that all required functions of the CMS work as intended, allowing the client to edit all defined content areas and perform other necessary functions such as data exports. This phase follows the user journey of the CMS user.
The CMS testing is divided into two parts.
Standard CMS functionality testing is designed to ensure that all core functions of the WordPress CMS such as page/post publishing/editing as well as menu and widget editing.
Site specific functionality testing focusses on any CMS functionality specific to the individual site such as theme options, custom post type, custom field editing and data exports as defined in the functional specification for the site.
The intention of this phase is not to focus too much on aesthetic issues, though any design related issues identified should be noted.
3. Front End Functionality Testing
The front end functionality testing follows the user journey of the public user or typical “customer” visiting the website. Depending on the site, there may be more than one customer type defined, each with a unique user journey.
Each of these user journeys is followed to ensure that they can easily navigate the site and perform the required functions during their visit, and that all behaviour of the website is predictable and logical.
The intention of this phase is not to focus too much on aesthetic issues, though any design related issues identified should be noted.
4. Browser Testing
The design of all page templates from the master design files is compared to the site in all specified browsers and on all specified devices. Where possible, browser testing is conducted in native browsers. When this is not possible or multiple device testing is required, crossbrowsertesting.com is used to test the relevant browsers and devices.
All design issues identified are logged for the developers during this phase. The intention of this phase is to focus on design and not functionality, but if functional issues are identified (particularly browser specific issues) then these will also be reported.
5. Client Testing
This final phase of testing allows the client to test both the design and the functionality (CMS and front end) of the site. The client is encouraged to walk through the user journeys and to experience editing content in the CMS first hand, reporting any issues that they encounter to the development team.
The testing process is a continuous cycle that repeats until such time that all functional and aesthetic requirements are met satisfactorily.