In our increasingly on demand world, the projects that we test often have short timescales but are no less complex than they were before. If anything, with the range of browsers and mobile devices in use and the potential for what can be achieved means that the complexity of testing has increased.
Taking those aspects into account, what traits make a good website tester? These 9 areas are traits that I believe are needed and they are definitely aspects that we build into our testing at WebDepend.
Let's start with a boring one, a tester should be methodical, pretty obvious right? Whilst they do need to be methodical, do the usual tester things like clicking on all the links and visiting all the pages, which I think is generally what people think testers do, they need to go further than this, almost to be relentless in their pursuit of leaving no stone unturned. It is like being hyper-methodical or whatever an extra level of methodical would be.
For example, there are many different ways that a single web page could be tested. You could test by looking at the page and clicking on all the links. Or you could test the page in each major browser and on each major mobile device. You could switch JavaScript off and only use the keyboard to select the links. You could proof read the copy and check it for spelling and grammar mistakes. You could review the performance of the page and see how quickly (or not) it loaded into the browser. You could also make sure the code for the page complied with web standards and that accessibility guidelines had been adhered to. How closely does the page resemble the original designs that were completed? Does the CMS update all the areas of the page correctly?
You get the picture, it is like being methodical, only more so.
A tester should be someone that relishes detail. To pin down complex issues, report them effectively and ensure that everything has been tested fully and correctly requires a detailed (and methodical) approach. Without this level of detail, certain issues can get missed, specifics are not reported to developers and so bugs take longer to fix or may not be fixed.
It helps if a tester is almost obsessive or has elements of OCD about their personality, as long as it does not blinker them from finding important issues. For example, I like things to line up exactly, down to the pixel, and generally that is good for front end testing, as it helps me to spot where elements are not in line, or perhaps move out of line when hovered over.
Testing functionality in meticulous detail and being obsessive about it is where a tester can find a lot of issues, which on their own may not be a big deal but when collected together and fixed mean a better quality website.
But a tester also needs to be careful to not get bogged down in the detail. There is always a balance and whilst getting into the detail is very important, it is also vital for a tester to be able to step back, zoom out and take a view across the whole project. If the testing phase of a website build is 4 weeks then spending 3 weeks testing a small part of that build in an incredible amount of detail is not going to cut it.
The tester needs to be able to come out of the detail, review the whole situation, adjust their approach if needed and then head back down to ground level.
New technologies, new browsers, new mobile devices, new operating systems, new screen sizes, new programming languages, new techniques and new ways of doing things mean that a tester, just like any Internet professional, needs to keep up to date with what is happening, not just in the testing world but in the wider digital universe.
This knowledge isn't just for trying to score points but allows the tester to see what technologies and developments are coming up and start testing in that new browser or anticipate the new requirements around the corner. Nothing is going to stand still and so there needs to be preparations made for how to test the new version of the CMS, or moving to a new ecommerce platform, or anything else that may occur.
Projects change, all the time. The scope is constantly in a state of flux, with new features being added or others taken away, timescales can get pushed back or brought forward and a single phase project can be split into 2 or 3 phases at the drop of a hat. For some projects, the goal posts don't just shift they get moved onto an entirely different pitch.
A tester, who spends the majority of their time towards the end of a typical project lifecycle, is going to be impacted by these changes a fair amount and so being able to be flexible in their approach and mindset is very important. The ability to take the changes on board, understand the implications to the test plan or the scripts and then continue with the same amount of vigor is vital.
It stands to reason that to be extremely flexible, keep pace with everything going on whilst being relentlessly methodical and meticulously detailed but still retaining an overall view takes some organisation. A tester should be highly organised, in terms of their personal information including their tasks, time, documentation, test plans, scripts, notes, etc. plus also for their team if they have one. A tester is like a mini project manager for the testing phase of the project but they may be responsible for testing a number of projects at the same time, each at different phases of development.
Therefore, like a project manager, a website tester probably has several plates spinning at the same time and needs to combine different types of tasks during the course of a normal day or week. The more organised the tester is the better they are able to handle this workload.
Not everybody will share a tester's opinion on certain issues or the project may need to undergo some prioritisation so that several issues do not get fixed ahead of launch. On occasion, a tester needs to have a thick skin and not get upset if bugs they believed were important get downgraded to 'minor' and pushed into a post launch sprint.
Of course, every project has its frustrations and there sometimes needs to be an understanding that a project launching on time with some minor issues may be better than a project running late.
Testing is one part of any digital project, whether that is a website, mobile app, email campaign, or whatever. A tester is a member of team, as is a designer, developer, project manager, etc. even if that team is spread across several different organisations.
As somebody who has played team sports for a long time, I know that it is vital to do the best you can for the team and if you give a bad pass then don't be surprised if the rest of the team aren't so happy. Even better though is if you can give your team member a decent pass, at the right speed and just in front of them so they can run onto it without breaking stride.
This goes for testing too by raising bugs with easy to follow steps for developers to reproduce them and so fix them more quickly, learning the way that developers refer to things helps to improve understanding across the project and understanding what is important to project managers helps a tester to be proactive and adjust their priorities. By doing things like this a tester is doing their bit for the team and helping the team achieve more.
For me, anything that a tester does, can be directly traced back to the word 'quality'. Quality is a central part of being a tester and launching a project at the highest quality possible is the ultimate aim.
By carrying out testing, a tester should obviously be helping to improve the quality of the project being tested but it goes much further as, by building quality into everything they do, the output of their work is naturally of a better quality.
For example, if a tester produces a good quality test script and carries out the testing of that script in a quality manner then they stand a greater chance of finding more issues and the quality of the project being tested can be improved.
So those are 9 traits that I believe are important for a tester. Are there any traits to add to this list or any that you don't agree with?