Como garantir a qualidade do seu projeto?

Compartilhar no facebook
Compartilhar no linkedin
Compartilhar no whatsapp

Imagine a seguinte situação: um novo projeto será desenvolvido, mas por conta de alguma questão, uma equipe de teste não é prioridade. O projeto é iniciado e depois de meses, entregue para o cliente. Após a entrega, o sistema começa a ser utilizado e alguns erros são apontados. Neste caso, o time de desenvolvimento volta a trabalhar no projeto, causando uma falta de confiança do cliente com o time, um retrabalho e um gasto de tempo e dinheiro que poderia ser evitado se esses problemas tivessem sido encontrados desde o início do desenvolvimento.

Essa é uma situação que acontece e para não causar esses transtornos depois da fase de desenvolvimento, que tal implementar um processo de teste?

 

Mas afinal, o que é um processo de teste? 

O teste de software visa garantir a qualidade, minimizando as incertezas e sistematizando os critérios de aceitação. Ele valida se o software apresenta um bom funcionamento, se existem problemas e se as expectativas estão sendo atendidas. Contudo, simplesmente executar testes não significa que o software atende todos os critérios de qualidade. Os testes precisam também de um processo, que é basicamente, acompanhar o software desde a sua concepção até a sua manutenção. Consequentemente, quando temos um processo definido e executado, garantimos ainda mais qualidade. 

 

Como aplicamos o processo de teste? 

Quando um projeto está na sua fase inicial, normalmente, já sabemos quais tecnologias serão utilizadas. Enquanto ainda não temos os requisitos (especificações do projeto) para começarmos a pensar nos casos de testes, podemos começar a pensar em uma ferramenta de automação de testes. Por exemplo, se o projeto será desenvolvido em React, temos diversas opções de ferramentas, entre elas, cypress selenium. 

Com os requisitos definidos, podemos começar a criar os casos de testes, definir quais deles podem ser automatizados e junto com os desenvolvedores criarmos uma lista de acceptance tests para a atividade que está sendo desenvolvida. Mas o que é isso? É o mínimo de itens que devem ser desenvolvidos e devem estar funcionando para que aquela atividade possa ser testada e considerada finalizada. Vou falar sobre isso mais a frente.  

Quando isso terminar, provavelmente alguma coisa – mesmo que pequena – de desenvolvimento pode já estar pronta, podemos então, acessar o ambiente de desenvolvimento e iniciar um teste exploratório e até mesmo começar a automatizar alguma coisa. Antecipando os testes, problemas podem ser encontrados antes de serem enviados para a versão, economizando tempo de desenvolvimento e tempo de testes. 

  

Acceptance tests 

Quando a atividade for completamente finalizada, chegou a hora de passarmos pela lista de acceptance tests. Normalmente, vemos mais resultados quando passamos pelo acceptance junto com o desenvolvedor, no próprio ambiente de desenvolvimento dele. Se todos os itens foram feitos e o mínimo necessário funciona, podemos considerar essa atividade pronta para gerarmos a versão. Se algum item não foi feito ou algum problema crítico foi encontrado, o desenvolvedor deverá voltar para a atividade e corrigir o que foi encontrado, minimizando o risco da versão ser gerada com problemas críticos e garantindo boa parte da qualidade do sistema antecipadamente. 

Outro caso é quando já temos uma versão com parte do sistema já estabilizada e temos scripts de automação criados para eles. Esses testes podem ser configurados no Jenkins (ou na ferramenta utilizada pelo projeto) e cada push feito pelo desenvolvedor os scripts de testes automatizados, serão executados, impedindo assim, que as modificações feitas para a nova feature ou correção de bug, não cause nenhum side effect no que antes funcionava, evitando também que esse problema seja encontrado somente quando tivermos uma versão gerada. 

Definindo e executando um processo de testes agregamos muito ao sistema, antecipamos problemas, economizamos tempo teste e de desenvolvimento e consequentemente diminuímos o custo e aumentamos a qualidade, eficiência e confiabilidade do sistema.

Veja mais
Manufatura
Sylvio Alves

Aumentando a velocidade da manufatura com 5G

As indústrias de manufatura têm buscado oportunidades que permitem o crescimento de negócios através da adoção de novas tecnologias. Robôs autônomos, big data e Machine Learning são exemplos de
Leia mais »
Pasto verde
Agronegócio
Roberto Okumura

Como o Blockchain pode impactar o agronegócio

Dentre os vários negócios que a tecnologia Blockchain pode beneficiar, o agronegócio é um setor da economia com fortes chances de ser impactado. O agronegócio tem grande relevância na formação do produto interno bruto
Leia mais »
Campinas / SP - Brasil

Estrada Giuseppina Vianelli di Napolli, nº 1.185
Condomínio GlobalTech Campinas
Polo II de Alta Tecnologia
CEP 13086-530 – Campinas – SP
+55 (19) 3755-8600

+55 (19) 3755-8600
contato@venturus.org.br

Bitnami