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

78b75aad21ed5ed351d9822d77acd7fc?s=128

Maria Clara Santana

July 05, 2018
Tweet

Transcript

  1. 2.

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

    Instructor @ Udacity • Likes dogs and sparkling water
  2. 3.

    Types of software errors • Construction errors; • Specification errors;

    • Design errors; • Requirements errors; Toward a theory of test data selection, Softech Inc.
  3. 6.
  4. 7.
  5. 8.

    •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;
  6. 11.
  7. 12.
  8. 17.
  9. 18.
  10. 19.

    •Pro: More thorough tests; •Con: Can be complex and require

    a lot of work due to implementation changes;
  11. 21.
  12. 23.

    •If it fails, then the original program is wrong; •If

    it passes, then we should proceed with creating mutants;
  13. 25.

    •#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;
  14. 32.

    Many others… • Array constant replacement; • Logical connector replacement;

    • Relational operator replacement; • Constant replacement; • Return statement replacement; • Statement deletion; • …
  15. 33.
  16. 41.
  17. 45.
  18. 47.

    Trade-offs •Open-source; •Active maintenance and improvements; •Supports most of the

    mainstream runners (karma, jasmine, jest, …); •Does not support React;
  19. 49.
  20. 51.
  21. 53.

    Q&A