Centre For Design, eZ Publish Case Study - Testing

Leaving testing until the end of the project is usually a bad idea, because making changes at that stage is far more time consuming and expensive. We perform testing as a part of each stage of the project to minimize the chance of things going wrong later. Requirements We tested the requirements by reviewing them with the client and then with other staff within the organization that published content on the existing site. Different people may have different issues that their manager might not be aware of. Talking to more than one person gave us a more rounded and complete view. We then thoroughly analyzed the existing site to ensure that the functionality set out in the requirements would cover all of the content the client currently published. Specifications Normally a specification document is quite technical and difficult for clients to review. We ensured that the specification document had the visual representations such as wireframes as well as technical details, so that the client was able to understand and provide meaningful feedback. We also got examples of real content and used them as a part of the specification. Using dummy data or made-up examples increases risk. With real examples we were able to pick up issues such as long titles for content and made sure that the datatypes we applied were correct. Implementation The majority of the testing was done with the HTML prototype to ensure that it not only accommodated the information design, but also worked in the required browsers and operating systems for the specified screen resolutions (discussed in the HTML Prototype section). Functional Testing Once the site was finished, it was simply a matter of going through every element of the site entering several examples of each content type into the system and cross checking against the HTML prototype to make sure that the CMS produced exactly what the client expected. As the HTML used to create the prototype was the same HTML used to create the templates in the CMS and that had already been tested, we minimized the risk of errors. Content Population This is the final test of correctness and functionality. After the training sessions, we provided the client with access to the site for content population. During this phase, we used a web-based issue tracking system (Mantis) so that the client could record any issues that arose during content population. Before putting the site live, we ensured that all the issues were resolved.