WSO2 API Microgateway 3.0 para um desenvolvimento mais fácil, maior escalabilidade
12 de agosto de 2019O armazenamento definido por software está assumindo … Você está pronto?
29 de agosto de 2019Quando se fala em Garantia de Qualidade de Software (SQA) em um nível mais alto, parece que estamos nos referindo somente à avaliação do software com base em certos atributos, como funcionalidade, desempenho, adaptabilidade, etc.
No entanto, a garantia de qualidade de software vai além da qualidade específica do software, ela também inclui a qualidade do processo utilizado para desenvolver, testar e liberar o software.
O que é Garantia de Qualidade de Software?
O Software Quality Assurance (SQA) consiste nos meios para garantir a qualidade do software a ser lançado, monitorando os métodos e processos de engenharia de software. O SQA abrange todo o ciclo de vida de desenvolvimento de software incluindo: gerenciamento de requisitos, design de software, codificação, teste e gerenciamento de release.
Atributos de qualidade de um software
Um Software pode ser avaliado pela qualidade com base nas seguintes seis características:
Funcionalidade
A funcionalidade do software é o conjunto de funções que o software fornece. O software deve fornecer funções apropriadas conforme os requisitos e essas funções devem ser implementadas corretamente.
O software deve ter interoperabilidade, o que significa a eficácia com que o software interage com outros componentes do sistema.
Deve estar em conformidade com as leis e diretrizes e deve tratar as transações relacionadas a dados com a máxima segurança.
Confiabilidade
A confiabilidade do software é sua capacidade de executar sob condições específicas por um período de tempo definido. Implica também a capacidade do software em suportar as falhas de seus componentes.
O software é confiável com base em sua maturidade que é a frequência das falhas e capacidade de recuperação, que é a capacidade do software para ficar totalmente operacional após uma falha.
Usabilidade
A usabilidade do software é sua facilidade de uso. Também se refere à facilidade com que um usuário pode entender as funções do software e quanto esforço é necessário para que os usuários entendam as suas funções.
Eficiência
A eficiência do software depende das práticas de arquitetura e de codificação que foram seguidas durante o seu desenvolvimento.
Manutenibilidade
A capacidade de manutenção do software depende da complexidade e legibilidade do código. Também se refere à facilidade de identificar e corrigir uma falha no software. O software é analisado com base na facilidade de identificar a principal causa de falha e a facilidade de modificação do código para remover essa falha.
A facilidade de manutenção também depende de sua testabilidade, ou seja quanto esforço é necessário para testar o sistema.
Portabilidade
A portabilidade do software é sua capacidade de se adaptar às mudanças em seu ambiente. Define com que facilidade um sistema se adapta a quaisquer alterações feitas nas suas especificações. Também inclui a facilidade de instalação do software e como é fácil substituir um componente do sistema em um determinado ambiente.
Para garantir que um software tenha um bom desempenho nesses atributos de qualidade, precisamos dos seguintes componentes de garantia de qualidade de software.
Componentes de garantia de qualidade de software
A garantia de qualidade de software possui as seguintes classes de componentes:
Componentes pré-projeto
Os componentes do pré-projeto garantem que os recursos necessários para o projeto, o cronograma e o orçamento estejam claramente definidos. O plano de desenvolvimento e garantia de qualidade foi claramente determinado. Os componentes são os seguintes:
-
Plano de Desenvolvimento
-
Plano de qualidade
-
Cronograma
-
Recursos necessários (hardware e recursos humanos)
-
Avaliações de risco
-
Metodologia do Projeto
Componentes do ciclo de vida do projeto
Um ciclo de vida do projeto é geralmente composto por dois estágios. O primeiro é o estágio de desenvolvimento e depois vem o estágio de manutenção da operação.
No estágio de desenvolvimento, os componentes de SQA ajudam a identificar os erros de design e programação.
Os componentes SQA para o estágio de manutenção da operação incluem os componentes do ciclo de vida de desenvolvimento, juntamente com componentes de manutenção especializados, destinados a melhorar as tarefas de manutenção.
Os componentes do ciclo de vida do projeto incluem:
-
Revisões
-
Opiniões de Especialistas
-
Teste de Software
-
Manutenção de Software
-
Garantia de Qualidade de subcontratados
Componentes de prevenção e melhoria de erros de infra-estrutura
O principal objetivo desses componentes é a prevenção de falhas de software e minimização da taxa de erros. Esses componentes incluem:
-
Procedimentos e instruções de trabalho
-
Modelos e listas de verificação
-
Treinamento de equipe, retenção e certificação
-
Ações preventivas e corretivas
-
Gerenciamento de configuração
-
Controle de documentação
Componentes de gerenciamento de qualidade de software
Essa classe de componentes consiste em controlar as atividades de desenvolvimento e manutenção. Esses componentes estabelecem o controle gerencial dos projetos de desenvolvimento de software. O controle gerencial visa impedir que o projeto ultrapasse o orçamento e que seja entregue com atraso.
Os componentes de controle de gerenciamento incluem:
-
Controle de progresso do projeto
-
Métricas de qualidade de software
-
Custos de qualidade de software
Componentes de padronização, certificação e avaliação de SQA
Os componentes visam implementar padrões gerenciais e profissionais dentro da organização. Esses componentes ajudam a melhorar a coordenação entre os sistemas de qualidade da organização e estabelecem padrões para o processo do projeto.
Os componentes incluem:
-
Padrões de gerenciamento de qualidade
-
Padrões de processos de projeto
Organização para SQA – os componentes humanos
O principal objetivo desta classe de componentes é iniciar e suportar a implementação de componentes SQA, identificar quaisquer desvios dos procedimentos e métodos SQA pré-definidos e recomendar melhorias. A equipe organizacional do SQA inclui gerentes de teste, testadores, unidade SQA, comitê SQA e membros do fórum SQA.
Ferramentas de garantia de qualidade de software
Existem várias ferramentas de controle de qualidade que ajudam na garantia da qualidade do software. Existem diferentes ferramentas de controle de qualidade necessárias para os diferentes fins. Para uma garantia abrangente de qualidade de software, você precisará da seguinte categoria de ferramentas de controle de qualidade, também conhecida como software de controle de qualidade.
Infraestrutura
-
Gerenciamento de Releases
-
Controle de Códigos Fonte
Revisão de Código
-
Análise Automatizada de Código
-
Revisão em Pares
Teste (Software QA)
-
Gerenciamento de Testes
-
Gestão de Bugs e Problemas
-
Testes de navegadores, dispositivos e sistema operacional
-
Teste de Usabilidade
-
Teste de Carga
-
Teste Automatizado e Integração Contínua
Monitoramento e Análise
-
Monitoramento de Disponibilidade
-
Manipulação de Exceção
-
Monitoramento de Log
-
Monitoramento de Desempenho
-
Teste e monitoramento de segurança
Suporte ao Cliente/Usuário
Resumo
As práticas de garantia de qualidade de software ajudam a garantir que a qualidade do software esteja alinhada com os requisitos do cliente.
O principal objetivo dos profissionais de SQA é implementar os processos necessários e obter a ferramenta certa de garantia de qualidade que ajudará a lançar um software com alta qualidade.
Este texto é uma adaptação livre do artigo publicado em https://reqtest.com/testing-blog/software-quality-assurance/
Entre em contato conosco, nós podemos te ajudar a implementar um Processo de Gestão da Qualidade.