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

Teste em api rest com node.js

Teste em api rest com node.js

Apresentação realizada no I Frontend Manaus sobre teste em api rest com node.js.

Utilizando mocha, supertest, e etc

Kirmayr Tomaz

March 19, 2016
Tweet

More Decks by Kirmayr Tomaz

Other Decks in Technology

Transcript

  1. Quem sou eu ? Kirmayr Tomaz • Bacharel em Sistemas

    de Informação (UFAM); • Certificação CTFL(Certified Tester Foundation Level); • 3 anos de experiência com desenvolvimento web; • atualmente estou trabalhando na Fermen.to como Full Stack Web Developer.
  2. Uma breve introdução das características necessárias. Teste de Software Necessidade

    de automação de teste Automação de teste Exemplificação prática do projeto Teste em API REST Apresentação 01 02 03
  3. O que é Teste de Software ? O teste de

    software é uma maneira de verificar todas as solicitações de funcionalidades de um sistema buscando encontrar suas falhas antes de chegar ao cliente final, entregando-lhe um produto consistente, seguro e funcional.
  4. Custo de Falhas De acordo com Boehm e Basili [

    Boehm & Basili, 2001 ], 80% do retrabalho é originário de 20% dos defeitos.
  5. Associado à causa de um comportamento incorreto. (Defeito) Um comportamento

    incorreto, ou seja, a consequência. Defeito/Falha Descreve uma condição particular a ser testada Caso de teste Execução de todos os testes para uma versão do produto em um determinado ambiente Rodada (Bateria) de Teste Conceitos 01 02 03
  6. 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. O que é automação de teste ?
  7. Não possui estado entre essas comunicações, ou seja, cada comunicação

    é independente e uniforme (padronizada) precisando passar toda informação necessária. Comunicação através de JSON Não possui estado entre essas comunicações, ou seja, cada comunicação é independente e uniforme (padronizada) precisando passar toda informação necessária. Não possui estado de comunicação Assim cada implementação não depende da outra e se torna mais escalável. Definição de cliente e servidor API REST 01 02 03
  8. ame: (front-end) fe-manaus ersion: (1.0.0) 1.0.0 escription: Projeto de teste

    em api rest ntry point: (index.js) est command: mocha test it repository: eywords:test,mocha,rest,chai,supertest uthor: Kirmayr Tomaz cense: (ISC) Configurando Projeto e uma pasta para seu projeto, entre na pasta e digite em sua linha de comando.
  9. Mocha Framework de teste JavaScript, que possibilita a cobertura dos

    testes tanto no back-end quanto no front- end. Devido sua flexibilidade e simplicidade aceita os estilos de teste TDD, BDD e QUnit.
  10. Ignorando Suite de teste (skip) Para ignorar uma suite de

    teste ou caso de teste basta inserir após describe ou it .skip que todo a estrutura será ignorada
  11. Hooks Utilizado para pre e pós condição de teste •

    Before - Antes de iniciar um conjunto de testes • After - Depois de finalizar um conjunto de testes • BeforeEach - Antes de cada teste • AfterEach - Depois de cada teste
  12. Cadastrando um usuário no sistema • Nome • cpf •

    identidade • sexo • escolaridade • data de nascimento • Estado de nascimento • Cidade de nascimento • Empresa onde trabalha • Setor que trabalha • Tempo na empresa • email • senha • Regra de negócio 1: Todos os campos são obrigatórios • Regra de negócio 2: Campo nome, identidade, estado,cidade,empresa,setor,carg o,tempo na empresa, email, senha são strings • Regra de negócio 3: Serão validos para o campo sexo (masculino, feminino, Homo e trans) • Escolaridade - será permitido valores no intervalo de 0 a 100 • Tempo de profissão e data de nascimento serão permitidos do tipo data.
  13. Referências • Whatsapp web - http://www.tecmundo.com.br/whatsapp/86096-whatsapp-web-brecha-seguranca-deixou-200-mil-u suarios-vulneraveis.htm • IFOOD WEB

    h ttp://g1.globo.com/tecnologia/blog/seguranca-digital/post/falha-em-site-de-delivery-ifood-permiti a-alterar-precos-de-pedidos.html • Artigo Engenharia de Software - Introdução a Teste de Software http://www.devmedia.com.br/artigo-engenharia-de-software-introducao-a-teste-de-software/803 5#ixzz43FeKj3ai • Santos Site - http://g1.globo.com/tecnologia/noticia/2011/02/falha-em-site-do-santos-gera-boato-sobre-ida-de- ganso-para-corinthians.html • Facebook - http://oglobo.globo.com/sociedade/tecnologia/aluno-de-harvard-tem-estagio-no-facebook-cance lado-apos-apontar-falha-no-sistema-da-rede-17209000 • Construindo uma RESTful API – Parte 1 http://www.devmedia.com.br/construindo-uma-restful-api-parte-1/29904#ixzz43HjsdmT6 • http://pt.stackoverflow.com/questions/45783/o-que-%C3%A9-rest-e-restful • https://pt.wikipedia.org/wiki/Automação_de_teste