Skip to content

Estratégias de Implementação

Histórico de Revisão

Data Versão Descrição Autor(es)
05/12/2022 1.0 Primeira das estragégias de Design Simples, TDD, Refatoração e Integração Contínua Ana Beatriz, Gabriel Cabral, Lucas Borba, Maciel Júnior, Pedro Campos

Estratégia de Design Simples

O Design Simples é uma técnica utilizada para simplificar o desenvolvimento de software em qualquer fase de sua evolução. Sua premissa é que o sistema desenvolvido seja produzido da maneira mais simples e clara possível, de forma que possa ser entendido e continuado por qualquer membro da equipe. A partir desse conceito, para assegurar a prática do design simples, adotaremos as seguintes estratégias:

  • Procurar resolver os problemas de forma simples
  • Realizar refatoração para evitar duplicidade de código e melhorar códigos existentes
  • Evitar adicionar funcionalidades ao código até que elas sejam necessárias
  • Realizar adições e alterações no código apenas baseando-se nas histórias de usuário

Estratégia de Integração Contínua

Ferramentas para integração contínua

  • A ferramenta a ser utilizada é o Github Actions.

Técnicas para integração contínua

  • Testes automatizados;
  • Construção com ritimo sustentável porem ágil;
  • Integrações simples e rápidas;
  • Progresso constante e demonstrável.

Estratégia de Testes

Tipos de testes que serão realizados:

  • Funcionais: para verificar se aplicação faz o que ela é proposta para executar
  • Usabilidade: para verificar se o usuário consegue entender e fazer uso da aplicação conforme acordado com os clientes e a equipe

Níveis de testes que serão realizados:

  • Testes Unitários: serão utilizados para garantir o funcionamento de pequenas unidades da aplicação
  • Testes de Sistema: serão utilizados para testar o comportamento do sistema como um todo, simulando a utilização real
  • Testes de Aceitação: serão utilizados para validar com o cliente se cada funcionalidade está atendento aos requisitos propostos

Técnicas e ferramentas que serão utilizadas:

  • TDD: os testes serão realizados com o auxílio das ferramentas Jest e Enzyme
  • Testes Manuais: utilizaremos para verificar se as funcionalidades estão funcionando conforme o esperado

Execução dos testes

  • Os testes unitários serão feitos pelo par após a codificação da funcionalidade para verificar se a funcionalidade está de acordo com a user story, portanto o teste será realizado durante a sprint;
  • Os testes de sistema serão realizados pela equipe após a integração para verificar se o produto está se comportando como esperado, portanto o teste será realizado durante a sprint;
  • Os testes de aceitação serão realizados pelo cliente e também pela equipe com o objetivo de verificar se o produto está de acordo com as especificações do cliente, portanto este teste será realizado sempre após os testes unitários e os de sistemas.

Estratégia de Refatoração

A refatoração será utilizado com o objetivo de reestruturar o código da aplicação para seguir os princípios do design simples. Para tal, será adotada a prática de revisão dos pull requests criados pelos membros da equipe. Desta forma, os membros poderão sugerir melhorias e apontar duplicações no código.