SlideShare una empresa de Scribd logo
1 de 17
Testes automatizados
#unitTest
@lucas_marquesm
Analista Desenvolvedor Jr – MSP, MCSD, MCT
Automação de teste é...
“o uso de software para controlar a execução do teste de software, a
comparação dos resultados esperados com os resultados reais, a
configuração das pré-condições de teste e outras funções de controle
e relatório de teste.”
- nosso querido wikipedia
Teste de Software? Hã?
“O teste do software é a investigação do software a fim de fornecer
informações sobre sua qualidade em relação ao contexto em que ele
deve operar. Isso inclui o processo de utilizar o produto para encontrar
seus defeitos.”
- nosso querido wikipedia
Sobre o teste de software
Teste de software
Técnicas funcionais caixa-branca, caixa-preta, regressão
Técnicas não funcionais desempenho, carga, usabilidade, confiabilidade, recuperação, segurança
Fases unidade, integração, sistema, aceitação, operação
Artefatos caso de teste, plano de teste
Principais tipos de testes(fases)
Unidade
Testes de comportamento/funcionalidade da menor parte de um software
Integração
Tem o objetivo de encontrar falhas provenientes da integração interna dos componentes de um
sistema
Sistema
Tem o objetivo de executar o sistema sob ponto de vista de seu usuário final, varrendo as
funcionalidades em busca de falhas em relação aos objetivos originais
Aceitação
Grupo restrito verifica se o comportamento do software está de acordo com o solicitado
Operação
Administradores do ambiente final realizam testes como os de aceitação para a entrada do
software em ambiente de produção
Ciclo de vida do teste
Planejamento
Preparação
Especificação
Execução
Entrega
Planejamento
Nesta fase é elaborada a Estratégia de Teste e o Plano de Teste.
Preparação
Etapa de preparação do Ambiente de teste
Especificação
Etapa onde é elaborado/revisado os casos de testes e roteiros de testes
Execução
Os testes são executados e os resultados obtidos são registrados.
Entrega
Projeto é finalizado e toda documentação é finalizada e arquivada.
sendo ágil...
Em desenvolvimento ágil, surgiu algumas
técnicas como:
• TDD
Test drive Development,
primeiro se escreve o teste de unidade depois se desevolve a funcionalidade
• BDD
Behavior Driven Development
Testes de comportamento da aplicação, juntamente com a colaboração de dev, QA e
negócios
Testes de unidade
Teste com xUnit
#forMS
Testes de unidade
“Testam apenas uma classe ou método, verificando se seu
comportamento está de acordo com o desejado. Em testes de
unidade, verificamos a funcionalidade da classe e/ou método em
questão passando o mínimo possível por outras classes ou
dependências do nosso sistema.”
- caelumBook
Instalação e Configuração
• Via nugget package command, instale o xunit no seu projeto
através destes comandos:
• Install-Package xunit
• Install-Package xunit.runner.visualstudio
• Ou pesquise pelo nugget.
Para visualizar os testes...
• Utilize a Test Explorer do próprio Visual Studio
• Test > Windows > Test Explorer
• Ou alguma ferramenta de terceiros
Pontos Chave do XUnit
Declaração do FACT
• Testes que são sempre verdadeiros. Eles testam condições invariáveis.
Declaração do THEORY
• Testes que são verdade apenas para um determinado conjunto de dados.
Uso correto da classe ASSERT
public class Assert
“Uma asserção é uma afirmação: alguma invariante que em
determinado ponto de execução você quer garantir que é verdadeira.
Se aquilo não for verdade, o teste deve indicar uma falha, a ser
reportada para o programador, indicando um possível bug.”
- caelumBook
demo
Referencias
http://xunit.github.io/docs/getting-started.html
http://www.caelum.com.br/apostila-java-testes-xml-design-
patterns/testes-automatizados/
https://pt.wikipedia.org/wiki/Teste_de_software
https://qualidadebr.wordpress.com/tag/testes-automatizados/
http://www.ime.usp.br/~kon/papers/EngSoftMagazine-
IntroducaoTestes.pdf
http://blog.benhall.me.uk/2008/01/introduction-to-xunit/

Más contenido relacionado

La actualidad más candente

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
 
Teste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta JabutiTeste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta JabutiInael Rodrigues
 
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
 
Testes, engenharia de Software, teste de Software
Testes, engenharia de Software, teste de SoftwareTestes, engenharia de Software, teste de Software
Testes, engenharia de Software, teste de SoftwareSilas Gonçalves
 
Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2Danilo Pinotti
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de TestesUFPA
 
ABAP Code Retreat Brasil - Apagando tudo e começando novamente: Conhecendo o TDD
ABAP Code Retreat Brasil - Apagando tudo e começando novamente: Conhecendo o TDDABAP Code Retreat Brasil - Apagando tudo e começando novamente: Conhecendo o TDD
ABAP Code Retreat Brasil - Apagando tudo e começando novamente: Conhecendo o TDDRaphael Pacheco
 
Qualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testesQualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testesJoaquim Lopes Júnior
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
Apresentação jasmine
Apresentação jasmineApresentação jasmine
Apresentação jasmineRangel Javier
 
Verificação, validação e teste de software ágil
Verificação, validação e teste de software ágilVerificação, validação e teste de software ágil
Verificação, validação e teste de software ágilGilberto Gampert
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IVJoão Lourenço
 

La actualidad más candente (20)

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...
 
Teste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta JabutiTeste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta Jabuti
 
Scrum - conceitos iniciais
Scrum - conceitos iniciaisScrum - conceitos iniciais
Scrum - conceitos iniciais
 
Apresentação testes white box
Apresentação testes white boxApresentação testes white box
Apresentação testes white box
 
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
 
Slid qualidade de_software
Slid qualidade de_softwareSlid qualidade de_software
Slid qualidade de_software
 
Testes, engenharia de Software, teste de Software
Testes, engenharia de Software, teste de SoftwareTestes, engenharia de Software, teste de Software
Testes, engenharia de Software, teste de Software
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
 
Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Eng de testes
Eng de testesEng de testes
Eng de testes
 
ABAP Code Retreat Brasil - Apagando tudo e começando novamente: Conhecendo o TDD
ABAP Code Retreat Brasil - Apagando tudo e começando novamente: Conhecendo o TDDABAP Code Retreat Brasil - Apagando tudo e começando novamente: Conhecendo o TDD
ABAP Code Retreat Brasil - Apagando tudo e começando novamente: Conhecendo o TDD
 
Qualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testesQualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testes
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Apresentação jasmine
Apresentação jasmineApresentação jasmine
Apresentação jasmine
 
Verificação, validação e teste de software ágil
Verificação, validação e teste de software ágilVerificação, validação e teste de software ágil
Verificação, validação e teste de software ágil
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IV
 

Similar a Testes automatizados

Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
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
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junitcejug
 
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
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testesAdilmar Dantas
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de UnidadeAline Ferreira
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureGrupo de Testes Carioca
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKMário Pravato Junior
 
Ferramentas de Gestão de Testes
Ferramentas de Gestão de TestesFerramentas de Gestão de Testes
Ferramentas de Gestão de Testeselliando dias
 

Similar a Testes automatizados (20)

O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
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
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 
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
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
AppTesting
AppTestingAppTesting
AppTesting
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows Azure
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
Ferramentas de Gestão de Testes
Ferramentas de Gestão de TestesFerramentas de Gestão de Testes
Ferramentas de Gestão de Testes
 

Testes automatizados

  • 2. Automação de teste é... “o uso de software para controlar a execução do teste de software, a comparação dos resultados esperados com os resultados reais, a configuração das pré-condições de teste e outras funções de controle e relatório de teste.” - nosso querido wikipedia
  • 3. Teste de Software? Hã? “O teste do software é a investigação do software a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos.” - nosso querido wikipedia
  • 4. Sobre o teste de software Teste de software Técnicas funcionais caixa-branca, caixa-preta, regressão Técnicas não funcionais desempenho, carga, usabilidade, confiabilidade, recuperação, segurança Fases unidade, integração, sistema, aceitação, operação Artefatos caso de teste, plano de teste
  • 5. Principais tipos de testes(fases) Unidade Testes de comportamento/funcionalidade da menor parte de um software Integração Tem o objetivo de encontrar falhas provenientes da integração interna dos componentes de um sistema Sistema Tem o objetivo de executar o sistema sob ponto de vista de seu usuário final, varrendo as funcionalidades em busca de falhas em relação aos objetivos originais Aceitação Grupo restrito verifica se o comportamento do software está de acordo com o solicitado Operação Administradores do ambiente final realizam testes como os de aceitação para a entrada do software em ambiente de produção
  • 6. Ciclo de vida do teste Planejamento Preparação Especificação Execução Entrega Planejamento Nesta fase é elaborada a Estratégia de Teste e o Plano de Teste. Preparação Etapa de preparação do Ambiente de teste Especificação Etapa onde é elaborado/revisado os casos de testes e roteiros de testes Execução Os testes são executados e os resultados obtidos são registrados. Entrega Projeto é finalizado e toda documentação é finalizada e arquivada.
  • 8. Em desenvolvimento ágil, surgiu algumas técnicas como: • TDD Test drive Development, primeiro se escreve o teste de unidade depois se desevolve a funcionalidade • BDD Behavior Driven Development Testes de comportamento da aplicação, juntamente com a colaboração de dev, QA e negócios
  • 11. Testes de unidade “Testam apenas uma classe ou método, verificando se seu comportamento está de acordo com o desejado. Em testes de unidade, verificamos a funcionalidade da classe e/ou método em questão passando o mínimo possível por outras classes ou dependências do nosso sistema.” - caelumBook
  • 12. Instalação e Configuração • Via nugget package command, instale o xunit no seu projeto através destes comandos: • Install-Package xunit • Install-Package xunit.runner.visualstudio • Ou pesquise pelo nugget.
  • 13. Para visualizar os testes... • Utilize a Test Explorer do próprio Visual Studio • Test > Windows > Test Explorer • Ou alguma ferramenta de terceiros
  • 14. Pontos Chave do XUnit Declaração do FACT • Testes que são sempre verdadeiros. Eles testam condições invariáveis. Declaração do THEORY • Testes que são verdade apenas para um determinado conjunto de dados. Uso correto da classe ASSERT
  • 15. public class Assert “Uma asserção é uma afirmação: alguma invariante que em determinado ponto de execução você quer garantir que é verdadeira. Se aquilo não for verdade, o teste deve indicar uma falha, a ser reportada para o programador, indicando um possível bug.” - caelumBook
  • 16. demo

Notas del editor

  1. O teste do software é a investigação do software a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos. Vide: https://pt.wikipedia.org/wiki/Teste_de_software Caixa-branca Também chamada de teste estrutural ou orientado à lógica, a técnica de caixa-branca avalia o comportamento interno do componente de software. Essa técnica trabalha diretamente sobre o código fonte do componente de software para avaliar aspectos tais como: teste de condição, teste de fluxo de dados, teste de ciclos, teste de caminhos lógicos, códigos nunca executados. Caixa-preta Também chamada de teste funcional, teste comportamental, orientado a dado ou orientado a entrada e saída, a técnica de caixa-preta avalia o comportamento externo do componente de software, sem se considerar o comportamento interno do mesmo.[4] Dados de entrada são fornecidos, o teste é executado e o resultado obtido é comparado a um resultado esperado previamente conhecido. Como detalhes de implementação não são considerados, os casos de teste são todos derivados da especificação. Regressão Essa é uma técnica de teste aplicável a uma nova versão de software ou à necessidade de se executar um novo ciclo de teste durante o processo de desenvolvimento. Consiste em se aplicar, a cada nova versão do software ou a cada ciclo, todos os testes que já foram aplicados nas versões ou ciclos de teste anteriores do sistema. Inclui-se nesse contexto a observação de fases e técnicas de teste de acordo com o impacto de alterações provocado pela nova versão ou ciclo de teste. Para efeito de aumento de produtividade e de viabilidade dos testes, é recomendada a utilização de ferramentas de automação de teste, de forma que, sobre a nova versão ou ciclo de teste, todos os testes anteriores possam ser executados novamente com maior agilidade. Técnicas não funcionais São técnicas utilizadas para verificar a operação correta do sistema em relação a casos inválidos ou inesperados de entrada