SlideShare uma empresa Scribd logo
1 de 2
Baixar para ler offline
Testes de Unidade – intuição
Por Lucas Dias
Testes estruturais são voltados para implementação, diferentemente dos
funcionais que estão relacionados à especificação. O tipo de teste estrutural mais
popular são os testes de unidades, que são úteis para aumentar a confiança de que o
código funciona da maneira esperada. Para tal, são fornecidos dados válidos e dados
inválidos através da entrada e saída (input e output) para avaliar qual o comportamento
do código. Além disso, por unidade entendemos o menor componente testável de
uma aplicação, uma área bem pequena. Por exemplo, no caso do sistema de cadastro
do gmail, poderia ser testar se aceita cadastro com um e-mail sem @. Isso seria apenas
uma possibilidade.
Nesse contexto de possibilidades, podemos trazer à tona o conceito de
cenários, que seriam as possibilidades de testes para uma dada funcionalidade. A título
de exemplo, poderíamos investigar a tentativa de realizar um cadastro sem fornecer
um nome, e-mail, senha ou qualquer outra informação relevante e constatar como o
sistema lida com isso.
No que diz respeito os cenários, a criação de testes para ele é importante
porque permite alcançarmos uma boa cobertura, que significa a porcentagem daquele
código está sendo verificada. Quanto mais alta a cobertura, maior a nossa confiança de
que o código está adequado, muito embora seja sempre uma confiança, nunca uma
certeza, pois cobertura não garante corretude. Além desse fato, temos a existência de
variados tipos de coberturas, por exemplo: de caminhos (uma sequência de instruções
possíveis sendo executadas), instruções (passar por cada linha de código pelo menos
uma vez), gramática (uso de palavras reservadas da linguagem), entre outras. A
cobertura mais importante é a de caminhos, tendo em vista que representa um
uso do sistema mais próximo do real. Ela, por si só, já garante a cobertura de
instruções, já que se passou por todos os caminhos, passou por cada linha.
Ainda dentro de cenários, temos um conceito importante: o de
complexidade ciclomática ou complexidade de condições. Ela avalia a
quantidade de caminhos de execução a partir do código fonte, sendo que cada
condicional representa possibilidades de caminhos diferentes. Uma consequência direta
disso é que, quanto mais if-then-else, maior a complexidade ciclomática do
sistema, o que dificulta a realização do teste de todos os caminhos.
Em testes de unidade também temos a priorização, que serve para definir
quais dos cenários devem ser executados primeiro. Essa priorização pode ser em
razão do impacto do teste na funcionalidade. Por exemplo, se temos um cenário
crítico para determinada funcionalidade, certamente o impacto desse teste será
grande. Logo, ele deverá ser executado primeiro. Pode ser também em função do
tempo disponível para testes. Se tivermos pouco tempo, não haverá como testar
tudo, no caso de ter sido deixado os testes para fazer depois do código. Dessa forma,
entram em questão as funcionalidades que são base da aplicação. Nesse sentido, os
testes para essas funcionalidades seriam escolhidos num contexto em que há pouco
tempo disponível.
No que diz respeito aos processos ou disciplinas relativos ao
desenvolvimento envolvendo testes unitários, temos duas disciplinas centrais: TDD
(test-driven development), em que você escreve o teste primeiro (teste que falha,
faz código para o teste que falha passar e refatora... realiza esse ciclo até desenvolver
toda a aplicação) e o code first test second que, como o nome sugere, escreve-se
primeiro o código e depois os testes.

Mais conteúdo relacionado

Semelhante a Testes Unidade - Intuição

Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...Stanley Araújo
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareCamilo Ribeiro
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizadosThiago Ghisi
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de softwareJoyce Bastos
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressWalmyr Lima e Silva Filho
 
Paletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoPaletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoflavio1110
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareCloves da Rocha
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninDevInPF
 
A importância dos testes unitários: do código legado ao pipeline de testes em...
A importância dos testes unitários: do código legado ao pipeline de testes em...A importância dos testes unitários: do código legado ao pipeline de testes em...
A importância dos testes unitários: do código legado ao pipeline de testes em...Rodrigo Oliveira, Msc, PMP
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
 
Apresentação comsolid 2016
Apresentação comsolid 2016Apresentação comsolid 2016
Apresentação comsolid 2016Laryssa Muniz
 

Semelhante a Testes Unidade - Intuição (20)

Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...
 
Testes de Sofware
Testes de SofwareTestes de Sofware
Testes de Sofware
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de software
 
DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com Cypress
 
Paletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoPaletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojo
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 
Será que testar é simples?
Será que testar é simples?Será que testar é simples?
Será que testar é simples?
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
 
A importância dos testes unitários: do código legado ao pipeline de testes em...
A importância dos testes unitários: do código legado ao pipeline de testes em...A importância dos testes unitários: do código legado ao pipeline de testes em...
A importância dos testes unitários: do código legado ao pipeline de testes em...
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
 
Apresentação comsolid 2016
Apresentação comsolid 2016Apresentação comsolid 2016
Apresentação comsolid 2016
 
Testes de Sistema
Testes de SistemaTestes de Sistema
Testes de Sistema
 
Teste agora! Não deixe para depois!
Teste agora! Não deixe para depois!Teste agora! Não deixe para depois!
Teste agora! Não deixe para depois!
 
Fases testes
Fases testesFases testes
Fases testes
 

Mais de Lucas pk'

SQR3 técnica de estudos
SQR3 técnica de estudosSQR3 técnica de estudos
SQR3 técnica de estudosLucas pk'
 
Richard feynman technique of study
Richard feynman technique of studyRichard feynman technique of study
Richard feynman technique of studyLucas pk'
 
Esquema: como fazer uma leitura
Esquema: como fazer uma leituraEsquema: como fazer uma leitura
Esquema: como fazer uma leituraLucas pk'
 
Inteligencia em concursos - Professor Pier.
Inteligencia em concursos - Professor Pier.Inteligencia em concursos - Professor Pier.
Inteligencia em concursos - Professor Pier.Lucas pk'
 
Test driven development tdd
Test driven development   tddTest driven development   tdd
Test driven development tddLucas pk'
 
Decoro parlamentar
Decoro parlamentarDecoro parlamentar
Decoro parlamentarLucas pk'
 
Orientações e guia sobre estudos
Orientações e guia sobre estudosOrientações e guia sobre estudos
Orientações e guia sobre estudosLucas pk'
 
7 Myths of formal methods
7 Myths of formal methods7 Myths of formal methods
7 Myths of formal methodsLucas pk'
 
Orientação a objetos para dummies - Acoplamento
Orientação a objetos para dummies - AcoplamentoOrientação a objetos para dummies - Acoplamento
Orientação a objetos para dummies - AcoplamentoLucas pk'
 
Aprendendo inteligência pierluigi piazzi
Aprendendo inteligência   pierluigi piazziAprendendo inteligência   pierluigi piazzi
Aprendendo inteligência pierluigi piazziLucas pk'
 
How to solve a problem (Etapas para resolução de um problema)
How to solve a problem (Etapas para resolução de um problema)How to solve a problem (Etapas para resolução de um problema)
How to solve a problem (Etapas para resolução de um problema)Lucas pk'
 
Socrates encontra marx peter kreeft
Socrates encontra marx   peter kreeftSocrates encontra marx   peter kreeft
Socrates encontra marx peter kreeftLucas pk'
 
Socrates encontra Descartes peter kreeft
Socrates encontra Descartes   peter kreeftSocrates encontra Descartes   peter kreeft
Socrates encontra Descartes peter kreeftLucas pk'
 
Matemática - Funções - Livro pdf
Matemática - Funções - Livro pdfMatemática - Funções - Livro pdf
Matemática - Funções - Livro pdfLucas pk'
 
Matemática - Geometria Analítica - Livro pdf
Matemática - Geometria Analítica - Livro pdfMatemática - Geometria Analítica - Livro pdf
Matemática - Geometria Analítica - Livro pdfLucas pk'
 
Matemática - Geometria de posição e métrica - Livro pdf
Matemática - Geometria de posição e métrica - Livro pdfMatemática - Geometria de posição e métrica - Livro pdf
Matemática - Geometria de posição e métrica - Livro pdfLucas pk'
 
Matemática - Geometria Plana - Livro pdf
Matemática - Geometria Plana - Livro pdfMatemática - Geometria Plana - Livro pdf
Matemática - Geometria Plana - Livro pdfLucas pk'
 
Matemática Básica - Livro pdf
Matemática Básica - Livro pdfMatemática Básica - Livro pdf
Matemática Básica - Livro pdfLucas pk'
 
Método de aprendizado/estudo feynman
Método de aprendizado/estudo feynmanMétodo de aprendizado/estudo feynman
Método de aprendizado/estudo feynmanLucas pk'
 
A economia global
A economia globalA economia global
A economia globalLucas pk'
 

Mais de Lucas pk' (20)

SQR3 técnica de estudos
SQR3 técnica de estudosSQR3 técnica de estudos
SQR3 técnica de estudos
 
Richard feynman technique of study
Richard feynman technique of studyRichard feynman technique of study
Richard feynman technique of study
 
Esquema: como fazer uma leitura
Esquema: como fazer uma leituraEsquema: como fazer uma leitura
Esquema: como fazer uma leitura
 
Inteligencia em concursos - Professor Pier.
Inteligencia em concursos - Professor Pier.Inteligencia em concursos - Professor Pier.
Inteligencia em concursos - Professor Pier.
 
Test driven development tdd
Test driven development   tddTest driven development   tdd
Test driven development tdd
 
Decoro parlamentar
Decoro parlamentarDecoro parlamentar
Decoro parlamentar
 
Orientações e guia sobre estudos
Orientações e guia sobre estudosOrientações e guia sobre estudos
Orientações e guia sobre estudos
 
7 Myths of formal methods
7 Myths of formal methods7 Myths of formal methods
7 Myths of formal methods
 
Orientação a objetos para dummies - Acoplamento
Orientação a objetos para dummies - AcoplamentoOrientação a objetos para dummies - Acoplamento
Orientação a objetos para dummies - Acoplamento
 
Aprendendo inteligência pierluigi piazzi
Aprendendo inteligência   pierluigi piazziAprendendo inteligência   pierluigi piazzi
Aprendendo inteligência pierluigi piazzi
 
How to solve a problem (Etapas para resolução de um problema)
How to solve a problem (Etapas para resolução de um problema)How to solve a problem (Etapas para resolução de um problema)
How to solve a problem (Etapas para resolução de um problema)
 
Socrates encontra marx peter kreeft
Socrates encontra marx   peter kreeftSocrates encontra marx   peter kreeft
Socrates encontra marx peter kreeft
 
Socrates encontra Descartes peter kreeft
Socrates encontra Descartes   peter kreeftSocrates encontra Descartes   peter kreeft
Socrates encontra Descartes peter kreeft
 
Matemática - Funções - Livro pdf
Matemática - Funções - Livro pdfMatemática - Funções - Livro pdf
Matemática - Funções - Livro pdf
 
Matemática - Geometria Analítica - Livro pdf
Matemática - Geometria Analítica - Livro pdfMatemática - Geometria Analítica - Livro pdf
Matemática - Geometria Analítica - Livro pdf
 
Matemática - Geometria de posição e métrica - Livro pdf
Matemática - Geometria de posição e métrica - Livro pdfMatemática - Geometria de posição e métrica - Livro pdf
Matemática - Geometria de posição e métrica - Livro pdf
 
Matemática - Geometria Plana - Livro pdf
Matemática - Geometria Plana - Livro pdfMatemática - Geometria Plana - Livro pdf
Matemática - Geometria Plana - Livro pdf
 
Matemática Básica - Livro pdf
Matemática Básica - Livro pdfMatemática Básica - Livro pdf
Matemática Básica - Livro pdf
 
Método de aprendizado/estudo feynman
Método de aprendizado/estudo feynmanMétodo de aprendizado/estudo feynman
Método de aprendizado/estudo feynman
 
A economia global
A economia globalA economia global
A economia global
 

Último

5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e CaracterísticassAugusto Costa
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Atividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas GeográficasAtividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas Geográficasprofcamilamanz
 

Último (20)

5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e Característicass
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Atividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas GeográficasAtividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas Geográficas
 

Testes Unidade - Intuição

  • 1. Testes de Unidade – intuição Por Lucas Dias Testes estruturais são voltados para implementação, diferentemente dos funcionais que estão relacionados à especificação. O tipo de teste estrutural mais popular são os testes de unidades, que são úteis para aumentar a confiança de que o código funciona da maneira esperada. Para tal, são fornecidos dados válidos e dados inválidos através da entrada e saída (input e output) para avaliar qual o comportamento do código. Além disso, por unidade entendemos o menor componente testável de uma aplicação, uma área bem pequena. Por exemplo, no caso do sistema de cadastro do gmail, poderia ser testar se aceita cadastro com um e-mail sem @. Isso seria apenas uma possibilidade. Nesse contexto de possibilidades, podemos trazer à tona o conceito de cenários, que seriam as possibilidades de testes para uma dada funcionalidade. A título de exemplo, poderíamos investigar a tentativa de realizar um cadastro sem fornecer um nome, e-mail, senha ou qualquer outra informação relevante e constatar como o sistema lida com isso. No que diz respeito os cenários, a criação de testes para ele é importante porque permite alcançarmos uma boa cobertura, que significa a porcentagem daquele código está sendo verificada. Quanto mais alta a cobertura, maior a nossa confiança de que o código está adequado, muito embora seja sempre uma confiança, nunca uma certeza, pois cobertura não garante corretude. Além desse fato, temos a existência de variados tipos de coberturas, por exemplo: de caminhos (uma sequência de instruções possíveis sendo executadas), instruções (passar por cada linha de código pelo menos uma vez), gramática (uso de palavras reservadas da linguagem), entre outras. A cobertura mais importante é a de caminhos, tendo em vista que representa um uso do sistema mais próximo do real. Ela, por si só, já garante a cobertura de instruções, já que se passou por todos os caminhos, passou por cada linha. Ainda dentro de cenários, temos um conceito importante: o de complexidade ciclomática ou complexidade de condições. Ela avalia a quantidade de caminhos de execução a partir do código fonte, sendo que cada condicional representa possibilidades de caminhos diferentes. Uma consequência direta disso é que, quanto mais if-then-else, maior a complexidade ciclomática do sistema, o que dificulta a realização do teste de todos os caminhos. Em testes de unidade também temos a priorização, que serve para definir quais dos cenários devem ser executados primeiro. Essa priorização pode ser em razão do impacto do teste na funcionalidade. Por exemplo, se temos um cenário crítico para determinada funcionalidade, certamente o impacto desse teste será grande. Logo, ele deverá ser executado primeiro. Pode ser também em função do tempo disponível para testes. Se tivermos pouco tempo, não haverá como testar tudo, no caso de ter sido deixado os testes para fazer depois do código. Dessa forma, entram em questão as funcionalidades que são base da aplicação. Nesse sentido, os testes para essas funcionalidades seriam escolhidos num contexto em que há pouco tempo disponível.
  • 2. No que diz respeito aos processos ou disciplinas relativos ao desenvolvimento envolvendo testes unitários, temos duas disciplinas centrais: TDD (test-driven development), em que você escreve o teste primeiro (teste que falha, faz código para o teste que falha passar e refatora... realiza esse ciclo até desenvolver toda a aplicação) e o code first test second que, como o nome sugere, escreve-se primeiro o código e depois os testes.