For anyone already pursuing a career as a software tester, some of these resources will be familiar. For those new to the field, or interested in understanding what it is that a tester does, these lists may help you.

## Books

“*Book Learnin’ tm*“ is not really how I got started in tech. But books are still a fantastic tool for gaining knowledge not available from narrow experience, and a good tool for helping to organise our thinking about testing, and encouraging discipline in the practice of testing. Along those lines, here are five must-reads:

- [**Lessons Learned In Software Testing**](https://www.amazon.co.uk/Lessons-Learned-Software-Testing-Context-Driven/dp/0471081124/ref=sr_1_4?crid=3VKPR7QYJGBUQ&dib=eyJ2IjoiMSJ9.yfGfVcQKbBV432wutjzNHS9Q11eSSX54XVUbsepRDxwv6KrXywIkUsp8VqrgcAH2LN-1cULpBcyg0bW4U4yCuYLbdl_TlKnrOMYHQTmjsSzO0JOcPN1QhlGd3HGHBEE66jKG3MbCARwjsAaoy0QxlCIibyL9NSM6cq7pQVwfgGfGTk7_S_96ZfPFaE3xWb0aPw6HrBxuqkbGYHAWi3NDdZj9UV7UYB0GFYj0rwq0INE.cE9FVg94DlmoUb-2bobcEJfWd_0ywIG8llvxKi8du34&dib_tag=se&keywords=james+bach&qid=1765802766&sprefix=james+bach%2Caps%2C88&sr=8-4&ufe=app_do%3Aamzn1.fos.95fd378e-6299-4723-b1f1-3952ffba15af "https://www.amazon.co.uk/Lessons-Learned-Software-Testing-Context-Driven/dp/0471081124/ref=sr_1_4?crid=3VKPR7QYJGBUQ&dib=eyJ2IjoiMSJ9.yfGfVcQKbBV432wutjzNHS9Q11eSSX54XVUbsepRDxwv6KrXywIkUsp8VqrgcAH2LN-1cULpBcyg0bW4U4yCuYLbdl_TlKnrOMYHQTmjsSzO0JOcPN1QhlGd3HGHBEE66jKG3MbCARwjsAaoy0QxlCIibyL9NSM6cq7pQVwfgGfGTk7_S_96ZfPFaE3xWb0aPw6HrBxuqkbGYHAWi3NDdZj9UV7UYB0GFYj0rwq0INE.cE9FVg94DlmoUb-2bobcEJfWd_0ywIG8llvxKi8du34&dib_tag=se&keywords=james+bach&qid=1765802766&sprefix=james+bach%2Caps%2C88&sr=8-4&ufe=app_do%3Aamzn1.fos.95fd378e-6299-4723-b1f1-3952ffba15af"), James Bach - A classic volume of great advice for any tester, whether seasoned or new to the role. There are “lessons” in this book that I still apply, even after almost 20 years in software development and testing.

- [**Explore It!**](https://www.amazon.co.uk/Explore-Increase-Confidence-Exploratory-Testing/dp/1937785025/ref=sr_1_1?crid=11E6XD2PQWYBL&dib=eyJ2IjoiMSJ9.v7WDX8rkm5L7zPPo7FziVy2Dg9b5udSXaGxWha7jxQ21PU6DO3tR0dwNTCFS6Wk1.c8TyzKOSRyrr7hWoBZj7QsX5eVV-6qVNLjDMbsoNqBc&dib_tag=se&keywords=Elisabeth+Hendrickson&qid=1765803647&s=books&sprefix=elisabeth+hendrickson%2Cstripbooks%2C82&sr=1-1 "https://www.amazon.co.uk/Explore-Increase-Confidence-Exploratory-Testing/dp/1937785025/ref=sr_1_1?crid=11E6XD2PQWYBL&dib=eyJ2IjoiMSJ9.v7WDX8rkm5L7zPPo7FziVy2Dg9b5udSXaGxWha7jxQ21PU6DO3tR0dwNTCFS6Wk1.c8TyzKOSRyrr7hWoBZj7QsX5eVV-6qVNLjDMbsoNqBc&dib_tag=se&keywords=Elisabeth+Hendrickson&qid=1765803647&s=books&sprefix=elisabeth+hendrickson%2Cstripbooks%2C82&sr=1-1"), Elisabeth Hendrickson - The essential How-To guide for exploratory testers in an Agile environment. It offers several useful techniques, like charters and diaries, for structuring exploratory testing sessions. A definitive must-read.

- [**Agile Testing Condensed**](https://www.amazon.co.uk/Agile-Testing-Condensed-Brief-Introduction/dp/199922051X/ref=pd_bxgy_d_sccl_1/525-5077970-5211661?pd_rd_w=G9vUs&content-id=amzn1.sym.ec630614-3f9e-4b7f-ba9a-fe89f8e4113f&pf_rd_p=ec630614-3f9e-4b7f-ba9a-fe89f8e4113f&pf_rd_r=XNV4CN7CHKJ9QB8J5YD4&pd_rd_wg=LUXYU&pd_rd_r=fc92e5eb-e502-4ac2-8174-a71d591b9ddb&pd_rd_i=199922051X&psc=1 "https://www.amazon.co.uk/Agile-Testing-Condensed-Brief-Introduction/dp/199922051X/ref=pd_bxgy_d_sccl_1/525-5077970-5211661?pd_rd_w=G9vUs&content-id=amzn1.sym.ec630614-3f9e-4b7f-ba9a-fe89f8e4113f&pf_rd_p=ec630614-3f9e-4b7f-ba9a-fe89f8e4113f&pf_rd_r=XNV4CN7CHKJ9QB8J5YD4&pd_rd_wg=LUXYU&pd_rd_r=fc92e5eb-e502-4ac2-8174-a71d591b9ddb&pd_rd_i=199922051X&psc=1"), Janet Gregory and Lisa Crispin - This is a modern repackaging of Lisa Crispin’s two famous volumes “Agile Testing”, and “More Agile Testing”. It offers a number of new insights and observations not found in the original books, and is an easier read for folks new to the testing role.

- [**Holistic Testing**](https://www.amazon.co.uk/Holistic-Testing-Weave-Quality-Product/dp/1999220579/ref=sr_1_1?crid=29PDHUKG18PQT&dib=eyJ2IjoiMSJ9.e0b7AjOrD1DN4lqCqqkekaHsUt_-R14fNZF7Q6QI5ArkR9Y58TUyaza2QkcUs9kLIHrYaK35BlulzBH6EJAPPJiVn6s0R0tHP5klRWKVt7c.ItmI28AW_hl2_I4TfD1oFvRD7Exni0uBvpBj4RgJEgA&dib_tag=se&keywords=lisa+crispin&qid=1765802708&sprefix=lisa+crispin%2Caps%2C102&sr=8-1 "https://www.amazon.co.uk/Holistic-Testing-Weave-Quality-Product/dp/1999220579/ref=sr_1_1?crid=29PDHUKG18PQT&dib=eyJ2IjoiMSJ9.e0b7AjOrD1DN4lqCqqkekaHsUt_-R14fNZF7Q6QI5ArkR9Y58TUyaza2QkcUs9kLIHrYaK35BlulzBH6EJAPPJiVn6s0R0tHP5klRWKVt7c.ItmI28AW_hl2_I4TfD1oFvRD7Exni0uBvpBj4RgJEgA&dib_tag=se&keywords=lisa+crispin&qid=1765802708&sprefix=lisa+crispin%2Caps%2C102&sr=8-1"), Janet Gregory and Lisa Crispin - This is an attempt by Crispin and Gregory to envision a testing methodology that makes quality a component of every engineering role in a software project. It’s an interesting concept, and a solid attempt to break the paradigmatic dogma that only “testers are responsible for quality”.

- [**The Art Of Software Testing**](https://www.amazon.co.uk/Art-Software-Testing-Glenford-Myers/dp/1118031962 "https://www.amazon.co.uk/Art-Software-Testing-Glenford-Myers/dp/1118031962"), Glenford J. Myers (updated by Corey Sandler, Tom Badgett) - This book is basically the grandfather of all testing books. Whereas most books on software testing target particular modern development techniques, languages, or testing methods, this provides a comprehensive presentation of time-proven software testing approaches, from the early days of software and hardware development. (Good luck finding a copy!)

- [**A Practitioner’s Guide To Software Test Design**](https://www.amazon.co.uk/Practitioners-Software-Design-Computing-Library-ebook/dp/B001GS7030/ref=sr_1_1?crid=3LQDACWHRZDHJ&dib=eyJ2IjoiMSJ9.LOKSBRYSkLCpQ2B1ynQPdzSdiD5fOo56FeNLDjJDQ9soQptrzQBqZQAZAbqXDgST.xfenhbFaMpCow0oIUp9JmY4-BcQDTS1Tv5DEw5TJ3TY&dib_tag=se&keywords=A+Practitioner%27s+Guide+to+Software+Test+Design&qid=1765807872&s=books&sprefix=a+practitioner%27s+guide+to+software+test+design%2Cstripbooks%2C76&sr=1-1 "https://www.amazon.co.uk/Practitioners-Software-Design-Computing-Library-ebook/dp/B001GS7030/ref=sr_1_1?crid=3LQDACWHRZDHJ&dib=eyJ2IjoiMSJ9.LOKSBRYSkLCpQ2B1ynQPdzSdiD5fOo56FeNLDjJDQ9soQptrzQBqZQAZAbqXDgST.xfenhbFaMpCow0oIUp9JmY4-BcQDTS1Tv5DEw5TJ3TY&dib_tag=se&keywords=A+Practitioner%27s+Guide+to+Software+Test+Design&qid=1765807872&s=books&sprefix=a+practitioner%27s+guide+to+software+test+design%2Cstripbooks%2C76&sr=1-1"), Lee Copeland - This book is the test engineer’s bible for test design. From equivalence classes to state transitions, from requirements definitions to test case construction, this is the ultimate How-To guide. If you were to take a college course in software testing, this would be your textbook. It’s available on Amazon, but it’s ridiculously expensive.

## Blogs

Blogging is a dying art form. Twenty years ago, everyone had a blog. Now, the blogging practice is almost exclusively a marketing chatter pipeline. However, there are still a few diamonds in the rough out there worth checking, from time to time.

- [**Google Testing Blog**](https://testing.googleblog.com/ "https://testing.googleblog.com/") - This blog is *developer* heavy. Some count this as a mark against it. I do not. For one thing, it’s often littered with little [gems like this post](https://testing.googleblog.com/2024/10/smurf-beyond-test-pyramid.html "https://testing.googleblog.com/2024/10/smurf-beyond-test-pyramid.html"), highlighting an interesting reconceptualisation of the infamous “testing pyramid”. For another, I subscribe to the James Bach’s advice that testers should “run with the programmers”. The closer you are to the development, the better able you are to identify it’s potential weaknesses.

- [**Lisa Crispin Holistic Testing Blog**](https://lisacrispin.com/agile-testing-blog/ "https://lisacrispin.com/agile-testing-blog/") - This blog focuses mainly on meta-level Agile testing practices. Lisa is one of the preeminent voices in Agile testing, and an excellent counterpoint to older “waterfall” style approaches. She is the author of “Agile Testing” and “More Agile Testing”. Essential reading for testers working in Agile environments.

- [**James Bach Satisfice Blog**](https://www.satisfice.com/blog "https://www.satisfice.com/blog") - James Bach is a legend in software testing. He’s not as well published as Lisa Crispin, or as well admired in Agile circles, but his book “Lessons Learned in Software Testing” is an absolute must-read for any tester in any environment, and his blog often surfaces extremely interesting ways to think about testing.

- [**Sticky Minds Blog**](https://www.stickyminds.com/sm-topics/testing "https://www.stickyminds.com/sm-topics/testing") - This blog is devoted to commercial test practices. It’s structured like a marketing blog, but it’s run by testing professionals who subscribe to the platform, and articles are vetted for quality. They also occasionally publish interesting white papers. It’s a good place to keep track of industry trends and explore testing case studies.

- [**Visible Quality Blog**](https://visible-quality.blogspot.com/ "https://visible-quality.blogspot.com/") - This is a tester from Finland who’s been blogging for many years. Her insights and observations come directly from her experience in different industries. It’s interesting to check in once in a while to see what’s on her mind.

- [**The Green Report**](https://www.thegreenreport.blog/ "https://www.thegreenreport.blog/") - This blog is almost entirely devoted to automated testing tools (such as Playwright and Cucumber). There is a vast library of posts offering tips and tricks for implementing automated tests in a wide variety of different circumstances.

## Essential Tools

Software Engineers use software engineering tools. Software test engineers use software test engineering tools. Here is a short list of tools I use every day:

* **Your brain** - As I've discussed in several other posts, your critical thinking skills are your first and most important tool. Everything else follows from that.
- **The web browser console** - As more and more applications have moved into the cloud, and more and more user interfaces have been designed around the web browser, the browser’s developer tools have become an ever more essential component of software testing. This is useful not just for peaking under the hood, but also for simulating behaviours, exploratory testing, and a wide variety of hacking applications.

- **A screen capture utility** - saving logs, config files, and results are an important part of testing. But sometimes there’s just no substitute for WYSIWYG. A screen cap utility read to hand is a must-have.

- **A terminal** - Even if you are a so-called “black box” tester, sometimes you need to do things to the box that just aren’t possible from a GUI window. In those instances, it is extremely useful to know how to get around the command line. Every OS has a default terminal application. Learn to use it.

- **An API probing tool** - The most popular options at the moment, are Insomnia, Postman, and [Bruno](https://www.usebruno.com/ "https://www.usebruno.com/") (my favourite). They all do pretty much the same things, in slightly different ways. If you’re feeling especially industrious, most of what is done in these tools can be done in scripting languages (especially Python).

- **A debugging proxy utility** - this may be only occasionally necessary, but when it is, it’s a lifesaver. Personally, I’ve used [Charles](https://www.charlesproxy.com/ "https://www.charlesproxy.com/") in such cases.

- **A scripting language** - It doesn’t necessarily matter what language, as long as it has the features needed to accomplish your testing needs. I’ve used Python, Bash, JavaScript, Go, Perl, Rexx, PROLOG, Java, and C# at various times in my own career.

- **A code and/or text editor** - Whether you use something simple like Notepad++ or Kate, or you prefer a fully kitted out development environment like Visual Studio or JetBrains IDEs, you’re eventually going to need a code editor. Even if only to inspect a config file or a json export. Pick one and get used to it. My favourite for lighter tasks, is [VIM](https://www.vim.org/ "https://www.vim.org/").

- **A ticketing system** - for logging test findings that are eligible for referral to the engineering backlog.

- **A test case management tool** - for creating “to do” lists for testing. This can be as simple as a basic text editor, or a complex as a full test case management software solution. The project will determine the need.

- **A test execution reporting tool** - this can be as simple as an email or comment on an engineer’s ticket, to a page in a confluence document stack, or as complex as a full test execution reporting software solution. The project will determine the need.
