Ranked awesome lists, all in one place
This list is a copy of ligurio/awesome-software-quality with ranks
List of Free Software Testing Resources
Intro
There is a list of free programming ebooks. And I have decided to create a similar list with books, courses and podcasts about software quality.
Subscribe to receive notificatons.
Testimonials
- Alexander Todorov (Open source QA, Senior QA engineer at Red Hat):
There’s a huge list of free books on the topic of software testing. This will definitely be my summer reading list. I hope you find it helpful.
Just found this gold and feel like I have to share it with the best testing community: Free Books about Software Testing!
Index
- Books
- Courses
- Podcasts
- Conferences
- Workshops and interactive learning tools
- Learned lessons
- Awesome lists
Books
In English
Software Testing Theory
- Perspectives on Agile Software Testing
- A Practical Guide to Testing in DevOps
- Programs and Proofs. Mechanizing Mathematics with Dependent Types. - Ilya Sergey @ilyasergey
- Measure Software Quality using Application Security (WIP) - Dinis Cruz
- The “A” Word - Alan Page
- Professional Software Development (Chapter: “5. Software Quality”) - Mike G. Miller
- Acceptance Test Engineering Guide, Vol. I - RC1
- A Software Testing Primer (PDF)
- Classic Testing Mistakes (PDF) - Brian Marick
- Code Coverage Analysis - Steve Cornett
- Practical Software Testing - STH in association with Chindam Damodar
- A Tutorial in Exploratory Testing (PDF)
- Essential Acceptance Testing
- Embedded Software Testing Methods Juho Lepistö
- Foundations of Software Testing: Fundamental Algorithms and Techniques Aditya P. Mathur
- Introduction to software testing (PDF)
- Manual Testing Help
- Mobile Testing: Ready Reckoner (PDF) - Ajay Balamurugadas, Sundaresan Krishnaswami
- Performance Testing Guidance
- Random testing book ★6 ⏳5Y DRAFT
- Software Testing: A Comprehensive Approach ★55 - Bill Laboon
- Software Testing Tutorial
- Software Testing Dictionary
- The Way of Testivus
- The Littleblack Book On Test Design (PDF)
- The Essential Guide to Mobile App Testing (PDF)
- UI and UX Testing: Ready Reckoner (PDF) - Ajay Balamurugadas
- What If: A collection of tips from a software tester (PDF) - Ajay Balamurugadas
- What If: 50+ tips to win testing contests (PDF) - Ajay Balamurugadas
- What If: 50+ tips to boost your productivity (PDF) - Ajay Balamurugadas
- What If: 50+ tips to improve tester-programmer relationship (PDF) - Ajay Balamurugadas
- Handbook of Software Reliability Engineering
- Mutation Testing: Better Code by Making Bugs - Filip van Laenen
- The Tao of Testing. A Field Manual for Software Engineers. - Jason Polites
- Observing and Reasoning About Errors
- The Little Black Book On Test Design – Rikard Endgren
Standards In software Testing
- Testing Standards Working Party
- The International Software Testing Standard
- Standard for Software Component Testing (PDF)
- Everything You Need to Know About Software Test Formats (in Russian)
- Software Testing Standards in NASA
- ECSS-Q-ST-80C Rev.1 – Software product assurance
Testing of Free and OpenSource Software
Testing by different programming languages
- PHPUnit PHP Test-Driven Development - Automated Tools to Improve Your PHP Code Quality
- Practical PHP testing
- Testing Erlang ★285 ⏳1Y
- Testing in Scala ★9 ⏳4Y
- Test-Driven Development - Extensive Tutorial ★199 - Grzegorz Gałęzowski
- Testing and Debugging JavaScript ★37 ⏳6Y
- Web Application Testing in Ruby Željko Filipin
Testing Tools
- The Evolving Art of Fuzzing (PDF) - Jared DeMott
- AccelTest (PDF)
- A Step-by-Step Guide to Functional Testing with TestComplete
- HP Quality Center Tutorial
- HP QuickTest Professional Tutorial
- .NET Performance Testing and Optimization - The Complete Guide (zip) - RedGate, By Paul Glavich and Chris Farrell
- Record-Playback Test Automation: Sahi & Selenium IDE
- Selenium 2.0 Using the WebDriver API to Create Robust User Acceptance Tests
- SoapUI 101: Beginner’s Guide to Functional Testing
- TestNG Tutorial
- JUnit Tutorial
- PropEr Testing - Fred Hebert
- Better Unit Testing with Microsoft Fakes
- Testing for Continuous Delivery with Visual Studio 2012
Formal methods
- Learn TLA+ - Hillel Wayne @hwayne
- Specifying Systems - Leslie Lamport
- The TLA+ Hyperbook - Leslie Lamport
- Books and papers about TLA+ and formal verification by Leslie Lamport
- Alloy Documentation - Daniel Jackson
- Introduction to Spin - Multiple Authors
- Software Foundations: 4.0, current, draft , epub ★13 - Benjamin C. Pierce & Co
- Verified Functional Algorithms - Andrew W. Appel
- Foundations of Computer Science - Dr Larry Paulson
- Principles of Model Checking - Christel Baier, Joost-Pieter Katoen
- Certified Programming with Dependent Types - Adam Chlipala @achlipala
- Formal Reasoning About Programs - Adam Chlipala @achlipala
- Concrete Semantics - Tobias Nipkow and Gerwin Klein @lsf37
- ML for the Working Programmer, 2nd Edition - Lawrence C. Paulson
- Proofs and Types - Jean-Yves Girard, Yves Lafont and Paul Taylor
- Proof assistants: History, ideas and future - H. Geuvers
- Design and validation of computer protocols - Gerard J. Holzmann
- Introduction to Logic - Michael Genesereth, Eric Kao (Stanford University)
- An Introduction to Formal Logic - P.D. Magnus (University at Albany)
- A Problem Course in Mathematical Logic - Stefan Bilaniuk (Trent University)
- Language, Proof, and Logic - Jon Barwise, John Etchemendy
- Mathematical Logic - Helmut Schwichtenberg
- Mathematical Logic - Stephen G. Simpson (Pennsylvania State University)
- Formal Logic - Miguel Palomino
- Is Parallel Programming Hard, And, If So, What Can You Do About It? ★19 (chapters “Validation” and “Formal verification”) - Paul E. McKenney @paulmckrcu
- More books…
- Formal Methods of Software Design
In Russian
Управление проектами
- Черная книга менеджера (pdf, epub, mobi) Слава Панкратов
- Белая книжная полка менеджера (epub, mobi, zip)
- Как стать менеджером (pdf, epub, mobi) - Слава Панкратов, Александр Орлов
- It starts with a great product
Тестирование ПО
- Test-Driven Development in Practice ★6 ⏳1Y - Сергей Борисов
- Тестирование программного обеспечения. Базовый курс. - Святослав Куликов
- Всё, что вам нужно знать о форматах отчётов в тестировании ПО - Сергей Бронников
- Руководство по тестированию пользовательского опыта для сайтов, мобильных приложений и прототипов
- Автоматизация тестирования от «А» до «Ы» - Gennadiy Alpaev
- Учебник по SilkTest - Gennadiy Alpaev
- Учебник по TestComplete - Gennadiy Alpaev
Формальные методы
- Верификация программ методом Model Checking - А.М.Миронов
- http://is.ifmo.ru/verification/
- Введение в язык Promela и систему комплексной верификации Spin - И.В. Шошмина, Ю.Г. Карпов
- Тестирование на основе моделей - В.В. Кулямин
- Практикум по математической логике. Coq.
Courses
In English
- Software Engineering: Introduction
- Software Debugging
- Software Analysis & Testing
- Fundamentals of TDD
- Critical Reasoning for Beginners
- Reasoning Across the Disciplines
- Discrete Mathematics and Probability Theory
- Mathematical Logic
- Engineering Ethics
- Engineering Ethics
- Software Development Process: Part 1, Part 2, Part 3
Software Testing
- Black Box Software Testing course - Cem Kaner, J.D. Ph.D.
- Software Testing
- Embedded Software Testing
- Software Testing Fundamentals
- Software Testing Methods
- QA Academy ★17 ⏳2Y
- QA and Automation course ★17 ⏳2Y
- Software Testing and Verification
- Introduction to Software Testing
- Software Testing - Black-box Strategies and White-box Testing
- Diploma in Software Testing
- Software Testing - Testing Levels and Object-Oriented Program Testing
- Software Testing - Condition Coverage and Mutation Testing Strategies
- Software Testing Training
- Quality Center Training
- QTP Training
- Selenium Tutorials
- Selenium WebDriver Course
Fuzz testing
- Intro: Unknown vulnerability management and discovery using fuzzing
- Part 1: What are unknown vulnerabilities and why should I care
- Part 2: What is fuzz testing, and where does it fit in the world of software?
- Part 3: How and why fuzz testing, and managing your unknown vulnerabilities saves money
- Part 4: Fuzz testing techniques: unfuzzing the fuzzing
Software Testing Management
User Testing
Security Testing
Performance Testing
Formal Software Verification
- Formal Specification
- Formal Software Verification and Formal Software Verification (previous page of the course)
- Logic, Languages, Compilation, and Verification (Youtube)
- A survey of automated theorem proving
- Tutorials and advanced lectures
- Types Project
- Introduction to Formal Systems and Computation
- CSE 814 Formal Methods in Software Engineering (slides)
Coq
- Coq in a Hurry
- Programs and Proofs in the Coq Proof Assistant
- An Introduction to the Coq Proof Assistant
- Introduction to the Coq Proof Assistant
- Coq Intensive - DeepSpec Summer School
- Interactive Computer Theorem Proving
- Coq tutorials
- Type Theory and Coq
- Logical Verification
- Modelling and verifying algorithms in Coq: an introduction
- Formal Reasoning About Programs
- Software foundations in Coq 0.1 - Benjamin Pierce
- Compiler Certification — Xavier Leroy
Isabelle/HOL
Model Checking
- The TLA+ Video Course
- Dr. TLA+ Series ★272
- Theorem Proving and Model Checking in PVS - Edmund M. Clarke
- mCRL2 System Validation: Automata and behavioural equivalences
- mCRL2 System Validation (2): Model process behaviour
- mCRL2 System Validation (3): Requirements by modal formulas
- mCRL2 System Validation (4): Modelling Software, Protocols, and other behaviour
In Russian
- Основы программной инженерии
- Введение в программную инженерию
- Введение в технологию программирования
- Юнит-тестирование и метрики покрытия кода тестами
- Методы анализа и обеспечения качества ПО
Тестирование ПО
- Основы тестирования программного обеспечения
- Основы тестирования ПО
- Основы тестирования программного обеспечения
- Школа автоматизации процессов разработки
- Школа тестирования баннерной системы
- Software Testing
- Software Testing 101 (на английском, на русском)
- Software Testing 102
- Software Testing 103
- Тестирование ПО
- Школа тестирования: Ручное тестирование и Автоматизация тестирования (Youtube)
- Тестирование на основе моделей (слайды)
Формальная верификация ПО
- Верификация программ на моделях
- Верификация параллельных и распределенных программных систем (PDF)
- Формальные методы обеспечения качества ПО
- Верификация программного обеспечения
- Software Verification
- Теория соответствия для систем с блокировками и разрушением - И.Б. Бурдонов, А.С. Косачев, В.В. Кулямин
- Введение в формальные методы верификации программ – А.С. Камкин
- Методы верификации программного обеспечения – В.В. Кулямин
- Формальная спецификация и верификация программ (практикум)
Workshops and interactive learning tools
- Learn TLA
- tla_workshop ★11
- test-anything
- https://math-comp.github.io/mcb/
- LibFuzzer Wokshop ★545
- LibFuzzer Tutorial
- Interactive Z3 Guide
- Code-defenders game (mutation testing)
- RoboBUG: A Debugging Game
- Robot ON! A Program Understanding Game
- FireFinder
- Threaded Paws: A Concurrency Game
- Verigames
- Edukera
Conferences
Podcasts
Russian
English
- Python Testing
- AB Testing
- Test Talks
- Testing Bias
- The Testing Show
- Let’s Talk About Tests
- Testing In The Pub
- Testing Podcast
- TestCast
- CodingQA
- The Ministry of Testing Podcast
- TDD in context
Learned lessons
- NASA Public Lessons Learned System
- Flight Software Engineering Lessons
- Forum on Risks to the Public in Computers and Related Systems
Awesome lists
- Fuzzing testing ★1820
- Mutation testing ★21
- Chaos Engineering ★1305
- Static analysis ★3367
- TAP (Test Anything Protocol) ★420
- Selenium ★183
- Symbolic execution ★143
- Coq Proof Assistant ★147
- awesome-provable ★8
- Visual regression testing ★497
- List of verification and synthesis tools
- Testing of distributed systems ★406
- A curated list of useful resources for AutoIt ★230
License
To the extent possible under law, Sergey Bronnikov has waived all copyright and related or neighboring rights to this work. —
This list is a copy of ligurio/awesome-software-quality with ranks