O que é Qualidade de Software?

Analisando a qualidade de software podemos ter duas visões:

A Visão Técnica

“Qualidade de software é a conformidade com requisitos funcionais e de desempenho explicitamente declarados, padrões de desenvolvimento explicitamente documentados e características implícitas, que são esperadas em todo software desenvolvido profissionalmente.” PRESSMAN, 2002

Ou seja, tudo aquilo que foi detalhado no levantamento das necessidades. Neste momento o teste é importante, pois devemos testar se aquilo que o cliente pediu é realmente o que está sendo entregue pelo sistema.

A Visão Subjetiva

A qualidade no software diz respeito também ao grau de satisfação em que os usuários avaliam determinado produto ou serviço, tornando a qualidade algo subjetivo e pessoal.

Esse item está muito voltado a percepção do usuário, algo que não pode ser medido por testes, sendo algo bem subjetivo. Envolvendo além dos aspectos funcionais, a usabilidade, prazos, etc.

Características de Qualidade de Software

Para garantir a qualidade, podemos responder um conjunto de perguntas agrupados em 5 pilares, que vão muito além de puramente teste:

Funcionalidade

  • Propõe-se a fazer o que é apropriado?
  • Gera resultados corretos ou conforme acordados?
  • É capaz de interagir com os sistemas especificados?
  • Evita acesso não autorizado, acidental ou deliberado a programas de dados?
  • Está de acordo com normas e convenções previstas em leis e descrições similares?

Manutenibilidade

  • É fácil encontrar uma falha quando ocorre?
  • É fácil modificar e remover defeitos?
  • Há grandes riscos de bugs quando se faz alterações?
  • É fácil adaptar a outros ambientes sem aplicar outras ações ou meios além dos fornecidos para esta finalidade no software considerado?

Usabilidade

  • É fácil entender os conceitos utilizados?
  • É fácil apreender a usar?
  • É fácil de operar e controlar a operação?

Eficiência

  • Quanto recurso utiliza?
  • Qual é o tempo de resposta e de processamento?

Portabilidade

  • É fácil adaptar a outros ambientes sem aplicar outras ações ou meios além dos fornecidos para esta finalidade no software considerado?
  • É fácil instalar em outros ambientes?
  • É fácil substituir por outro software?
  • Está de acordo com padrões ou convenções de portabilidade?

Processo de Desenvolvimento com Qualidade

O processo de qualidade envolve o time todo durante todo o processo de desenvolvimento.

Durante a análise de negócio há uma interação, já que o analista executa testes voltados ao negócio, validando se aquilo que o desenvolvedor implementou atende às necessidades do negócio.

Já na análise e desenvolvimento de sistemas, são desenvolvidos cenários para esclarecer as dúvidas dos desenvolvedores, a criação de automações para os testes, objetivando dar uma maior agilidade no futuro além de evitar repetições desnecessárias.

Finalmente o teste é executado na qualidade, com isso os riscos de problemas são mitigados ao extremo.

Todo esse modelo roda dentro de sprints, que já possuem temos para os testes e validações especificados no planejamento, uma vez que as métricas já estão definidas, hoje, 30% do valor do tempo diz respeito à verificação e testes.

Conforme o desenvolvimento vai evoluindo, os cenários de testes e validações são automatizados pela equipe te automação da qualidade, enriquecendo assim o conhecimento e a habilidade de validar a implementação.

Artefatos de Apoio à Qualidade

Existem alguns artefatos que ajudam muito na garantia da qualidade, eles são incrementados conforme a evolução do produto. Alguns artefatos usados hoje no time de Legais do ERP:

  • Análise de negócio: detalhamento do que será desenvolvido para entender o negócio do cliente. Esta é a principal etapa do desenvolvimento, pois aqui são levantadas as necessidades do cliente pelo analista.
  • Mapas mentais de testes: um detalhamento dos testes executados em cada módulo.
  • Base referência da qualidade: contém configurações referentes às novas funcionalidades, e conformidades com a lei.
  • Análise de erros: retrospectiva para entender o que foi bom e ruim, melhorando continuamente o processo de validação/testes.
  • Novas automações: erros encontrados e novas automações para novos processos (tendo um template padrão), sendo usadas hoje 2 ferramentas:
    • Selenium: testas as aplicações WEB.
    • TestComplete: testa as aplicações desktop.

Lembrando que isso tudo é embasado em uma análise de negócio detalhada, que contempla o máximo possível de referências para testes. Hoje o próprio SISCON oferece esse recurso, possibilitando o registro dentro da própria SMS.

Adicionando a isso, o ERP hoje possui um processo de entrega contínua, baseado em 4 etapas que garantem a qualidade:

  1. Testes em branch RC (release candidate) durante desenvolvimento.
  2. Merge na release de desenv apenas do que está OK.
  3. Testes automatizados na release de desenv com todas as implementações.
  4. Entrega do Pacote através do processo de entrega de release.

Para Saber Mais

Quer saber mais sobre qualidade? Na wiki, temos um artigo que explica todo o processo de qualidade: Guru da Qualidade.

Temos também um BE.TECH inteiro sobre o assunto gravado pela Margareth Parey Valli, confira:

Gostou deste post? Deixa seu comentário, te vejo na próxima publicação, um abraço,

Danton C. Franco Junior

#TimeTec

Compartilhe
Autor
Leia mais
Comentários

Deixe um comentário

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