Software Quality Assurance (SQA), which includes testing, is a critical part of software development and maintenance. While some software publishers are content with allowing end-users to discover and report bugs (crowdsourced testing), most companies probably prefer to capture and fix bugs before they’re public.
To accomplish the latter means either having a team of testers and SQA engineers, or to delegate the roles to the software development team. Either way, software testing and quality assurance typically requires a large number of tools and techniques. While testing usually falls to a tester/ test engineer, the designing and maintenance of test cases, writing necessary testing code and all the meta-work usually falls to a team lead such as an SQA engineer.
To help build a software quality assurance and testing toolbox, here is a list of tips, tools, tutorials, blogs, services, and miscellaneous other resources. This is by no means meant to be comprehensive. With hundreds of thousands of potential tools, that’s not possible. Instead, we’ve filtered through several hundred resources to produce this list, which is presented in five sections:
- FAQs, Tips, Tutorials;
- Web and Mobile Testing Tips, Techniques and Tools;
- Software Tools for Testing/SQA;
- Forums, Communities, Services, Miscellaneous.
The entries in most of the sections typically refer to a single resource. However, the fourth section presents a set of mini-resource lists with between 7-12 items per list. We felt that this was the simplest way to present as many resources as possible. We’ve tried to cover a range of functionality and topics related to testing/SQA. What you choose for your testing/SQA toolbox depends on the type of software and the platform(s). The majority of resources presented are free or freemium, with a small selection of paid-only products/ services.
There are hundreds of blogs that either focus on or touch up on software quality assurance issues. Instead of presenting an outdated list, we’ve filtered through nearly 200 blogs using two different sets of ranking mechanisms and produced a top-ten list, below, after some manual curation for factors such as recency and frequency of posting.
This is Google’s blog about all things related to testing, complete with code snippets, diagrams explaining processes and systems, conference announcements and call for proposals and more. Additional recent posts include:
- Multi-Repository Development, which discusses best practices for managing multiple software library dependencies in a project, and the best way to update them.
- Just Say No to More End-to-End Tests, about the positives and negatives of end-to-end testing.
- Android UI Automated Testing covers four strategies for testing user interfaces for Android apps.
Software Testing Help offers valuable posts on software testing in general, including spending test time efficiently, tools and tips to improve manual testing, test management tools, career tips for job interviews, expectations from a team lead, thinking like an end user and more. Additional recent posts include:
- How to Improve Test Case Efficiency, which provides an indepth set of best-practices and steps for improving both testing and software development.
- How to Improve the Test Release Process for Successful Bug Free Software to Production is another in-depth post where the title says it all.
- The Definitive Guide to Crowdsourced Testing (for Testers and Companies) covers in detail some best practices for using outside people for software testing.
The site also has a very informative post with 20 tips for testing any type of application, a list of test management tools, a list of performance testing tools, and a beginner’s guide to mobile application testing.
3. Gojko Adzic
Gojko Adzic, author of several books (one award-winning) about software testing, blogs here about software in general, including testing and related topics. Adzic has also created a Chrome Web browser extension, Bug Magnet, a reference for “common problematic edge cases.” Recent posts include:
- To improve testing, snoop on the competition
- How to get the most out of Given-When-Then
- Introducing Bug Magnet – an exploratory testing helper
Agile Testing blog goes beyond just testing to include posts about deploying monitoring tools, setting up an Amazon EC2 instance, logging, and other supporting actions related to SQA. Additional recent posts include:
- Automatically launching and configuring an EC2 instance with ansible, which goes through some steps for setting up an Amazon EC2 instance
- Deploying monitoring tools with ansible covers setting up various tools for application performance monitoring.
- Triggering Jenkins jobs remotely via git post-commit hooks talks about how to run a Jenkins session for code testing or deployment, etc., remotely using curl, Github and other tools.
If you’ve been an SQA engineer or tester for any length of time, you know that the work can induce a roller coaster of emotion at times. DevelopSense waxes philosophic and provides some deep insight about the emotions, departmental relationships and politics that are associated with SQA. Recent posts include:
- Defective Detection Effectiveness, which discusses an SQA manager’s role, as well as metrics that have no value.
- On Green, which discusses the mindset of a testing team or individual when a test checks “green” — a followup to the post, On Red.
- What Is A Tester? , which reviews some of the different roles software testers essentially fulfill.
Software Testing Club’s member-written blog covers a spectrum of topics on SQA, ranging from testing tips to informative posts on the variety of skills that are valuable for software testing to best practices of combining multiple software tools including Cucumber, Recent posts include:
- Can Government IT Projects Be Done Using Agile?
- Why Managers Also Need To Be Effective Coaches
- How to Lead Your Team to Automation Testing Success
The main site also offers a forum, events listings (e.g., conferences, workshops), a newsletter, links to videos about software testing and more.
Ministry of Testing is a sister site of Software Testing Club (above). The multi-author blog covers tips and insight about topics such as an overview of ways testers learn their techniques (and whether certification has any value), how to submit for talks and workshops, surviving a the first year as a software tester, and using user stories as “a negotiation between problems and solutions. The main site also has testing resource links, event listings, an additional set of member-written blog posts (Testing Feeds), jobs listings and more.
Despite the misleading title, this is a blog that covers SQA issues, scenarios, tools, etc. — sometimes in brief, sometimes indepth. The blog has a recent three-part series of posts that extensively cover sample test cases and scenarios for several categories: Web, desktop, general scenarios, GUI and usability testing (filtering criteria, result grids, app windows), databases, image upload functionality, email sending, Excel export functionality, performance testing and security testing, These time-saving sample tests can be used as a skeleton to develop your own test case sets. Additional recent posts include:
- Root Cause Analysis – Activity & Outcome
- What you can’t measure, you can’t control
- Various Types of Testing
PractiTest’s QA Intelligence blog covers testing and QA management topics. The posts regularly look at best practices, tips on improving team morale, how to be a better tester, and related issues. Recent posts include:
- 4 Reasons Bugs Are Missed and its followup, 4 More Reasons Bugs are Missed
- Stop testing and start doing your job!
- Decision Driven Test Management – 6 tips to improve the value of your testing
The Testing 101 page allows readers to sign up for email alerts of posts and also has a set of links for posts to start with for categories such as bug reporting and tracking; test planning and management; personal and professional skills. PractiTest also runs a yearly State of Testing survey and publishes the report free.
10. Curious Tester
Curious Tester blog covers testing related to UX, mobile, eCommerce and other categories — with a strong emphasis on user experience (UX), even from the wireframe stage. Some other topics covered: heuristic evaluation, tips on testing user experience, competitor analysis and associated testing, Android decompilation testing, managing crowdtesting.
Recent posts include:
- Wireframes Testing – Part I, which offers suggestions on how to test wireframes for mobile and Web apps, and lists several wireframing tools.
- Recruiting Users for User Testing provides a sample questionnaire to use to when looking for suitable users.
- Here’s what you did wrong – Recoverability Testing and UX Connection discusses how the user experience can be improved by allow users to recover from errors, as well as the testing that accompanies this sort of software development.
FAQs, Tips, Tutorials
If you had to pick just one software quality assurance resource, it might have to be SoftwareQATest.com. The site has a 3-part FAQ (Frequently Asked Questions) with dozens of questions about SQA and testing, with indepth answers. It also has a list of resources, tools/ Web tools, relevant books, jobs and more. The tools listed number over 600 and fall into over a dozen categories, including load and performance test tools, link checkers, HTML validators, code for validating and checking (in perl and C), Java test tools, several categories of Web test and site management tools, mobile test tools and more.
StickyMinds is an online community that covers the entire SDLC (software development lifecycle), including SQA topics. The site has a Q&A section; a topic index; a list of resources that includes articles, a magazine, a books guide, tools; event listing, jobs and more. Other features include interviews with industry insiders, and a get-started list of articles for people new to testing.
The StackExchange collection of sites are a valuable reference for any software developer, tester or QA engineer. In particular, the Software Quality Assurance & Testing site (currently in beta), focuses on topics specifically about testing and SQA. Questions by site members (joining is free) are tagged with suitable sub-topics — e.g., automated-testing, quality-center, selenium, webdriver, test-management, etc. — that can be individually subscribed to (in the form of regularly delivered email message) to make it easier to find answers to your SQA questions. Members often share tools and techniques, and if you truly cannot find a previously asked question similar to yours, you can add your detailed question. While it is one of the smaller sites on StackExchange, with 10,000+ users and over 3100 questions (and 7400+ answers), this site might prove to be one of your most valuable SQA resources. An example is the post “Typical software & tools short-list for *manual* QA specialist (tester) working environment”, in which members offer their “necessary tools” list for manual testing.
14. Agile Data
The Agile Data is a valuable source of indepth tutorials about the “Agile Data” (AD) method (strategies, techniques, philosophies), which can be applied to “a wide variety of situations to work together effectively on the data aspects of software systems.” The home page itself diagrams a variety of Agile Data techniques, while the rest of the site breaks down the methodology. An example post relevant to testing/SQA is the tutorial Database Testing: How to Regression Test a Relational Database
Roman Savin says he has put this site together for readers to gain skills in software testing, find a job in a software company, and to succeed in said job as an SQA Tester. The site offers a free, online course in software QA testing consisting of twelve lectures. Other features of the site include; a A-Z software quality assurance glossary of terms; a resource downloads page that includes sample test cases, test suite, acceptance test check list, bug tracking and fixing procedures, bug priority definitions and more.
Microfocus, a software products and services business, a 10-page PDF document entitled “Seven Pragmatic Practices to Improve Software Quality,” aimed at application developers but still useful for SQA and testing professionals, to provide a different aspect of the same goal: quality software. While the document is now several years old, the “pragmatic changes” discussed (originally identified by Forrester Research) can help development teams achieve their goal while minimally upsetting managers and executives. To summarize, the seven pragmatic changes are as follows:
- Define quality to match your needs.
- Broadcast simple quality metrics.
- Fine-tune team and individual goals to include quality.
- Get the requirements right.
- Test smarter to test less.
- Design applications to lessen bug risk.
- Optimize the use of testing tools.
This 225 pg Master’s thesis by Mark Kevitt at the Dublin City University in Ireland was published in April 2008. While it’s fairly length and maybe not reading material that most people want to take on, it is a detailed accounting of different testing methods, facets of quality assurance, advice on how to improve testing and QA practices, plus several case studies. Give the date of its publication, it’s possible that many of its suggestions are already practiced. Thus, possibly the most efficient way of using it is as a reference, searching for answers via keywords you are interested in. Scan for the Table of Contents as a starting point.
Mind maps are a handy, non-linear way to keep a task list, brainstorm, plan a project, solve a problem, catalog your knowledge, develop a testing plan or checklist, and much more. Mind maps are thought to encourage the “radial thinking” that our brain naturally gravitates to doing. The Software Testing MindMaps part of the TestInsane site provides a large collection of pre-made mind maps that are geared towards software testing for various platforms, devices, etc. — all of which are available for download. Use them as is, modify them to your needs, or contribute your own.
This 20-pg PDF published by SAFECode in 2008 offers best practices for software assurance. While it has a few years on it and it ultimately propaganda for SAFECode’s products and services, the information presented is still valid. Included in the document is a discussion of a framework for software development and how testing fits in; security best practices and security testing; the relationship of roles of integrators, operators and end users; and multiple case studies of large companies including Symantec, Juniper Networks, Microsoft and others.
This is 15-page document is a handy reference that explains 13 types of testing methods each in a nutshell, as well as gives an overview of Software Quality Assurance. While 13 types of testing methods are summarized in a few paragraphs each, 28 testing methods are actually listed in an overview section with a sentence or two. You can use this document as a checklist of the breadth of your SQA testing knowledge, or possibly discover something new that can help with improving code coverage.
Web and Mobile Testing Tips, Techniques and Tools
21. Mobile QA Zone
Mobile QA Zone bills itself as “A Mobile Application Testing Community” and social networking platform for software testers, with a focus on mobile applications and handsets. Here is some of what you will find on the site:
- Community members share their tips, thoughts and experiences about testing for mobile software and devices.
- The mobile testing resources section has a 99-page document with Apple iOS app test cases and test criteria (amongst other things).
- Information about paid and free online, self-paced training.
- General news, conference announcements.
- Forum, chat, groups.
Need to test your mobile app on hundreds or thousands of real devices and don’t want the cost or hassle? Testdroid offers an online platform for startups and other businesses who want to increase device compatibility but have a limited budget and/or staff. No need to buy and manage all the devices yourself. Options include a Public Cloud, Private Cloud, Enterprise, and Managed Services. Testdroid can be tried free, and plans start at US$49/month for indie developers, $399 and up for teams/ businesses. Also check out the Testdroid blog, which in the past has published a series of posts on best practices for mobile app testing, as well as best practices posts for a variety of QA tools including Selenium.
This whitepaper from Belatrix is brief but neatly covers a range of best practices for testing mobile apps. This includes interface testing, usability, performance, security, services, low-level resources, operations, device compatibility/ multi-device environments, localization. It also compares some of the testing differences for native mobile apps versus Web mobile apps, and ends with a list of some of the testing strategies Belatrix uses: Functional Testing; Risk-Based Testing; Graphic User Interface; Acceptance, Usability and Accessibility; Performance (Stress and Load); Regression; Installation and Configuration; Security; API Testing, Automation, Smoke Test. The paper is ideal for producing your own testing/ SQA checklist.
Capturing screenshots of bugs on a mobile device is relatively easy, though getting the shot into issue tracking software takes a bit extra effort. But capturing video of a mobile testing process is considerably more effort. X-Mirage simplifies the process for you by mirroring iOS device screens to both Mac and Windows PCs for recording screen captures and video (with audio). Video of steps taken before a bug appears gives developers valuable information for solving bugs. X-Mirage also acts as an AirPlay server, which means you can use it to give presentations to a team, in a scrum meeting, or what have you.
Is the DevOps approach for mobile apps different than for other software? This is partly what this paper published by IBM discusses, plus a set of challenges of mobile DevOps, followed by a list of best practices of DevOps related to mobile apps. The challenges include multi-platform support, mobile apps as enterprise front end, CI (continuous integration) and CD (continuous deliver), the App Store, pull instead of push deployment and how failure is not an option for consumer apps. The 10 best practices are covered in three categories: (1) CI and CD; (2) testing and monitoring; (3) mobile app delivery. The paper is readable at the site and downloadable as a PDF.
W3C’s Developer Tools page offers a suite of tools useful for Web quality assurance. Examples include CSS Validator, Markup Validator, Link Checker, RSS feed Validator, Mobile Checker (to see what a Web page looks like on three sizes of mobile devices), Internationalization Checker and others. These or tools like them are essential to full testing of Web sites and Web apps. The bonus is that source code is available, so you can modify these tools for your organization’s needs.
Inspyder has a number of tools useful for Web QA. Several are free tools that work in the browser, and two are Windows-based desktop applications that are available as free trial versions. The free Web-based apps are the HTML/URL Encoder, Sitemap Validator, HTTP Header Viewer and DNS Record Look-Up. The two trial apps (Windows desktop) are specifically Web QA tools. The first is InSite, a broken links checker that also finds spelling mistakes, determines keyword density and word count, and has a scheduling feature that allows for automation. The second is Power Search, which indexes a site and allows the user to find a specific words or CSS classes, as well as missing HTML tags. It can also scrape and extract data, including from HTML tables.
28. Google Chrome
Choosing a single browser for Web QA testing is usually not an option. However, for basic testing, Google Chrome should be your browser of choice, regardless of operating system (Windows, Linux, Mac OS X) — before checking sites with other browsers. The combination of developer tools/features as well as the range of extensions available in the Chrome Marketplace make the Chrome browser arguably the most valuable. Extensions are also relatively easier to write for Chrome than the plugins for another popular browser, Mozilla’s Firefox. (Although Firefox does have some plugins such as Firebug and others which are useful for Web QA work.)
Test cases are managed in any number of ways, including flat text files or spreadsheets — amongst other means. But spreadsheets — even those that are cloud-based — are limited in their feature set. Fortunately, there’s a Web-based tool that uses a grid paradigm similar to a spreadsheet but has multiple levels of custom sorting, filtering, faceting and clustering; map/reduce features; project joins; and programmatic abilities including batched calls to Web services, plus scripting. It’s OpenRefine (aka Refine; formerly Google Refine; originally Freebase Gridworks) is especially ideal for test cases that are mature and where the set is finalized, with no new cases to be added. That said, a Refine project *can* be augmented with new rows by first exporting to CSV, Excel or JSON, adding rows externally, and then re-importing.
Refine can also handle “records,” which provides some hierarchy options for complex test case sets. The aforementioned scripting can be in Jython (Java-based Python), Clojure, or the relatively simply GREL (Google Refine Expression Language). Web responses can be parsed, whether in HTML/XML, JSON or CSV/TSV formats, and map/reduce-style features used to draw conclusions for a test run. NOTE: Requires Java 6 or 7 and runs locally in a browser on Windows, Mac or Linux, and can run standalone, or from an IDE, and can be set up as a non-local server. Caveat: There is a learning curve but there are tutorials on various sites.
Software Tools for Testing/SQA
Given that there are hundreds of tools that are useful in some way for testing and SQA in general, it’s not possible to list them all. Instead, we’ve picked a few select tools and grouped them into categories. Even then, we only have room for a few of the more important categories. Tools listed here all run a desktop/laptop computer but are for testing software intended for desktop, Web and/or mobile.
While editors/IDEs, image viewers and screen recording software are not directly part of testing, they’re an important part of the overall process — for creating/editing test and data files, and for capturing visuals for human (or sometimes programmatic) review.
- Firstobject XML Edit – Firstobject XML Editor (aka Foxe) is a free Windows app for editing XML files. No Java or MSXML required.
- Notepad++ – Notepad++ is a free text/code editor with many powerful features. (Windows)
- XML Notepad – Microsoft’s XML Notepad is free and one of the more mature XML editors. (Windows)
- IrfanView – A small freeware graphic viewer with advanced features including batch processing, screen capture, multi-language support. (Windows)
- Camstudio – Free screen recorder. (Windows)
- Jing – Jing is a free screenshot and screencasting application.
- Lightshot for Chrome – Lightshot is a screenshot extension for Chrome Web browser.
- MWSnap – Screen capture tool with configurable area of interest. (Windows)
- Altova XML Spy – XML editor for modeling and debugging, with XPath, XQuery and other features. Integration with Eclipse and Visual Studio. Free 30-day trial. (Windows)
Depending on the scope of the software/app/platform you are testing, you may need access to remote computers and/or to be able to run multiple operating systems on your workstation. These apps should cover most of your needs for remote access or OS virtualization.
- Bootcamp – Apple’s Bootcamp Assistant is pre-installed on recent versions of Mac OS X
- Parallels – Run Windows on a Mac with no reboot necessary.
- VirtualBox – Run multiple OSes on numerous platforms. Works on Windows, Linux, Mac, Solaris.
- Virtual PC – Run more than one OS on Windows at a time.
- VMWare – VMWare offers two tools for multi-OS virtualization: Player (free; Windows, Linux) and Fusion (paid, Mac OS X).
- FileZilla – Manage multiple FTP accounts with FileZilla. (Windows, Mac, Linux)
- Kitty – Free telnet/SSH client. (Windows)
- Putty – Free telnet/SSH client. (Windows)
- WinSCP – Free open source client for FTP/SFTP, WebDAV, SCP. (Windows)
If you’ve worked with Linux- or UNIX-based operating systems (including Mac OS X), you’re probably familiar with the wealth of commandline tools available as part of the OS, including bash, grep, sed, awk, perl, head, tail, diff, ps, find and many more. These tools allows the user to manipulate information, set up batch processes and timed automation, and many more actions — many of which are useful to the software testing process. If you’ve worked with Windows OSes, you know that some of these tools common to UNIX/Linux/Mac OS X are missing. Fortunately, there are equivalent tools available separately for Windows computers.
- Cygwin – Mimics many of the commandline tools available on UNIX/Linux OSes, but for MS-Windows. (Windows DOS commandline)
- LogParser – Query textual data from log, XML, CSV files.
- Log-Watch – Log-Watch runs in the Windows DOS commandline, monitors log files and provides audio feedback (configurable) upon the appearance of specific (configurable) strings. (Windows DOS commandline)
- BareGrep – Free file/text search tool.
- BareTail – Free real-time log file monitor.
- Beyond Compare – Use to compare files and folders, merge changes. Has remote access features. Trial version available.
- Perfmon – Performance monitoring tool for routers and switches
- WinMerge – Free file comparison, differencing and merging tool.
- Processmon – Real-time file and process monitoring tool..
- HR Split File – Splits files into smaller pieces (non-destructive). Paid pro version available..
Data is an essential part of complex software — be they desktop applications, Web sites/apps or mobile apps. The tools below cover database systems, database clients (GUI-based), and data generators for test cases. Keep in mind that, even if testers/QAs have no say in the choice of database and clients used for a production application, you may have some influence over test databases and associated tools, and the list below gets you started on some options.
- Realm – Marketed as a replacement (free) to SQLite and Core Data for native mobile applications, Realm is one of the newest database systems. While possibly not ready for production systems due to being pre-1.0 version at time of writing, it still can be useful for prototyping test apps and databases. (iOS, Android)
- Couchbase/ CouchDB – A popular open source “NosQL” document-based database system.
- Mongodb – Another popular open source “NoSQL” document-based database system.
- MySQL – Multi-platform open-source database system.
- SQLite – Multi-platform, open-source, self-contained, serverless database system.
- Perlclip – Data generator for repetitive strings using Perl syntax. (Perl script or has Windows .exe)
- Generate Data – Define columns, data types, and export format and let the GenerateData Web site generate sample data for you.
- ALLPAIRS – Improve the coverage of test cases by optimizing variable value pairs. (Perl script)
- DbVisualizer – Visual tool for most major databases. (Windows, Mac, Linux/UNIX)
- MSSQL Server Management Studio – Management interface for SQL Server. (Windows)
- Oracle SQLDeveloper – Free IDE for Oracle databases for development of PL/SQL applications. (Oracle, Mac, Linux)
- PL/SQL Developer – PL/SQL Developer is an IDE for Oracle databases. Free 30-day trial. (Windows)
Tools that are useful or even essential for testing Web sites fall into three main categories: (1) desktop tools including browsers; (2) tools that run in the browser itself; and (3) tools that run in the commandline but which might function as a localized temporary Web server. The tools in this section fall into the first category. (See the “Web and Mobile Testing Tips and Techniques” section, above, for Chrome browser.
- Firefox – Firefox is a great Web browser for developers and testers. Paired with Firebug and other add-ons, it makes for a powerful Web development and testing tool.
- Integrity – Integrity (free) is part of Peacock Media’s suite of Mac OS X tools for Web site/app quality assurance. It is particularly useful for cataloging a site’s link, checking for broken links and image URLs. Results are color-coded, so detecting problem pages is easier. Integrity Plus (US$8) adds several features to Integrity, including sitemap generation, data export and more.
- Scrutiny – Scrutiny (US$95) is an even more powerful version of Integrity (above) that has several additional features, including SEO checks, spelling and grammar checking, Web site monitoring/ uptime detecting, orphaned page check and more. Both products have online monthly service equivalents at a subscription rate. See the Peacock Media site for additional software and Web services of value to the software testing process.
- HttpWatch – Http/https traffic browser for IE and Firefox Web browsers. (Free trial; runs on Windows 7-10 and iOS)
- OpenSTA – Tool for Web loading testing, http stress and performance tests, timers, windows performance and more. (Windows)
- Xenu LinkSleuth – Broken-link checker for MS-Windows.
- URL Generator – Generate a list of URLs based on configurable parameters. Useful for testing sets of virtual pages, when combined with other tools that visit and interact with Web pages.
- Telerik Testing Framework – Telerik’s free WebAii Web testing framework. (See Google Chrome market for Telerik browser extensions.
This is by no means an exhaustive list, merely a starting point. Here are some browser plugins and the occasional free Web service that can play a strong role in Web site testing. Search both Google Chrome and Mozilla Firefox extension/add-on marketplaces for the type of plugin you are looking for, if you don’t see it here.
- Weinre – A debugger for Web pages that works remotely from a mobile device.
- Chrome: Scraper extension – Powerful XPath/XQuery-based tool for scraping Web sites, which can be useful for site testing when paired with other tools. School of Data and Dataist have tutorials on how to use this extension, and the source code is available on Github.
- Chrome: Web Scraper extension – Another Chrome web scraper extension – this one with a feature that lets you visually specify DOM document traversal. Scraped data can be exported in CSV format or stored in CouchDB. Source code is available at Github. See their main site for their enterprise data extraction service.
- Chrome: Postman extension – Useful for testing Web APIs.
- Test IE – Test IE browsers from Chrome using free trial from Browserstack.com.
- Firebug addon for Firefox – Web development add-on for Firefox browser (“lite” Chrome version available).
- Grab Them All addon for Firefox – Programmatically capture Web page screenshots (sized, named, downloaded) from a text file list of URLs.
For complex software, you are very likely going to need tools that either run in the commandline (Windows DOS or Linux/UNIX/Mac OS X) and act as a local Web server running either in Firefox or Chrome, or possibly in a “headless” (GUI-less) browser. Here are some of the handiest options for Web site testing.
- BrowserMob Proxy – Useful for rewriting http requests and responses, capturing performance data, capturing browser behavior and traffic, network traffic simulation and more.
- HTML Unit – Free headless, programmable Web browser for Java programs – ideal for Web site testing or scraping.
- CasperJS – CasperJS is a companion tool to PhantomJS or SlimerJS, useful for testing remote DOM, writing functional test suites (saveable as JUnitXML), Web page screen capture, scraping Web sites, programmatically clicking and following links and more.
- Cucumber – DSL (Domain-Specific Language) for describing expected test behaviors. Works with Ruby, Java, .NET, Flex or Web apps in multiple languages.
- SlimerJS – Semi-headless, scriptable Web browser similar to PhantomJS but built on top of Gecko instead of WebKit.
- WatiN – For Web application testing in .NET (WatiN).
- Watir – For Web application testing in Ruby (Watir).
- Watir-webdriver – Web testing using WebDriver with Ruby. Usable with Cucumber.
Test automation tools and testing frameworks make life easier for setting up and running test cases on a regular basis. The tools/ frameworks listed here cover GUI-based tools for Windows, scripts/code for commandline (typically *nix-based), and in-browser options.
- Robot Framework – Python-based (also runs on Jython) test automation framework.
- Robot Framework: Franz See Database Library – Use with Robot Framework for testing database contents. (Python, Jython)
- Robot Framework: Selenium2 Library – Web testing library for use with Robot Framework. Works with Python and Jython.
- Robot Framework: Thomas Jaspers DB Library – Code library for testing database content with Robot Framework. (Windows, Mac)
- Selenium – Selenium is for Web browser automation.
- Jenny – Regression test generator implemented in C language.
- HttpUnit – Java-based library for simulation and testing of web applications. (Windows, Mac, Linux)
- WinTask – This tool has multiple features, including scheduled tasks, test automation for Web pages and Windows applications, and programmatic data entry. Free 30-day trial. (Windows)
- VRest API Testing – Automate Web API testing, mocking and recording with vRest’s REST API Cloud-based service — with Chrome browser extension available. Paid subscription service with free 30-day trial.
An important part of the overall testing/ SQA process is managing rules, protocols, test cases, etc. This set of tools covers software for primarily for team collaboration on documents, spreadsheets, user stories, bug/issue tracking, and test-specific diagramming. Most of these are either Internet- or Intranet-based, with a few tools that are desktop applications.
- Atlassian – Atlassian makes JIRA software for issue tracking — a key accompaniment to software testing — as well as a variety of other software tools, including Stash (Git repository management), Bitbucket (Git and Mercurial hosting for individuals and teams) and SourceTree (free Git and Mercurial client). Atlassian has also published a handy guide which offers tips on developing and leveraging a test strategy.
- Google Docs + Spreadsheets – various other cloud spreadsheet options”-to build up test cases over time”-replace with a database if warranted
- XMind – Free mind mapping tool useful for developing test cases, managing projects and more. (Windows, Mac, Linux, portable no-install package)
- Bugzilla – Bugzilla is a free Web-based issue-tracking application (paid support available). (Not to be confused with Mozilla’s implementation for tracking bugs for their Web browser.)
- Redmine – Redmine is a free, open source web-based project management application which can be used as an alternative to the paid Jira (from Atlassian).
- Trac – Web-based issue tracking system, which interfaces with Git, Subversion and other version control systems.
- FreeMind – Basic, free multi-platform mind mapping tool. (Windows, Mac, Linux)
This last set of tools and services do not necessarily fall neatly into one of the categories above (possibly cover multiple categories), and most are paid applications or services. They are primarily for medium and large projects that have teams, but some may be of value to all.
- Browserstack – Get virtual machines and over 700 Web browsers in the Cloud for testing sites. Screenshot API available. Web-based monthly subscription service with free trial available.
- Citimind CrowdTest – Testing as a service, in the cloud. (Web-based; paid)
- BitBucket – Cloud source code repository service using Git and Mercurial. Free for small teams. (Browser-based).
- GitHub – Cloud source code repository using Git. Visual clients available for Windows and Mac.
- ODesk – Source freelancers for projects.
- Fiddler – Web debugging proxy; works on “any browser, system or platform”. Additional companion tools available. Integratable into .NET apps.
- Ghostlab – Test Web sites on multiple devices simultaneously. Free 7-day trial. (Windows, Mac)
- JR Screen Ruler – Free virtual ruler for measuring application windows or Web page elements. Paid pro version available. (Windows)
Forums, Communities, Services, Miscellaneous
This last section covers forums/ communities, reading materials, additional services for consideration, and miscellaneous items.
UTest is a community/ network for testers and QA professionals. The site boasts of over 175,000 members. (Membership is free.) Besides networking opportunities on the forum, with peers, the site offers free training courses (uTest University), industry and software news, events (conferences, meetups, testing events), career opportunities and paid testing projects (the latter available only to paid members). If you’re looking for advice on software testing tools, the site also has tool reviews.
Meetups.com is a Web-based platform that lets users find in-person events where people with the same interests can interact. Meetup.com covers events all over the world, for hundreds of topics. The Software QA and Testing Meetups grouping has over 100,000 members in 200+ cities over 45 countries. These members represent over 400 groups related to software quality assurance and testing.
STP Software Test Professionals is a site similar to uTest in that it offers a professional community and forum, event listings, training, a downloadable digital (PDF) magazine (2004-2012), articles, numerous resources, and a blog. Basic membership is free; pro membership is US$195 per year and provides access to additional content, archives of the magazine, discounts to conferences and training events, and more.
From the University of Bath (UK), this is a nine-part guidebook of nearly 300 pages. Of particular interest might be the intro (part 1), the sections on Web QA (part 4), software (part 6) and general QA (part 9). This is an archived site and there is a single PDF link for the full guidebook, as well as MS-Word links for each part.
SQAforums is like any other forum, but focused on software quality assurance. The site has a typical forum structure, but also has a set of FAQs, an events calendar viewable by day, week, month or year, metrics about the community, user blogs, articles and ebooks, job listings, training resources, and more. Membership is free and is required for posting new content including comments/ responses.
This site has a very large collection of FAQs, a user-contributed link directory of resources, job postings, articles, best practices, techniques, guidebooks and more. In addition to the SQA focus of this subdomain, there are links to other subdomains that cover programming/ software dev, database administration, and other topics relate to software.
47. Testing Circus
Testing Circus is a free, downloadable magazine (PDF) focused on software testing. Content includes software testing articles, interviews (testing professionals), info on testing tools, tips, tricks, tutorials, book reviews, industry news, testing blog references, Twitter profiles of testers and more. The site itself also publishes articles and lists testing jobs (when available). There’s an open call for contributors, and if you’re inclined to write, check out their list of article ideas.
The Fromdev site covers software development in general, not just testing/ QA. However, this list recommends eight books that they feel all testers/ QAs should read. The review list is already a few years old, but several are by well-known names in the SQA field, including Lisa Crispin. The books cover general software, testing,
Professional Tester is another magazine focused on software testing, though this one has been around for over 15 years. Now available for download (PDF), the contents include articles, opinion pieces, event listings (conference, workshops, training sessions, etc.), and more. The main site contains job listings, press releases from and profiles of companies in the general software testing industry, access to archive issues and more.
RBCS is a training and consultancy firm that focuses on the software testing industry. In additional to commercial services, the site publishes news, event listings, resource links, monthly webinars, an archive of podcasts, and an extensive digital (PDF) library with articles and papers on testing topics (e.g., bug reporting process, critical testing processes, etc.), qualitative risk analysis, test execution processes, glossaries, certification syllabi, test case project planning and more.