A qualidade de software é crucial para o sucesso de um produto, e isso ninguém pode negar! A falta da avaliação da qualidade desses serviços e aplicativos pode gerar grandes dores de cabeça, tanto para o cliente, quanto para a empresa, como já falamos aqui no blog da Auditeste.
No entanto, algumas pessoas ainda têm dificuldade em entender o que de fato é essa qualidade e como ela funciona. Existem algumas definições e normas que devem ser seguidas para comprovar e garantir que certo produto atende as exigências de qualidade.
Mas, o que deve ser levado em consideração é que os fatores que determinam se um produto é de qualidade ou não, pode variar de acordo com quem está avaliando, por exemplo. Para o usuário final, a qualidade pode estar atrelada a aspectos que não estão na lista de exigências do programador.
Para o engenheiro de software, Roger S. Pressman, a definição de qualidade é “a conformidade a requisitos funcionais e de desempenho que foram explicitamente declarados, a padrões de desenvolvimento claramente documentados, e a características implícitas que são esperadas de todo software desenvolvido por profissionais”.
Neste texto falamos sobre as normas da qualidade, como ela é medida, os benefícios da avaliação e sua importância no mercado competitivo. Então, para entender melhor esse assunto, continue com a leitura deste conteúdo até o final!
Qualidade de software como fator competitivo
Achar que a qualidade de software é um diferencial competitivo é um pensamento totalmente ultrapassado e errôneo. Hoje em dia, a qualidade é um requisito básico para todas as empresas desenvolvedoras de software.
No entanto, isso não significa que garantir uma boa qualidade não irá dar uma vantagem competitiva para o negócio.
Vivemos um momento em que para tudo que precisa ser feito, existe um aplicativo. Para atender todas as necessidades específicas de cada tarefa, esses softwares estão cada vez mais complexos.
Por isso, apesar de não ser considerado de fato um grande diferencial competitivo, garantir e conseguir comprovar a qualidade através de certificação internacional aumenta a confiabilidade do público com aquela marca. O que, consequentemente, aumenta o número de clientes.
Para conseguir comprovar a qualidade, é preciso seguir algumas normas e padrões. Falamos mais deles no tópico abaixo. Confira!
Normas da qualidade de software
Como mencionado no tópico acima, existem normas que, quando seguidas, servem para comprovar a qualidade do software. Essas normas são nacionais e internacionais. Abaixo separamos cada uma delas e para que servem.
- ISO 9126 — Norma internacional para garantir as características da qualidade de produtos de software.
- NBR 13596 — Tem o mesmo objetivo que a norma acima, mas esta é a versão brasileira.
- ISO 14598 — Com base nas práticas da norma ISO 9126 cria-se um guia para avaliação dos softwares.
- ISO 12119 — Usado para avaliar as características de software de “prateleira”.
- IEEE P1061 — Trata-se das metodologias da padronização da qualidade dos softwares.
- ISO 12207 — Envolve a qualidade durante o desenvolvimento do software.
- NBR ISO 9001 — Garante a qualidade em todo o processo de instalação, assistência técnica, entre outros.
- NBR ISO 9000-3 — Gestão e garantia de qualidade;
- NBR ISO 10011 — Também relacionada com o processo, neste caso envolve a auditoria de sistemas da qualidade.
Seguindo as especificações dessas normas, é possível receber o certificado internacional de qualidade. Com isso, a empresa desenvolvedora e a que distribui o software passa mais credibilidade para o público.
Medindo a qualidade com ISO/IEC 9126
Medir a qualidade de software é um processo complexo. Diferente de outros produtos, com o software não é possível medir seu desgaste físico, por exemplo.
Para tornar esse processo possível, usa-se as categorias de características de qualidade presentes na norma ISO 9126 (NBR 13596). São seis categorias no total. Contudo, essas categorias de características contam com subcategorias.
Nos tópicos abaixo falamos mais sobre elas. Continue lendo para saber mais.
Funcionalidade
Essa é a categoria com mais subcategorias. Sendo elas: adequação, acurácia, interoperabilidade, segurança de acesso, conformidade.
De modo geral, a métrica de funcionalidade deve mostrar se o conjunto de todas as funções do software atendem as necessidades para qual o produto foi desenvolvido.
Assim, algumas perguntas como “gera resultados conforme acordado?”, “está de acordo com normas e convenções previstas em leis?”, “garante o acesso somente às pessoas autorizadas?” devem ser feitas e respondidas.
Usabilidade
Na usabilidade, o que é testado é o nível de dificuldade que os usuários finais enfrentam para usar o software. Inteligibilidade, apreensibilidade e operacionalidade são suas subcategorias.
Essas subcategorias devem ser capazes de responder perguntas como “é fácil controlar a operação do software?”, “os conceitos utilizados são fáceis de entender?” e “é fácil aprender a usar o software?”.
Eficiência
Suas subcategorias são “comportamento em relação ao tempo” e “comportamento em relação aos recursos”.
Nesse ponto, são analisados o tempo de resposta e de processamento para cada operação do software, e o quanto de recursos ele utiliza.
Portabilidade
Adaptabilidade, capacidade para substituir e para ser instalado e conformidade são subcategorias. Nesse caso, é avaliada a possibilidade de utilizar o software em outras plataformas.
Além disso, é avaliada se a instalação em outros ambientes ocorre de forma fácil.
Manutenibilidade
Na manutenibilidade são levadas em consideração a facilidade de encontrar falhas no software, alterar erros e realizar testes sempre que acontece alguma atualização.
As subcategorias são: modificabilidade, testabilidade, estabilidade e analisabilidade.
Confiabilidade
Maturidade, tolerância a falhas e recuperabilidade são subcategorias da confiabilidade. Essa categoria testa a qualidade de software no quesito desempenho.
Para isso, as perguntas “com que frequência apresenta falhas?”, “os dados são recuperados após as falhas?”, “como reage perante as falhas?”.
Conclusão
A qualidade de software é um processo trabalhoso, que exige profundo conhecimento de quem o faz e que demanda tempo. Mas, é um passo crucial para garantir o bom funcionamento da ferramenta e uma boa experiência do usuário.