Teste de Software 2020-1

Local: CEFET-RJ - Unidade Maracanã (on-line em plataforma a ser divulgada, provavelmente Microsoft Teams via login com e-mail institucional)

Horário: Segundas e Quintas de 16:30 - 18:00

Sala: Segundas - Lab1, Quintas - Sala 3 (on-line em plataforma a ser divulgada, provavelmente Microsoft Teams via login com e-mail institucional)

Tempo de curso: 21 semanas 19 Semanas

Objetivo:

Entender o que é e porque é importante testar software. Conhecer o processo aplicado para testar software. Entender as diversas técnicas de geração de casos de teste e quando cada é aplicável. Conhecer as principais ferramentas de apoio ao teste de software.

Ementa:

Conceitos de qualidade, testes, verificação e validação de software. Processo de Teste de Software. Fases de Testes. Projeto e técnicas de geração de caso de testes. Métricas e adequação dos testes. Teste de requisitos não funcionais. Documentação dos Testes. Automação e ferramentas de testes.

Bibliografia Principal:

AMMANN, Paul; OFFUTT, Jeff. Introduction to software testing. Cambridge University Press, 2016.

Bibliografia Complementar:

PEZZÈ, Mauro; YOUNG, Michal. Teste e análise de software: processos, princípios e técnicas. Bookman Editora, 2009.

DELAMARO, M.E.; MALDONADO, J.C.; JINO, M. "Introdução ao Teste de Software". Elsevier Editora, ISBN 978-8535226348. 2007.

MYERS, G.; BADGETT, T.; THOMAS, T.; SANDLER, C.; The Art of Software Testing. Wiley, 3rd Edition, 2011.

Critério de Avaliação:

  • AV1 e AV2 serão trabalhos trabalhos em grupo com entregas a cada 1 ou 2 semanas (cada grupo terá um trabalho diferente).
M1 = (AV1 + AV2) / 2;
if(Frequência >= 75%){
  if(M1 >= 7) 
    Situação = "Aprovado";
  else if (M1 < 3) 
    Situação = "Reprovado";
  else{
    Situação = "Prova Final";
  if( ((PF + M1) / 2) >= 5)
    Situação = "Aprovado";
  else
    Situação = "Reprovado";
  }
}else{
  Situação = "Reprovado";
}

Calendário:

  • 10/02/2020 - Prof. em licença paternidade
  • 13/02/2020 - Prof. em licença paternidade
  • 17/02/2020 - Prof. em licença paternidade
  • 20/02/2020 - Prof. em licença paternidade
  • 24/02/2020 - Feriado
  • 27/02/2020 - Feriado
  • 02/03/2020 - Introdução ao Teste de Software (Slides)
  • 05/03/2020 - Testes baseado em modelos (Slides)
  • 09/03/2020 - Testes de Aceitação / Funcional baseado em casos de uso / Automação dos Testes (Slides 1, 2)
  • 12/03/2020 - Automação de Testes (Exemplos JUniti e Selenium básico, Selenium organizado. Sugestão de ferramenta: Cypress)

O cronograma será atualizado assim que tivermos um novo calendário acadêmico oficial do CEFET/RJ

  • 15/10/2020 - Feriado
  • 19/10/2020 - Revisão - Conceitos
  • 22/10/2020 - Revisão - Processo de Teste Tradicional
  • 26/10/2020 - Revisão - Testes no Agile e Automação
  • 29/10/2020 - Testes de Aceitação e End-to-End
  • 02/11/2020 - Feriado
  • 05/11/2020 - Prática de BDD/Teste de aceitação automatizado
  • 09/11/2020 - Code Review
  • 12/11/2020 - Prática de Code Review
  • 16/11/2020 - Testes de Defeito
  • 19/11/2020 - Critérios de Cobertura
  • 23/11/2020 - Técnicas de design de casos de teste de defeito (Assíncrono - SEPEX)
  • 26/11/2020 - Prática de design de casos de teste de defeito (Assíncrono - SEPEX)
  • 30/11/2020 - Testes unitários automatizados
  • 03/12/2020 - Revisando os teses unitários
  • 07/12/2020 - Análise Estática de código-fonte
  • 10/12/2020 - Testes de Integração
  • 14/12/2020 - Teste/Avaliação de Usabilidade
  • 17/12/2020 - Testes de Segurança
  • 21/12/2020 - Teste de Performance, Carga e Estresse
  • 24/12/2020 - Não haverá aula
  • 28/12/2020 - Não haverá aula
  • 31/12/2020 - Não haverá aula
  • 04/01/2021 - Não haverá aula
  • 07/01/2021 - Geração de dados automatizados para testes (fuzzing)
  • 11/01/2021 - Margem no cronograma
  • 14/01/2021 - Prova Final