inb4: Don't get me wrong OP, I don't think there's an issue with your article, just I do believe that "the testing theory industry" is full of bullshit and bullshitters.<p>_____________<p>That's quite a lot of fancy names for such a short concept:<p>Ensuring that software matches the specification.<p>What are even the differences between those 3?<p>1: Branch coverage testing<p>2: Control flow testing<p>3: Statement Coverage Testing<p>I'd say they are basically the same thing.<p>>Smoke testing<p>>This form of software testing evaluates the functionality of the essential or core features of a software application, verifies their expected behavior, and determines the stability of the application for subsequent testing phases. Performing this type of testing helps to avoid spending time and resources on an unstable or broken state, ensuring a more efficient use of resources.<p>??<p>seems like just yet another test, but just for the most important things in the system<p>why is this even relevant that this is worth mentioning it as yet another testing technique?<p>Sure, your tests may be expensive: e.g take 10 hours all, where core takes just 10min, but still is there a need for a name for a concept of running just limited scope of tests for the sake of faster feedback loop?
Two more:<p>- Fuzz testing: randomising inputs to validate the mapping to expected outputs.<p>- Mutation testing: changing code (`+` to `-`, `raise Foo` to `return`, etc.) to complement and validate the coverage metric.