Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Who watches the watchmen: testing our tests

Who watches the watchmen: testing our tests

The talk was given at JS Experience 2018. https://eventos.imasters.com.br/jsexperience

Maria Clara Santana

July 05, 2018
Tweet

More Decks by Maria Clara Santana

Other Decks in Programming

Transcript

  1. Maria Clara • Front-end Developer @ Picter • Live Coding

    Instructor @ Udacity • Likes dogs and sparkling water
  2. Types of software errors • Construction errors; • Specification errors;

    • Design errors; • Requirements errors; Toward a theory of test data selection, Softech Inc.
  3. •Pro: Allows to check the functionality of a program without

    worrying with the structure behind it; •Con: Does not offer insights about the tested program’s structure;
  4. •Pro: More thorough tests; •Con: Can be complex and require

    a lot of work due to implementation changes;
  5. •If it fails, then the original program is wrong; •If

    it passes, then we should proceed with creating mutants;
  6. •#1: given the test data, the modified versions have different

    outputs from the original one; •#2: some (or all of them) versions have the same output of the original one;
  7. Many others… • Array constant replacement; • Logical connector replacement;

    • Relational operator replacement; • Constant replacement; • Return statement replacement; • Statement deletion; • …
  8. Trade-offs •Open-source; •Active maintenance and improvements; •Supports most of the

    mainstream runners (karma, jasmine, jest, …); •Does not support React;
  9. Q&A