Testing various systems and applications can be challenging, given the variety of different approaches available. For example, functionality testing can be manual or automated; design testing (using a styleguide, or CSS for example) relies heavily on visual accuracy in terms of fonts, colours and spacing; cross-browser/device testing needs devices and/or emulators; load testing may require specialist tools and external software…
The types of testing that will need to be executed in each case will vary depending on the project and its requirements – sometimes a tester will need to carry out all of these tests, sometimes only a select few. Obviously, though, there are certain mandatory tests executed as standard, as well as those crucial checks that have to be carried out on documentation and other areas of process throughout the course of a project.
So, no matter what testing approaches are used, testers should always be looking at ways to be more efficient, as this will impact not just how they use their own time, but also the development team’s time. As part of an Agile process in particular quick bug reporting is essential, as fast feedback loops are necessary to enable fixes to be made quickly. However, quality is also a top priority and it’s important to ensure that efficiencies don’t affect the quality of outputs, even as time constraints put pressure on development teams and the tester – especially if they have to cover many different types of testing in various combinations.
Luckily, there are a great deal of free tools and resources available to help testers carry out their roles effectively and efficiently, supporting the creation of bug reports as well as helping the developer debug and fix issues. There will likely be some overlap between these, and the ones you use will depend on personal preference, but here are some of my favourites…
Chrome is a great web browser, with many extremely useful tools and extensions including:
There are also a number of design/styleguide-related testing extensions, such as:
Many browsers also contain excellent developer tools that allow both developers and testers to view code. Chrome DevTools is my preferred choice, but it is entirely up to you which option you go for, as Safari, Firefox and IE all have these kind of tools (indeed, a tester may well have to use all of them at some point). They are a brilliant way of testing an array of different aspects of code such as headers, cookies and responses, while also reviewing JS errors, clearing the cache (as essential a routine as breathing when you are a tester!), and also offer an alternative means of checking font sizes, colours etc. to Chrome extensions or other tools. Chrome DevTools also has a device emulator that comes in extremely handy when testing screen sizes for responsive designs.
Firefox also offers Firebug, a great browser extension that allows you to look at individual elements of a page and check code – essentially functioning as a DevTools extension itself.
BrowserStack (as mentioned above) is a great web application that allows the tester to view pages across all browsers and devices via emulators. While emulators are a never a full representation of the real browser/device (particularly device), they can give a good indication and feel for how something will look.
Ghostlab is another programme we use at Box UK, to allow us to remotely control multiple devices at once, which has enabled us to speed up our cross-browser testing. Box UK tester Ian Newman wrote an excellent article on multi-platform testing, which goes into more detail in this area.
As covered in this great Box UK blog post by Sophie Hayden, load testing is important to determine how much stress your site can handle. Software tools such as Load Impact stress-test URLs against different variables and parameters; many of these offer free versions and trials, but paid subscriptions generally give you more credits and so allow you to test in more depth.
Automation is an obvious way in which testing can be sped up. Selenium is an excellent tool here, allowing you to easily write and automate tests for your software. Used in Firefox, you can create whole regression suites to check regular functionality, and particularly areas where it might take a long time to test manually. Testers can then carry out other important testing duties while these are running, such as exploratory testing or the manual testing of areas that cannot necessarily be automated.
Screenshots are essential for bug reporting, but while they can easily be taken using shortcuts often a screenshot alone is not much help for the developer fixing the problem – they need to be given context. This can add time to your testing, so you need a quick and easy tool that allows you to do this. We use Snagit, which is a powerful yet simple screen capture tool that allows you to document your issues with annotations, notes and various other visuals to provide further information. You can even hook it up to mobile devices by scanning QR codes, to make device-specific screengrabs easily available.
Additionally, sometimes a screenshot, no matter how well-noted, will still not ‘show the issue’ properly. In these cases, a video clip may be required. Snagit also offer this functionality, allowing you to record your screen, and even provide a commentary to explain the problem if needed.
Not necessarily always specifically testing-related, we’re also heavy users of Google Drive and documentation wiki software called Confluence to maintain information banks on projects and general team process, etc. Our Confluence wiki pages contain testing information for other members of the testing team; these are great as they provide a single point of reference and also emphasise the importance of team collaboration and the sharing of knowledge.
Of course, when it comes to testing tools this is just a starting point. There are many more out there to aid the tester in carrying out their role – and we’d love to hear any suggestions you may have for your own personal favourites. Additionally, at Box UK we’re always exploring new tools and techniques so be sure to check back here regularly, and to find out more about our specific approach and accreditations, visit the Software Testing section of our site.