From 7cb10bd61714e394defdf18fa689ea6732dc222d Mon Sep 17 00:00:00 2001 From: Filipe Mazzon Date: Wed, 17 Mar 2021 12:34:45 -0300 Subject: [PATCH] =?UTF-8?q?docs(tests):=20sugest=C3=A3o=20de=20testes=20mu?= =?UTF-8?q?tantes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit adicionado uma breve explicação do que é testes mutantes e um exemplo de biblioteca, e entrarmos em discussão de adotarmos ou não este tipo de teste para o nosso ciclo. --- .gitignore | 2 ++ tests/README.md | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6c0b19c..60e5d84 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .DS_Store node_modules/ _book/ +.vscode +.idea diff --git a/tests/README.md b/tests/README.md index 830daeb..7b1d5e8 100644 --- a/tests/README.md +++ b/tests/README.md @@ -5,13 +5,14 @@ --- * [Teste Unitário](#teste-unitário) -* [Teste de Integração](#teste-de-integração) +* [Teste de Integração](#teste-de-integracao) * [Teste Funcional](#teste-funcional-caixa-preta) * [Teste de Integridade (performance, carga, stress](#teste-de-integridade-performance-carga-stress) * [Teste de Sanidade (Smoke test, health check)](#teste-de-sanidade-smoke-test-health-check) * [Teste E2E (aceitação)](#teste-e2e-aceitação) * [Teste de Acessibilidade (a11y)](#teste-de-acessibilidade-a11y) * [Teste de Regressão](#teste-de-regressão) +* [Teste Mutante](#teste-mutante) --- @@ -212,6 +213,20 @@ Pode ser feito manualmente ou ser automatizado --- +##Teste Mutante + +100% de coverage quer dizer que o seu software está bem testado? Não necessariamente! + +O coverage só diz que os seus testes passaram por toda linha de codigo, branches etc, +mas não quer dizer que você passou por todos os cenarios possíveis, +ai que entre os testes mutantes, onde por meio de algoritmos genetico, +ele cria uma 'população'/zombies de testes para testar o seu teste! +e ele verifica quantos zombies foram de acordo com o que os seus testes +dizem estar. + +um exemplo de biblioteca de teste mutantes para javascript é o [Stryker](https://stryker-mutator.io/) + + ## Pirâmide de testes ![image Pirâmide de testes](pyramid.png) @@ -342,7 +357,7 @@ Desvantagens: Quando usar `spies`: -`Spies` podem ser usados sempre que for necessário ter assertividade de uma dependência real ou, como em nosso caso, em um `fake`. Para casos onde é necessário ter muitos comportamos é provável que [stubs](#stub) e [mocks](mock) venham melhor a calhar. +`Spies` podem ser usados sempre que for necessário ter assertividade de uma dependência real ou, como em nosso caso, em um `fake`. Para casos onde é necessário ter muitos comportamos é provável que [stubs](#stub) e [mocks](#mock) venham melhor a calhar. ### Stub