Ir para o conteúdo

Qualidade do Projeto

Este documento tem como objetivo mostrar os critérios, ferramentas e o planejamento da qualidade de código do projeto, esclarecendo o como, quais e porquês das adoções de cada tipo de teste durante o desenvolvimento do produto. O projeto AMIS ultilizando a ISO/IEC 25010.

A ISO/IEC 25010 define 8 pilares de qualidade os quais devem estar presente em todo produto de software. São elas: adequação funcional, eficiência de performance, compatibilidade, usabilidade, confiabilidade, segurança, portabilidade e capacidade de manutenção. No entanto o projeto AMIS está enfatizado nos pilares de Adequação Funcional, Usabilidade e Portabilidade, os demais princípios também estão presentes no projeto. Norma NBR de Qualidade

Adequação Funcional

O produto deve fornecer corretamente funções para todas as necessidades implicitas e explicitas do cliente, de maneira simples e intuitiva. No projeto AMIS, as necessidades do usuário foram analisadas e especificadas durante o desenvolvimento do Lean Inception, e por fim, foram listadas em forma de histórias de usuário no Product Backlog .

Usabilidade

O produto deve ser feito de maneira que qualquer pessoa consiga ultilizar ou aprender a ultilizar facilmente, ter uma estética que seje agradavel ao usuário e o facilite a entender o que fazer de maneira a evitar o maximo de erros do usuário por não entender o sistema. A interface do AMIS é projetada para ser fácil de operar e controlar, com navegabilidade intuitiva, para garantir que o sistema possa ser utilizado por usuários com a mais ampla gama de características e capacidades.

Portabilidade

Capacidade do sistema ser ultilizado em outro ambiente e funcionar adequadamente sem muitas dificuldades. O projeto AMIS é projetado para ser um web/app, logo conseguindo funcionar em qualquer dispositivo com um navegador de internet.

Planejamento

Com o objetivo de obter a melhor qualidade de código, no projeto AMIS utilizaremos os Pylint e Pytest como ferramentas de qualidade para o back-end, como também Jtest para o front-end.

Ferramentas

Pylint

Pylint

  • Se trata de um analisador de código estático, que analisa o código Python sem realmente executá-lo. Ele pode verificar erros de programação, implementar práticas recomendadas em padrões de codificação, identificar violações de código, fornecer sugestões de refatoração e retornar uma variedade de relatórios sobre todo tipo de problema que ele encontra.

Pytest

Pytest

  • Também se trata de uma ferramenta que permite fazer códigos de teste usando Python. Ajuda a escrever casos de teste simples e escaláveis ​​para bancos de dados, APIs ou interface do usuário. PyTest é usado principalmente para escrever testes para APIs e ajudando a escrever testes de unidade simples até testes funcionais complexas.

  • Algumas vantagens: Muito fácil de começar devido à sua sintaxe simples; Pode executar testes em paralelo; Detecta testes automaticamente; Código aberto.

Jest

Jest

  • Jest é uma ferramenta baseada em JavaScript para testar React, React Native e outros aplicativos baseados em JavaScript. Em muitos casos, os testes de unidade não fornecem resultados precisos quando executados no front-end de qualquer software. O Jest reduz esse problema permitindo que você escreva testes de front-end mais rápidos e eficazes.

  • Além disso, o Jest pode ser usado para validar quase tudo em torno do JavaScript, especialmente a renderização do navegador de aplicativos da web. Com sua API intuitiva e fácil configuração e instalação, o Jest se tornou uma das estruturas de teste de JavaScript mais populares disponíveis atualmente.

Referências

  • Análise sobre a ISO 9126. NBR 13596.Disponível em: tiespecialidade.com. Acesso em 01 de Dezembro de 2022;
  • Definição Pylint. Disponível em: pylint.pycqa.org, ipwithease.com. Acesso em 02 de Dezembro de 2022;
  • Definição Pytest: Disponível em: guru99.com. Acesso em 02 de Dezembro de 2022.
  • Definição Jest. Disponível em: lambdatest.com. Acesso em 03 de Dezembro de 2022.

Versionamento

Data Versão Descrição Autor(es)
03/12/2022 1.0 Criação do documento Italo Bruno
03/12/2022 1.1 Definição das ferramentas Caio Sulz
03/12/2022 1.2 Caracteristicas de Qualidade Italo Bruno