Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iammike/awesome-qa-links

A curated list of blogs, articles, videos, and podcasts on software testing
https://github.com/iammike/awesome-qa-links

List: awesome-qa-links

Last synced: 3 months ago
JSON representation

A curated list of blogs, articles, videos, and podcasts on software testing

Awesome Lists containing this project

README

        

# Awesome QA Links [![Awesome](https://awesome.re/badge-flat.svg)](https://awesome.re) [![Link Checker](https://github.com/iammike/awesome-qa-links/actions/workflows/link-checker.yml/badge.svg)](https://github.com/iammike/awesome-qa-links/actions/workflows/link-checker.yml)
A curated list of blogs, articles, videos, and podcasts on software testing.

## Background
I've been in the software quality industry for more than two decades. I read a lot of blogs and try to keep up with happenings.
A long time ago, I created a Google Doc to manage this list. In hindsight, it should have been a web page since [I run a blog](http://www.iammike.org),
but by the time I decided to do anything about it, I realized an [Awesome repo](https://www.awesome.re) made more sense.
Special thanks to [Awesome Testing](https://github.com/TheJambo/awesome-testing) for the inspiration and some "borrowed" boilerplate.

All links have been curated by me personally as beneficial to software testing in general or the specific work I do (a focus on iOS automation).

\* denotes an article I've written or site I maintain.

## Contents

- [General](#General)
- [Automation](#Automation)
- [Coding](#Coding)
- [Mobile](#Mobile)
- [Other](#Other)
- [Web](#Web)

## General

- [@Beaglesays](https://beaglesays.blog/home-page/) (Site)
- [100% Coverage is Possible](https://www.developsense.com/blog/2016/04/100-coverage-is-possible/)
- [A Career Retrospective](https://visible-quality.blogspot.com/2019/11/a-career-retrospective.html)
- [A Mobile App Test Strategy](https://youtu.be/Cr8-Z3HyJpk) (Video)
- [A Seasoned Tester’s Crystal Ball](https://visible-quality.blogspot.com) (Site)
- [A Tester's Report On The Quality Assitance Model](https://www.linkedin.com/pulse/better-software-faster-testers-report-quality-assistance-knnze/)
- [Accessibility Testing Tools](https://github.com/akikoo/accessibility-testing-tools)
- [Awesome Testing](https://github.com/TheJambo/awesome-testing#readme) (Site/Repo)
- [The Bearded Tester](https://beardedtester.substack.com) (Site)
- [Big List of Nasty Strings](https://github.com/minimaxir/big-list-of-naughty-strings)
- [Bug Bash](https://en.wikipedia.org/wiki/Bug_bash) (Definition)
- [Developsense](https://www.developsense.com/blog/) (Site) - Michael Bolton
- [Eli Schiff](http://www.elischiff.com/) (Site) - Design
- [Evil Tester](https://www.eviltester.com) (Site)
- [Feel Free to Deploy on Friday](https://dev-tester.com/feel-free-to-deploy-on-friday/)
- [Free Learning Resources for Testers](https://github.com/PaulWaltersDev/FreeLearningResourcesForSoftwareTesters)
- [Goodbye Testing Columns: Part 1](https://undevelopedbruce.com/2019/11/18/goodbye-testing-part-1/)
- [Goodbye Testing Columns: Part 2](https://undevelopedbruce.com/2019/12/13/goodbye-testing-columns-part-2/)
- [Goodbye Testing Columns: Part 3](https://undevelopedbruce.com/2020/02/03/goodbye-testing-columns-part-3/)
- [Google Testing Blog](https://testing.googleblog.com) (Site)
- [How Microsoft Does QA](https://blog.pragmaticengineer.com/how-microsoft-does-qa/)
- [How Should I Organize My Test Team?](https://responsibleautomation.wordpress.com/2023/01/03/how-should-i-organize-my-automation-team/)
- [How They Test](https://github.com/abhivaikar/howtheytest)
- [How To Break Your Apps Before I Do](https://vimeopro.com/360conferences/360idev-2013/video/75276034) (Video)
- [Integrated Tests Are A Scam](https://blog.thecodewhisperer.com/permalink/integrated-tests-are-a-scam)
- [iammike.org - QA Tag](https://www.iammike.org/category/qa/) (Site)*
- [I’m A Little Tester](https://imalittletester.com) (Site)
- [Jean’s Blog](https://jhandguy.github.io/tags/ios/) (Site)
- [Kevin Tuck](https://kevintuck.co.uk/blog/) (Site)
- [Learning By Shipping](http://medium.learningbyshipping.com) (Site)
- [Lessons Learned By A Software Tester](http://swtester.blogspot.com) (Site)
- [Maybe Getting Rid of Your QA Team was Bad, Actually](https://davidkcaudill.medium.com/maybe-getting-rid-of-your-qa-team-was-bad-actually-52c408bd048b)
- [Ministry of Testing](https://www.ministryoftesting.com) (Site/Community)
- [Mobile Testing Checklist](https://drive.google.com/file/d/1yukOg5256jOqTL-1weAi4XzmJWHgB7_W/view)
- [Overcoming Imposter Syndrome](https://kevintuck.co.uk/overcoming-imposter-syndrome-and-gaining-context-as-a-software-tester/)
- [The Practical Test Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html)
- [Prisoner’s Dilemma in Testing](https://salmonmode.github.io/2020/12/16/prisoners-dilemma-in-testing.html)
- [Quality Narratives Are a Better Form of Quality Reporting](https://callumakehurstryansblog.wordpress.com/2022/03/24/quality-narratives-are-a-better-form-of-reporting/)
- [Responsible Automation](https://responsibleautomation.wordpress.com)
- [StickyMinds](https://www.stickyminds.com) (Site)
- [Story Points v. Time](https://softwareengineering.stackexchange.com/questions/182057/why-do-we-use-story-points-instead-of-man-days-when-estimating-user-stories)
- [Test Case Points](https://responsibleautomation.wordpress.com/2023/09/20/need-a-testing-metric-put-points-on-your-test-cases/)
- [Test Heuristics Cheat Sheet](https://www.ministryoftesting.com/articles/test-heuristics-cheat-sheet)
- [Testers and the Quote Culture](http://testerstories.com/2019/06/testers-and-the-quote-culture)
- [Testers Don’t Break Software](https://www.developsense.com/blog/2015/02/very-short-blog-posts-25-testers-dont-break-the-software/)
- [Testers, Now More Than Ever](https://developsense.com/blog/2024/03/testing-now-more-than-ever)
- [TestGuild Automation](https://podcasts.apple.com/us/podcast/testguild-automation-podcast/id826722706) (Podcast)
- [Testing Advice To Your Younger Self](https://qatoddy.medium.com/testing-advice-to-your-younger-self-an-open-question-to-reddit-4de786a991b5)
- [Testing Checklists](https://github.com/automationhacks/testing-checklists)
- [Testing Deep and Shallow 1: Coverage](https://www.developsense.com/blog/2022/01/testing-deep-and-shallow/)
- [Testing Deep and Shallow 2: “Shallow” is a feature, not an insult!](https://www.developsense.com/blog/2022/01/testing-deep-and-shallow-2-shallow-is-not-an-insult/)
- [Testing Is…](https://www.developsense.com/blog/2014/10/testing-is/)
- [Testing Peers](https://podcasts.apple.com/us/podcast/testing-peers/id1512731235) (Podcast)
- [That’s a Bug](http://thatsabug.com) (Site)
- [Tooth of the Weasel](https://angryweasel.com/blog/) (Site) - Alan Page
- [Undeveloped Bruce](https://undevelopedbruce.com) (Site)
- [Unveiling the Mythical Creatures of Software QA Job Descriptions](https://medium.com/@karlamieses.km/unveiling-the-mythical-creatures-of-software-qa-job-descriptions-navigating-unrealistic-0efb807ecab8)
- [Visual Risk Planning](https://bughuntersam.com/visual-risk-ui-automation-framework/)
- [What 3 Testing Books Would You Recommend?](https://club.ministryoftesting.com/t/what-3-testing-books-would-you-recommend-to-a-tester/25040)
- [What To Do When You Have Nothing To Test](https://dev-tester.com/what-do-you-do-when-you-have-nothing-to-test/)
- [Why Bother Writing Tests?](https://dave.cheney.net/2019/05/14/why-bother-writing-tests-at-all)
- [Why You Need To Have A Dashboard](https://kevintuck.co.uk/why-you-need-to-have-a-dashboard/)
- [The Zero Defect Fallacy](http://testerstories.com/2019/10/the-zero-defect-fallacy/)

## Automation

- [11th (and Golden) Commandment of Test Automation](https://responsibleautomation.wordpress.com/2020/09/08/the-11th-commandment-the-automation-golden-rule/)
- [Agile Testing Automation](http://swtester.blogspot.com/2015/04/agile-testing-automation.html?m=1)
- [Angie Jones](http://angiejones.tech) (Site)
- [Automate For Yourself](https://www.eviltester.com/blog/eviltester/testautomation/automate-for-yourself-first/)
- [Automated Testing on Devices](https://medium.com/netflix-techblog/automated-testing-on-devices-fc5a39f47e24) (Netflix)
- [Automation Comic](https://xkcd.com/1319/) (XKCD)
- [Automation Step By Step](https://automationstepbystep.com) (Site)
- [Automation Testing Practice Website for UI and API](https://practice.expandtesting.com)
- [BDD Conference Notes](https://docs.google.com/document/d/1UGWQ7ctiTR0pll7wO9EWatnJBeO-90Ue21lTea5Ou4g/mobilebasic)
- [The Build That Cried Broken](https://www.youtube.com/watch?v=VotJqV4n8ig) (Video, 40min)
- [Can We Effectively Use Thread.sleep?](https://www.eviltester.com/blog/eviltester/2020/06/09-thread-sleep-usage/)
- [Developers Who Test](https://www.developerswhotest.com) (Podcast)
- [Do You Really Need That Cucumber With Your Selenium?](https://www.ontestautomation.com/do-you-really-need-that-cucumber-with-your-selenium/)
- [Don’t Let Flaky Test Ruin Your Automation](https://dev-tester.com/dont-let-flaky-tests-ruin-your-automation/)
- [Don’t Eat Stale Automation](https://responsibleautomation.wordpress.com/2017/04/11/dont-eat-stale-automation/)
- [Flaky Testing](https://www.developsense.com/blog/2021/02/flaky-testing/)
- [From Fragile to Agile: Automating the fight against flaky tests](https://www.reddit.com/r/RedditEng/comments/1ap4axo/from_fragile_to_agile_automating_the_fight/)
- [How to Decide Which Tests to Automate](https://kevintuck.co.uk/how-to-decide-which-tests-to-automate/)
- [How Slow is Too Slow to Run Your Tests?](https://dev-tester.com/how-slow-is-too-slow-to-run-your-tests/)
- [The Myth of "Unstable" Code](https://gerg.dev/2024/02/the-myth-of-unstable-code/)
- [One Tool To Rule Them All?](https://web.archive.org/web/20150712112540/http://www.stephenblower.co.uk/blog/26/03/2013/test-automation-one-tool-to-rule-them-all/)
- [Parallelization test automation? Read this first.](https://responsibleautomation.wordpress.com/2021/07/08/parallelizing-test-automation-read-this-first/)
- [Problems with Test Automation and Modern QA](https://devqa.io/problems-test-automation-modern-qa/)
- [Prune Your Automation!](https://web.archive.org/web/20200126223527/https://archdevops.com/2018/07/31/prune-your-automation-2/)
- [Redefining Test Automation](https://youtu.be/uIDvGzQdoxc) (Video)
- [Regression Testing Can Never Be Fully Automated](https://kevintuck.co.uk/regression-testing-can-never-be-fully-automated)
- [Responsible Automation](https://responsibleautomation.wordpress.com) (Site)
- [Setting the Foundation for Test Automation Success](https://kevintuck.co.uk/setting-the-foundation-for-test-automation-success/)
- [Test Automation Patterns Wiki](https://testautomationpatterns.org/wiki/index.php/Main_Page) (Site)
- [Test Automation University](https://testautomationu.applitools.com) (Site/Community)
- [Test Double](https://martinfowler.com/bliki/TestDouble.html)
- [Testing Flakiness (Part 2)](https://testing.googleblog.com/2021/03/test-flakiness-one-of-main-challenges.html)
- [Three Ways to Achieve In-Sprint Automation](https://angiejones.tech/in-sprint-test-automation/)
- [Two Easy Questions To Help You Automate The Right Tests](https://dev-tester.com/two-easy-questions-to-help-you-automate-the-right-tests/)
- [Unscripted Automation](http://staqs.com/pubs/Unscripted_Automation_PC2009.pdf)
- [What To Automate And When](https://www.iammike.org/2020/04/21/what-to-automate-and-when/)*
- [When Test Automation ROI Doesn’t Make Financial Sense](http://www.qarevolution.com/when-test-automation-roi-doesnt-make-financial-sense/)
- [Which Tests Should We Automate](https://www.youtube.com/watch?v=VL-_pnICmGY) (Video, 35min) [[Slides](https://slides.com/angiejones/which-tests-should-we-automate#/20) and [spreadsheet](https://drive.google.com/file/d/11JVP8z7KHYEsxEqkO1wul5tPfLAk1TsG/view)]

## Coding

- [Avoid the Long Parameter List](https://testing.googleblog.com/2024/05/avoid-long-parameter-list.html)
- [Best Practices When Doing Code Reviews - Part 1](https://pspdfkit.com/blog/2022/best-practices-when-doing-code-reviews/)
- [Don't DRY Your Code Prematurely](https://testing.googleblog.com/2024/05/dont-dry-your-code-prematurely.html)
- [Essays on Programming](https://www.benkuhn.net/progessays)
- [How Principled Coders Outperform the Competition](https://www.youtube.com/watch?v=q1qKv5TBaOA) (Video)
- [How to Make Your Code Reviewer Fall in Love With You](https://mtlynch.io/code-review-love/#1-review-your-own-code-first)
- [Naming Things in Code](https://www.youtube.com/watch?v=-J3wNP6u5YU) (Video, 7 minutes)
- [On the Importance of Naming](https://wasp-lang.dev/blog/2023/10/12/on-importance-of-naming-in-programming)
- [Premature Optimization](https://www.youtube.com/watch?v=tKbV6BpH-C8) (Video)
- [Proof Your Thousand Line PRs Result In More Bugs](https://tekin.co.uk/2020/05/proof-your-thousand-line-pull-requests-create-more-bugs)
- [Refactoring and Design Patterns](https://refactoring.guru) (Site)

### Git
- [git add -p is Your Friend](https://gist.github.com/mattlewissf/9958704)
- [How to Clean Up Git Branches](https://devconnected.com/how-to-clean-up-git-branches)
- [In Praise of Small Pull Requests](https://testing.googleblog.com/2024/07/in-praise-of-small-pull-requests.html)

### Patterns

- [Page Object Model: Abstract Everything](https://www.iammike.org/2021/02/24/page-object-model-abstract-everything/)*
- [Tips for Healthy Page Object Classes](https://angiejones.tech/page-object-model/)
- [What is the Screenplay Pattern? - Part 1](https://qualitytesting.tumblr.com/post/173669653014/what-is-the-screenplay-pattern-part-1-of-3)

## Mobile

- [Adventures in Automation](http://www.tjmaher.com) (Site) - Good guide for initial setup and how the pieces/parts work.
- [Appium Pro](https://appiumpro.com) (Site)

### Android

- [Android BDD with Cucumber and Espresso](https://medium.com/gumtree-dev-team/android-bdd-with-cucumber-and-espresso-the-full-guide-9c20cfcb8535)
- [Android Testing Code Samples](https://github.com/android/testing-samples)
- [Android Testing Tools](https://www.awesome-testing.com/2020/04/android-testing-tools.html)
- [Automate User Interface Tests](https://developer.android.com/training/testing/ui-testing) - Android Dev Guide
- [Espresso](https://developer.android.com/training/testing/espresso) - Android Dev Guide
- [Espresso Cheat Sheet](https://developer.android.com/training/testing/espresso/cheat-sheet)
- [How to Reduce Flakiness in Automated UI Testing on Android](https://pspdfkit.com/blog/2020/reduce-flakiness-automated-ui-testing-android/)
- [How to Test Jetpack Compose](https://www.droidcon.com/2021/11/12/how-to-test-jetpack-compose/)
- [Jetpack Compose Testing Cheatsheet](https://developer.android.com/jetpack/compose/testing-cheatsheet)
- [Test-Driven Development Tutorial](https://www.raywenderlich.com/7109-test-driven-development-tutorial-for-android-getting-started)
- [Wait for it… Idling Resource and ConditionWatcher](https://medium.com/azimolabs/wait-for-it-idlingresource-and-conditionwatcher-602055f32356)
- [Writing and Using Hamcrest Matchers](https://www.slideshare.net/shaiyallin/hamcrest-matchers)

### iOS

- [Bundle IDs for Native iOS Apps](https://support.apple.com/guide/deployment/bundle-ids-for-native-ios-and-ipados-apps-depece748c41/web)
- [Catbird HTTP Mocking Framework](https://github.com/RedMadRobot/catbird)
- [Clean Waiting in XCUITest](https://sourcediving.com/clean-waiting-in-xcuitest-43bab495230f)
- [Deflaking CI Tests with xcresults](https://pspdfkit.com/blog/2021/deflaking-ci-tests-with-xcresults/)
- [Deleting Your App During UI Tests](https://www.jessesquires.com/blog/2021/10/25/delete-app-during-ui-tests/)
- [Getting Started with Mocking Networking in UI Tests](https://augmentedcode.io/2022/07/11/getting-started-with-mocking-networking-in-ui-tests-on-ios/)
- [Handle Interruptions and Alerts in UI Tests - WWDC 2020](https://developer.apple.com/videos/play/wwdc2020/10220/) (Video)
- [How to Test Push Notifications with UI Tests](https://medium.com/azimolabs/https-medium-com-pawel-zemsta-how-to-test-push-notifications-in-ui-tests-8ac76007c095)
- [How to Train Your XCTest](https://blog.scottlogic.com/2019/04/30/how-to-train-your-xctest.html)
- [Getting Started with Test Plans](https://web.archive.org/web/20230928001450/https://shashikantjagtap.net/wwdc19-getting-started-with-test-plan-for-xctest/)
- [Improving XCTest Name Readability](https://web.archive.org/web/20230528092315/https://masilotti.com/xctest-name-readability/)
- [iOS Testing Mindmap](http://www.neglectedpotential.com/2013/10/ios-testing-mind-map-1-2)
- [iOS UI Testing using Apple XCUITest](https://gopekannan.wordpress.com/2018/02/16/ios-ui-testing-using-apple-xcuitest/)
- [Making Xcode UI Tests Faster and More Stable](https://blog.bitrise.io/post/making-xcode-ui-tests-faster-and-more-stable)
- [Page Object in XCTest UI Tests](https://alexilyenko.github.io/xcuitest-page-object/)
- [Painless UI Testing in iOS (Part 1) - Mocking the Network](https://jhandguy.github.io/posts/mocking-the-network-ios/)
- [Parallel Tests with XCUITest](https://alexilyenko.github.io/ios-parallel-tests/)
- [r/XCUITest](https://www.reddit.com/r/xcuitest/)*
- [Reddit's UI Testing Strategy and Tooling](https://www.reddit.com/r/RedditEng/comments/14gd9gc/ios_ui_testing_strategy_and_tooling/)
- [Safari and XCUITest](https://www.iammike.org/2021/03/25/safari-and-xcuitest/)*
- [Shock HTTP Mocking Framework](https://github.com/justeat/Shock)
- [TDD iOS Network API Call w/ XCTest](https://medium.com/swift2go/tdd-ios-network-api-call-with-xcode-xctest-34f778e36344)
- [Testing in Xcode - WWDC 2019](https://developer.apple.com/videos/play/wwdc2019/413/) (Video)
- [Timer Patterns in XCUITest](https://www.iammike.org/2022/03/21/timer-patterns-in-xctest-and-xcuitest/)*
- [Typing Text in XCUITest](https://www.iammike.org/2022/02/21/the-most-efficient-way-to-type-text-in-xcuitest/)*
- [Waits in XCUITest](https://alexilyenko.github.io/xcuitest-waiting/)
- [Write Tests To Fail - WWDC 2020](https://developer.apple.com/videos/play/wwdc2020/10091) (Video)
- [XCTest Tips and Tricks](https://web.archive.org/web/20231213083954/https://masilotti.com/xctest-tips-and-tricks/)
- [XCTest-Gherkin](https://cocoapods.org/pods/XCTest-Gherkin)
- [XCTool](https://github.com/facebook/xctool)
- [XCToolbox](https://github.com/iammike/XCToolbox/tree/main)*
- [XCTSkip Your Tests - WWDC 2020](https://developer.apple.com/videos/play/wwdc2020/10164/) (Video)
- [XCUITest Automation Tutorial](https://youtube.com/playlist?list=PLm1H7BhTknlYQLMS43luOzChT8L0MBbiL) (Video Playlist)
- [XCUITest Basics](https://alexilyenko.github.io/xcuitest-basics/)
- [XCUITest Cheat Sheet](https://masilotti.com/ui-testing-cheat-sheet/)
- [XCUITest Parallelization and Optimization](https://www.iammike.org/2021/01/21/xcuitest-parallelization-and-optimization/)*
- [XCUITest Primer](https://youtu.be/nODHDfZhSQU) (Video)
- [XCUITest Training Course](https://testautomationu.applitools.com/introduction-to-ios-test-automation-with-xcuitest/)

### CI

- [Getting an xcresult out of CircleCI](https://www.iammike.org/2021/04/30/getting-an-xcresult-out-of-circleci/)*
- [iOS CI Olympics](http://shashikantjagtap.net/ios-ci-olympics-competition-cloud-ios-continuous-integration-servers/)
- [Setting Up XCUITest for iOS CI](https://bitbar.com/blog/setting-up-xcuitest-for-ios-continuous-integration/)
- [Test Automation University](https://testautomationu.applitools.com/introduction-to-ios-test-automation-with-xcuitest/chapter8.html) (Video)
- [Testing iOS Appications on macOS - CircleCI](https://circleci.com/docs/2.0/testing-ios/)
- [XCUITest, Parallelization, and CircleCI](https://www.iammike.org/2021/03/04/xcuitest-circleci-and-parallelization/)*

## Web

- [My Favorite Chrome Dev Tools Tips and Tricks](https://www.freecodecamp.org/news/awesome-chrome-dev-tools-tips-and-tricks/)
- [What the Heck is Shadow DOM?](https://glazkov.com/2011/01/14/what-the-heck-is-shadow-dom/)

### Cypress

- [Cypress: PageObjects vs AppActions](https://www.diogonunes.com/blog/cypress-pageobjects-vs-appactions/)
- [Visual Regression Testing with Cypress.io and cypress-image-snapshot](https://medium.com/norwich-node-user-group/visual-regression-testing-with-cypress-io-and-cypress-image-snapshot-99c520ccc595)

### Playwright

- [Playwright's Auto Wait is Simple and Superb](https://ceroshjacob.medium.com/playwrights-auto-wait-is-simple-and-superb-7b537bc00657)

## Other

- [jq: A Practical Guide](https://youtu.be/j7xZ2VkLYIY?si=efTOAsIgvBTeVlwx) (Video)

## Contributing
See the *Awesome QA Links* [contribution guide](CONTRIBUTING.md) for details on how to contribute.

## Code of Conduct
See the [Code of Conduct](CODE_OF_CONDUCT.md) for details. Basically it comes down to:
> We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
>
> We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

## License
[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)

To the extent possible under law, [the
contributors](https://github.com/iammike/awesome-qa-links/graphs/contributors)
have waived all copyright and related or neighboring rights to this work. See the
[license file](LICENSE) for details.