
Resources
Cheat sheets
A very real, very thorough reference I created as a guideline for the teams I work with; this page covers test scenarios, test methodologies, and other tips/tricks for getting code out the door
Test Heuristics Cheat Sheet - Elisabeth Hendrickson
Long file names, special characters, touchpoints, and more - lots of inspiration to be had here.
Awesome Falsehoods - Kevin Deldycke
It’s wild how comprehensive this is - basically an edge case dictionary. My personal favorite is falsehoods programmers believe about time - “Ok, but the time on the server clock and time on the client clock would never be different by a matter of decades.”
Test Heuristics Cheat Sheet (expanded) - Simon Tomes / Ministry of Testing
Everything in Elisabeth Hendrickson’s cheat sheet and so much more!
You Are Not Done Yet Checklist - Michael Hunter
A bit dated, but still a great reference with a little bit of translation needed for modern day web and mobile applications. For example, testing on a 28 or 56k modem might better translate to “Test this on a 3g or 4g connection with 1 bar of service”
QA Cheat Sheet - Tudor B / Better QA
Quick and to the point, a short cheat sheet to inspire all your ad-hoc testing adventures
A handy reference for navigating github
A compendium of helpful resources and references for accessible testing (WCAG)
helpful books
Testing Books
The Little Black Book on Test Design - Rikard Edgren
Highly recommend the section on “Test Execution” if you’re looking for another cheat sheet to help inform how you’ll approach and execute various test scenarios.
Explore It! - Elisabeth Hendrickson
This book helped me to focus and organize my exploratory testing approach
Uncover surprises, risks, and potentially serious bugs with exploratory testing. Rather than designing all tests in advance, explorers design and execute small, rapid experiments, using what they learned from the last little experiment to inform the next. Learn essential skills of a master explorer, including how to analyze software to discover key points of vulnerability, how to design experiments on the fly, how to hone your observation skills, and how to focus your efforts.
Agile Testing - A Practical Guide for Testers and Agile Teams - Lisa Crispin & Janet Gregory
You will probably find this book on every agile testers bookshelf, really helpful with lots of great resources to consider
In Agile Testing, Crispin and Gregory define agile testing and illustrate the tester’s role with examples from real agile teams. They teach you how to use the agile testing quadrants to identify what testing is needed, who should do it, and what tools might help. The book chronicles an agile software development iteration from the viewpoint of a tester and explains the seven key success factors
of agile testing.
Frankly, I’ve never read this cover to cover. But occasionally I’ll flip through it for inspiration. There’s a lot of really great insights and frameworks to consider, but as with all testing - it’s not a prescriptive path, take what resonates :)
The world's leading software testing experts lend you their wisdom and years of experience to help you avoid the most common mistakes in testing software. Each lesson is an assertion related to software testing, followed by an explanation or example that shows you the how, when, and why of the testing lesson. More than just tips, tricks, and pitfalls to avoid, Lessons Learned in Software Testing speeds you through the critical testing phase of the software development project without the extensive trial and error it normally takes to do so.
Coaching and Leadership Books
Hard to read cover to cover, but a really great reference for someone who wants to start looking more at team dynamics and building more cohesive teams
In Coaching Agile Teams, Lyssa Adkins gives agile coaches the insights they need to adopt this new mind-set and to guide teams to extraordinary performance in a re-energized work environment. You’ll gain a deep view into the role of the agile coach, discover what works and what doesn’t, and learn how to adapt powerful skills from many allied disciplines, including the fields of professional coaching and mentoring.
The Five Dysfunctions of a Team: A Leadership Fable - Patrick Lencioni
Not your usual “agile tester” book, but a really great look at how to view team dynamics and individual motivations
Throughout the story, Lencioni reveals the five dysfunctions which go to the very heart of why teams even the best ones-often struggle. He outlines a powerful model and actionable steps that can be used to overcome these common hurdles and build a cohesive, effective team.
Folks with a background in IT will surely find this an entertaining read, another great book that looks into how teams operate together, how to communicate, and how workflows can make or break an organization
With the help of a prospective board member and his mysterious philosophy of The Three Ways, Bill starts to see that IT work has more in common with a manufacturing plant work than he ever imagined. With the clock ticking, Bill must organize work flow streamline interdepartmental communications, and effectively serve the other business functions at Parts Unlimited.
The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change - Camille Fournier
Anyone who is looking to take charge or become a leader on their teams will find this book helpful; it’s another great book that walks through some of the complexities of working on teams and navigating challenging interpersonal situations
Managing people is difficult wherever you work. But in the tech industry, where management is also a technical discipline, the learning curve can be brutal—especially when there are few tools, texts, and frameworks to help you. In this practical guide, author Camille Fournier (tech lead turned CTO) takes you through each stage in the journey from engineer to technical manager.
From mentoring interns to working with senior staff, you’ll get actionable advice for approaching various obstacles in your path. This book is ideal whether you’re a New manager, a mentor, or a more experienced leader looking for fresh advice. Pick up this book and learn how to become a better manager and leader in your organization.
This book highlights 97 situations any new leader or manager will find themselves in, and offers advice on how to handle it. If you’re transitioning into a leadership role, or, just want to understand your own leadership team a little bit better this book will surely have some helpful tips.
Tap into the wisdom of experts to learn what every engineering manager should know. With 97 short and extremely useful tips for engineering managers, you'll discover new approaches to old problems, pick up road-tested best practices, and hone your management skills through sound advice.
Managing people is hard, and the industry as a whole is bad at it. Many managers lack the experience, training, tools, texts, and frameworks to do it well. From mentoring interns to working in senior management, this book will take you through the stages of management and provide actionable advice on how to approach the obstacles you’ll encounter as a technical manager.
Online resources
https://www.ministryoftesting.com/
Amazingly helpful community of testers - workshops, reference guides, howtos, etc. Their web testing 101 guide is a fantastic starting point for anyone starting their testing journey.
Learn to code for free through project based learning
A classic resource, everything you’d ever need to know about developing a website - HTML, CSS, Javascript, SQL, Python, XML, and more all completely free. Super easy to jump into and use.
Every cheat sheet you could possibly need for every possible thing. Regex? It’s gotchu. MySQL? Easy money.
https://www.udacity.com/course/introduction-to-python--ud1110
Super solid intro to python
https://github.com/abhivaikar/howtheytest
How different companies (Amazon, Meta, etc) approach quality testing
Global browser usage stats - use this to figure out what platforms your users are on, and test for that first.
https://testautomationu.applitools.com/
Collection of curated, community built automation courses for nearly every framework you could think of
Online courses for just about anything/everything you could think of. Not free.
Another great resource with certification tracks as well.
tools
An absolute must-know tool for any web application testing - throttle your users network speed, emulate other devices, assess performance with lighthouse, get browser logs off an android device, and so much more - similar functionality exists in other browsers, of course, but Chrome’s market share can’t be ignored. You should be using these tools if you’re not already.
A paid service that lets you connect to a multitude of unique device and browser combinations. Don’t have a windows machine handy? No problem. Need a kitkat device? They got you covered. Every browser combo you could need, spun up just for you
Another paid service that offers virtual machines for you to test real assitive technologes - voice over, screen readers, etc
Lots of VPN options out there, but this one has been (in my experience) the most reliable. Worth the cost. Helpful for testing user states, flows, or content availability that might be geoIP dependent
Free + open source web app scanner; helpful especially for any type of security testing.
Free chrome addon that lets you “record” and “playback” repetitive tasks in a browser. Not a replacement for a full fledged automation suite, but helpful for automating quickly and on the fly with no code needed.
Helpful for informing exploratory testing - a handy template to help you build some real people, with real needs and motivations (for free!). Helpful because there’s a huge difference in the way someone from Indonesia who’s browsing off a small form Android device will use your application, compared to someone with less technologic constraints like a 20 something Manhattan-ite browsing from his gaming PC. See also: Personas
Handy (and free) open source tool for creating and managing your own virtual machines.
Vocabulary
Some common terms you might run into in your software testing adventures. Or, that your peers may not be familiar with.
Investigative, directed (not random) but spontaneous, have a plan (to find bugs)
Completely spontaneous, no docs or planning, pair testing just to look at a particular feature or flow
The entire flow from point A to point B that a user will experience, often includes interacting with multiple interconnected backend systems
The ideal path a user will take as designed, the best case scenario
Paths a user may take if they diverge from the common or preferred user flow, eg: losing internet connectivity after a form submission, not completing a flow, ignoring a prompt, clicking “back” in the browser button, using a less common device or browser
In Agile, acceptance criteria refer to a set of predefined requirements that must be met to mark a user story complete. Acceptance criteria are also sometimes called the “definition of done” because they determine the scope and requirements that must be executed by developers to consider the user story finished.
Real or imagined people with unique, real-world traits that represent a locale, a language spoken, a type of device, a level of technical competence, a specific interest or preference, etc
Personas allow us to shed testing bias, and adopt the mentality (and persona) of someone who is outside our regular thought patterns
Generally measures time to respond to a request (eg: page load) or how many concurrent connections can occur at once
Testing a system against product requirements or specs, and validating that all the buttons do what they say they do
Testing the interactions between isolated systems or pieces of code against each other; often occurs when merging multiple branches together into main
A type of prescribed testing that ensures no new issues or bugs have been introduced into existing features; ensuring the status quo has not changed
Testing against a real users expectations or preferences