On Reddit today, someone asked “What is the best kind of testing?” That’s a loaded question.
I replied:
There are layers of software testing (unit, component, system, end to end, user acceptance, etc) and various types (manual, guided, exploratory, crowd sourced, scripted automation, no-code automation). Where you start depends on the scope of the application under test (AUT), the risks involved, etc. I typically 25% of a project budget being allocated to testing…and here it is often 60% of the project effort.
But then someone else added this longer list:
This list is from the Continuous Delivery youtube channel. There is no one “best” they all fill different requirements.
Types of Testing
Pre-Production
- [[Unit Tests]]
- [[Functional Tests]]
- [[Component Tests]]
- [[Fuzz Tests]]
- [[Static Analysis]]
- [[Property Based Tests]]
- [[Coverage Tests]]
- [[Benchmark Tests]]
- [[Regression Tests]]
- [[Contract Tests]]
- [[Lint Tests]]
- [[Acceptance Tests]]
- [[Mutation Tests]]
- [[Smoke Tests]]
- [[UI/UX Tests]]
- [[Usability Tests]]
- [[Penetration Tests]]
- [[Threat Modelling]]
- [[Integration Tests]]
- [[Tap Compare]]
- [[Load Tests]]
- [[Shadowing]]
- [[Config Tests]]
Production Testing
Release
- [[Canary]]
- [[Monitoring]]
- [[Traffic Swapping]]
- [[Feature Flags]]
- [[Exception Tracking]]
Post Release
- [[Teeing]]
- [[Profiling]]
- [[Logs/Events]]
- [[Chaos Testing]]
- [[A/B Tests]]
- [[Tracing]]
- [[Dynamic Exploration]]
- [[Real User Monitoring]]
- [[Auditing]]
- [[On Call Experience]]