O uso da qualidade de software na construção de um produto computacional

Ao iniciar o desenvolvimento de um produto computacional, seja ele, um sistema, um site, um aplicativo, dentre outros, surgem inúmeras preocupações com a equipe de desenvolvimento, tais como:

· Como será feita a divisão de tarefas entre a equipe;

· Como será feito o versionamento da aplicação;

· Se será necessário utilizar metodologias ágeis e qual delas utilizar;

· Qual linguagem, framework, biblioteca será utilizado;

· Dentre outras preocupações.

Contudo, há uma preocupação que, deve ser priorizada antes de todos os itens citados acima, que é a qualidade que o sistema irá ter, de acordo com os requisitos propostos pelos usuários finais, pois, a aplicação pode ter um design excelente, utilizar as melhores linguagens de programação do mercado, mas, se, por exemplo, o sistema demorar para fazer alguma ação desejada pelo usuário, o mesmo ficará insatisfeito e, não irá mais adquirir o produto.

No presente artigo, serão abordadas algumas técnicas que devem ser feitas, para certificar que a qualidade do produto atenda a todos os requisitos básicos.

1. A utilização de testes de software

Antes de entregar qualquer coisa ao seu usuário final, é preciso que testes sejam feitos, não só para verificar se a funcionalidade está nos conformes exigidos, mas também para verificar se a mesma não possui erros, que possam ser corrigidos de forma simples e rápida. Alguns testes que podem ser utilizados, que podem variar dependendo de sua necessidade:

· Teste de unidade: cada função ou bloco de código da aplicação é testada separadamente;

· Teste de regressão: é feito para verificar se novas alterações não afetaram o restante do sistema;

· Teste de carga: verifica se a aplicação consegue suportar vários acessos simultâneos, sem interferir no uso da mesma com relação ao seu desempenho;

· Teste de aceitação: geralmente realizado quando o software está em seu fim e o mesmo é fornecido a um grupo de usuários, para testar se o mesmo corresponde com o que era esperado, se realiza todas as ações de forma satisfatória.

· Teste de estresse: verifica o ponto crítico que a aplicação é quebrada, ou seja, onde é o ponto de interrupção da mesma;

· Teste caixa branca: verificação de banco de dados, de arquitetura do projeto, ou seja, está relacionado com as partes técnicas do produto;

· Teste caixa preta: verificação dos requisitos fornecidos pelos usuários nas posteriores entrevistas ou questionários, se estão sendo atendidos, ou seja, está relacionado com as competências de negócio do produto;

Dessa forma, os testes são uma peça chave para que o produto computacional final esteja nos conformes desejados pelos usuários e, grande parte das empresas, já utilizam esses testes, de modo a evitar problemas futuros de alto custo.

2. ISO 9126

Logo, outra técnica utilizada é a da (ISO) 9126, que se baseia em seis conceitos para a avaliação da qualidade em um software. São eles:

· Confiabilidade: Manter o nível de desempenho em um nível bom, diante das circunstâncias exigidas;

· Manutenibilidade: mede o quão fácil ou difícil será realizar uma alteração necessária no sistema;

· Portabilidade: a capacidade que o sistema tem de se adaptar a outro ambiente, como, por exemplo, outro sistema operacional;

· Usabilidade: o sistema está de fácil entendimento para ser utilizado? O usuário possui dificuldades em utilizar o mesmo? A usabilidade mede os esforços que o usuário precisa fazer para realizar um determinado grupo de ações;

· Eficiência: quantidade de recursos que é preciso para a realização da ação, com o nível de desempenho, que medem a eficiência;

· Funcionalidade: se o sistema atende as necessidades explícitas e implícitas do usuário com um nível satisfatório.

Assim, na Figura 01 abaixo, é apresentada as sub divisões que cada tópico dessa norma possui:

Figura 01: Subdivisões da ISO 9126. Fonte:https://i1.wp.com/www.diegomacedo.com.br/wp-content/uploads/2011/12/modelo-qualidad
Figura 01: Subdivisões da ISO 9126.
Fonte: https://i1.wp.com/www.diegomacedo
.com.br/wp-content/uploads/2011/12/
modelo-qualidade-iso.jpg?ssl=1

Portanto, a norma ISO 9126 pode servir de ponto de partida não apenas para avaliar o produto que você e sua equipe está desenvolvendo, mas também pode servir como ponto de partida para avaliação do software de terceiros.

3. Fatores humanos

Logo, as técnicas acima também dependem de alguns fatores humanos para serem feitas com êxito, tais como:

· A organização, de como o trabalho será feito, sobre qual tarefa será feita por quem, qual a tarefa que deverá ser priorizada, etc. Para isso, grande parte das empresas recorre ao uso das metodologias ágeis;

· A comunicação entre a equipe é um ponto-chave também, pois, os mesmos podem conversar ideias diferentes de desenvolvimento do código, da priorização que cada tarefa terá, dos requisitos elaborados, dentre outros;

· Um ambiente calmo, tranquilo, sem conflitos e sem interesses facilita também na qualidade do produto final.

Destarte, a qualidade de software, incorporada aos produtos computacionais de forma correta, aumentam as oportunidades de o usuário final ter satisfação do investimento feito por ele e, indicar seu produto para outras pessoas. Contudo, a qualidade deve ser incorporada ao projeto antes do início do mesmo, pois, não é plausível que a qualidade seja incorporada ao projeto somente na metade ou no fim do mesmo.