QA Testing Tools
When you're testing a website, there's no reason for you to be a hero and go it alone. There's a massive array of free and paid quality assurance testing tools out there that have been built to help you with your work.
With so many instruments at your disposal, it can be hard to know where to get started. Here's a list of just some of the most useful QA testing tools, separated by the various aspects of your website that you need to test.
As the name implies, functional testing is all about checking your website's functionality, making sure that it does everything that the developers intended for it to do.
- Selenium: A free software suite designed for automated functional testing and regression testing of web applications. It allows you to control a web browser by directly communicating with it using several popular programming languages. Learn how to set up selenium here.
- Parrot QA: A tool that lets you automate bug testing via a Google Chrome browser extension. It works by recording your actions while testing and using the website. Depending on your membership plan, you can also perform cross-browser testing and load testing.
Performance testing is all about examining your website's performance under a given workload. It includes subsets such as load testing, which places the website under a specific amount of demand to find any bottlenecks, and stress testing, which tests how robust the website is and when it breaks by placing it under extreme levels of demand.
- GTMetrix: A free tool that analyzes your website's loading times and suggests ways in which you can make improvements. Additional features such as performance on mobile devices and testing from multiple regions around the world are also available.
- Apache JMeter: An open-source, cross-platform Java desktop application for load testing web application performance. It has support for various protocols, including HTTP/HTTPS, FTP, SMTP and POP3, and it generates graphs and statistics for you to inspect.
- Webserver Stress Tool: A free service that can simulate thousands of HTTP requests to test the performance of your website's server.
Although your website may fulfill its desired purpose and perform well under stress, it still needs to protect against attacks and intrusions. These tools will help your website be more secure.
- Vega: An open-source vulnerability scanner that identifies potential security flaws in your website, including common methods of attack such as SQL injection and cross-site scripting.
- Fortify WebInspect: A security solution from HP that tests web applications via dynamic analysis and replicates common hacking techniques.
Before going live, your website's code should be clean and error-free in order to prevent unorthodox and unexpected behavior. These tools will help get you there.
- Markup Validation Service: A tool from the World Wide Web Consortium (W3C) that examines HTML and XHTML documents and locates errors and potential issues. You should address any errors that it finds within the pages on your website.
- Hound: A linter tool that scans your GitHub pull requests and flags them if it encounters style violations.
Running compatibility tests ensures that your website still looks good and runs well across different browsers, operating systems and devices (including desktops, laptops, smartphones and tablets).
- Browsershots: A simple, free tool that provides screenshots of your website as it appears on different browsers running on all major operating systems. If you need results fast, you can pay to move to the head of the processing queue.
- BrowserStack: A cloud-based service that tests your website using different browsers, operating systems, and devices, without the need for virtual machines or emulators.
- Microsoft Edge Tools: A free suite of tools from Microsoft that is particularly helpful if you're concerned about how your website looks in Microsoft browsers (Internet Explorer and the new Microsoft Edge). You can generate screenshots as well as test Edge and the four newest versions of Internet Explorer using virtual machines downloaded onto your computer.