Pular para o conteúdo

Construir um software envolve diversas áreas: comunicação, marketing, equipe de negócios, design, experiência do usuário, equipe técnica e tantos outros envolvidos.

Mas afinal, o que seria construir um software com qualidade?

Essa pergunta pode ter diversas respostas, entretanto, a ISO/IEC 25010 foi criada para ser um alicerce quando falamos em construção de software.

Com ela, podemos avaliar a qualidade de um sistema a partir de princípios que foram desenhados. Cada princípio analisa o software de um ponto de vista.

Nesse artigo, iremos navegar por cada princípio e suas subcaractéristicas e como eles podem nos auxiliar.

Vamos lá?

Adequação funcional

Mulher segurando uma prancheta e olhando em um quadro branco os requisitos do sistema.
Image by gpointstudio on Freepik

Todo sistema deve permitir os usuários realizarem tarefas específicas. Essa habilidade é chamada de adequação funcional.

Para isso acontecer devemos criar funcionalidades, que esperam alguma ação do usuário para respondê-lo, de acordo com seu pedido.

Eficiência de desempenho

Image by rawpixel.com on Freepik

Acredito que todo mundo detesta um software lento. Particularmente eu odeio, fico impaciente e dependendo da situação acabo desinstalando ou deixo de lado.

Esse princípio reflete justamente esse aspecto. O software deve ser capaz de responder em tempo hábil, sem deixar o usuário esperando.

Outros pontos importantes, como por exemplo: a utilização de recursos e sua capacidade.

Compatibilidade

Image by macrovector on Freepik

Na minha opinião todo software deveria ser compatível, mas sei que isso não é uma realidade. Principalmente em consoles de video-games, onde existe uma briga de mercado gigante nesse aspecto.

Uma das empresas que mais me irritava nesse sentido era a Microsoft. Bastava lançar uma nova versão do Excel, por exemplo, e a versão antiga já não era compatível com a nova.

Penso que, era uma estratégia de venda para atualizar os softwares, entretanto, nem sempre era viável realizá-la.

A interoperabilidade é a capacidade de executar o software independente da estrutura. Essa caractéristica é muito importante, pois, permite alçancar um número maior de pessoas.

Usabilidade

Usabilidade é a habilidade dos usuários aprenderem de forma simples com o minimo esforço.

Alguns itens necessitam de serem cumpridos para terem uma boa usabilidade.

Como por exemplo:

  • Reconhecimento de adequação;
  • Aprendizagem;
  • Operabilidade;
  • Proteção contra erros do usuário;
  • Estética da interface do usuário;
  • Acessibilidade.

Todas essas subcaracterísticas são importantes, entretanto, quero destacar a acessibilidade.

A acessibilidade é extremamente relevante para a usabilidade. Não temos um software usável sem acessibilidade, ou vice-versa.

Contudo, vale sempre lembrar:

Entregar um software com boa usabilidade e não pensar em acessibilidade é um grande erro.

Confiabilidade

Mão de uma pessoa avaliando o software com nota máxima, devido a sua confiabilidade
Image by DilokaStudio on Freepik

Confiabilidade diz a respeito do sucesso de seu software. Ninguém gosta de utilizar algo que não seja confiável.

Ainda mais, com os escandâlos de vazamento de dados recentes, se previnir e usar ferramentas adequadas é essencial.

Comecei a abandonar algumas redes sociais e outros serviços por causa desse princípio.

Quando falamos de confiabilidade, alguns itens são importantes de citar, como por exemplo:

  • Maturidade: mede a frequencia de defeitos apresentados;
  • Disponibilidade: mede o quanto o software encontra-se disponível para os usuários;
  • Tolerância a falhas: como o software reage em situação de falhas;
  • Recuperabilidade: capacidade de recuperar de um incidenten.

Segurança

Além da confiabilidade a segurança, no meu ponto de vista, é um dos pontos mais importantes. Afinal, ninguém quer utilizar algo inseguro, não é mesmo?

Sempre quando falamos de segurança, esse conceito vem acompanhado de outros poucos conhecidos, como:

  • Confidencialidade: somente sistemas/pessoas autorizadas acessam um recurso;
  • Integridade: não permite sistemas/pessoas não autorizadas acessam um recurso;
  • Rastreabilidade de uso: rastreia ações do usuário, a fim de, comprovar suas ações;
  • Autenticidade: identifica se você é quem alega ser.

Capacidade de Manutenção

Computador sendo atualizado na sua tela existe a frase: Software Update
Imagem de rawpixel.com no Freepik

Para qualquer sistema a manutenção é muito importante. Quem nunca sofreu com as atualizações do Windows, que atire a primeira pedra. 😂

Mesmo que isso seja incomôdo, é necessário para prevenir ataques maliciosos e permitir que o sistema mantenha-se “sadio”.

Quando a manutenção é realizada, podemos avaliar os seguintes pontos:

  • Modularidade;
  • Reutilização;
  • Analisabilidade;
  • Modificabilidade;
  • Testabilidade.

Portabilidade

Image by pch.vector on Freepik

Sempre quando ouço a palavra portabilidade, penso logo, em operadoras de telefonia.

Antigamente, quando precisavamos trocar de uma operadora para outra, era bem complicado. Não tinhamos a capacidade de se adaptar ao novo contexto.

Muitas vezes, essa migração era instável e a capacidade de substituição era praticamente impossível.

Mas tudo teve um final feliz, com o avanço da tecnologia hoje é possível realizar isso de forma quase instantânea.

Com a portabilidade, hoje temos a autonomia de poder decidir quando trocar para um serviço que nos atenda melhor.

  • Adaptabilidade;
  • Instalabilidade;
  • Capacidade de substituição.

Esses são os princípios que norteiam o trabalho e tipos de testes de um QA. Além disso, existem 21 qualidades que todo QA deve ter.

Bônus: indicação de livros

Para concluir gostaria de deixar algumas indicações de leitura. As três indicações são valiosas bases para o conhecimento em testes de software. Entretanto, não são as únicas gosto bastante delas.

Conclusão

Concluíndo, os princípios de qualidade de software levaram você ter uma visão muito mais ampla sobre qualidade.

E conseguirá de fato medir a qualidade baseada em itens sólidos.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.