Unfortunately, there is no such thing as a “build website” button, and the Bam Creative team aren’t robots, so when we develop products we are prone to some human error.
The Bam Creative team as a whole are pretty fantastic, but we aren’t perfect. We’ve made some pretty awesome stuff, but deep down we are all just messy, flawed, unorganized, chaotic humans who make mistakes sometimes. But that’s okay! So is everyone else! That’s why testing is such an important part of our development process.
The value of testing and iteration has been ingrained into our processes since the very beginning. We pride ourselves on delivering a high standard quality of work, and that never can be achieved on the first try. We strive to be ethical and deliver to the standard our clients expect of us, and a way to ensure that is to go through quality assurance methods such as testing.
Our Testing Process
Our testing process has been honed over the years, and is constantly evolving even to this day. We have a set of guidelines and checklists that a website must satisfy before we will launch it. Here’s some of our considerations and what we test for when ensuring quality assurance.
Firstly, it’s important to note that the development team rarely does the final test. It benefits to have a fresh pair of eyes looking over the work and noting any issues that may have been missed. That’s why we usually get someone who wasn’t involved in the project development to run through final testing. This can be helpful for identifying issues in the flow of your website, or checking if certain functionality is intuitive.
When we develop a website, we know it’s functionality inside and out. Due to optimism and cognitive bias, we run through forms or user flows in ways that we know will work. When someone new checks it over, they may have a hard time figuring out how their supposed to navigate the feature and get issues that the development team had never encountered before. The tester will go through and create a list of issue and bugs that need addressing, which is submitted back to the development team for further refinement. Here are some common issues that come up in testing, and how we solve them.
Common Issues in Testing
As aforementioned, websites have a lot of components that come together. An example of this is websites with multiple pages. Let’s say you create a page, and add a link to a second page. Somewhere along the lines your linked page title changes, so in order to maintain consistency you change the pages’ URL slug as well (for good SEO practices, of course). Suddenly your original link is broken and takes your users to a confusing 404 page. Broken links like this are a very common issue that gets discovered in testing.
There are some great link checker tools available online. At Bam Creative, we use Xenu Link Checker and Integrity for Mac. These tools crawl your website for links that lead to 404 pages and produce a report for you to find and fix these broken links. Checking your links is a very easy thing to do, and can vastly improve your user’s experience on your website, as well as help with search engine optimisation.
Another large portion of our testing is dedicated to ensuring that our code is validated to the W3C web standards. Generally, browsers do an okay job at rendering invalid code, but in some cases, errors can cause some serious layout problems.
No two browsers render code the same, and that goes for errors too. It’s important to ensure your work is being rendered by browsers the best it can be. Having valid code is the first step towards making the browsers job easier. We use W3C Markup Validation Service to validate HTML, and W3C CSS Validation Service to validate CSS.
Cross browser and platform testing is crucial to ensuring that your users have a consistent experience on whichever device that they use. We have a number of mobile and tablet devices in the office that we test with. We also test across operating systems and major browsers including Internet Explorer, Edge, Firefox, Chrome, and Safari.
Another thing we test for is accessibility. We value accessibility as a default standard because it’s beneficial for everyone, not just those with impairment or disability. When creating a website, we want the most amount of people possible to be able to use it without issue regardless of their ability. Depending on the needs of the client, we usually aim to meet at least AA WCAG standards for accessibility.
An important feature of accessibility testing is ensuring that the colours used meet a minimum contrast ratio. The standard minimum contrast ratio is 7:1, and ensures that people with low visibility or colour blindness are able to distinguish foreground elements from background elements. Sometimes this can be difficult to achieve due to strict branding guidelines, which is why it’s beneficial to consider accessibility at all stages of a project.
There are some great accessibility tools online, such as contrastchecker.com that allows you to input two colour and see if they meet contrast ratio standards for A, AA, and AAA WCAG. It also checks for brightness, and colour difference relevant to those with colour blindness. WAVE is another great tool for getting an idea of how well your website meets accessibility standard guidelines. It also provides advice on how to improve your site to better meet the different needs of your audience.
Having our work tested and receiving constructive criticism doesn’t only improve the product in the end, but also helps us grow our skills as a team and as individuals. We bring the learnings from previous projects into new ones which helps us improve and build greater things.
Our primary goal as a company has always been to deliver the best product possible to our clients. With quality assurance measures such as testing we are able to meet that goal. We get satisfaction in producing a high quality product, and our clients can rest assured knowing that their investment was built to a high standard. We get no joy from putting sub-par work out into the world, so that is why we always test our work before launching it.