Teste e garantia de qualidade

O sistema de software precisa ser verificado quanto ao seu comportamento pretendido e direção do progresso em cada estágio de desenvolvimento para evitar a duplicação de esforços, estouros de tempo e custos e para garantir a conclusão do sistema dentro do tempo estipulado. O sistema de software precisa ser verificado quanto ao seu comportamento pretendido e direção do progresso em cada estágio de desenvolvimento para evitar a duplicação de esforços, estouros de tempo e custos e para assegurar a conclusão do sistema dentro do tempo estipulado.

O teste do sistema e a garantia de qualidade ajudam na verificação do sistema. Inclui -

  • Qualidade de nível de produto (teste)
  • Qualidade do nível de processo.

Vamos analisá-los brevemente -

Testando

Teste é o processo ou atividade que verifica a funcionalidade e exatidão do software de acordo com os requisitos do usuário especificados para melhorar a qualidade e confiabilidade do sistema. É uma abordagem cara, demorada e crítica no desenvolvimento do sistema que requer o planejamento adequado do processo de teste geral.

Um teste bem-sucedido é aquele que encontra os erros. Ele executa o programa com a intenção explícita de encontrar o erro, ou seja, fazer o programa falhar. É um processo de avaliação de sistema com a intenção de criar um sistema forte e foca principalmente nas áreas fracas do sistema ou software.

Características de teste de sistema

O teste do sistema começa no nível do módulo e prossegue em direção à integração de todo o sistema de software. Diferentes técnicas de teste são usadas em momentos diferentes durante o teste do sistema. É conduzido pelo desenvolvedor para pequenos projetos e por grupos de teste independentes para grandes projetos.

Estágios de teste do sistema

Os seguintes estágios estão envolvidos no teste -

Test Strategy

É uma declaração que fornece informações sobre os vários níveis, métodos, ferramentas e técnicas usadas para testar o sistema. Deve satisfazer todas as necessidades de uma organização.

Test Plan

Ele fornece um plano para testar o sistema e verifica se o sistema em teste atende a todas as especificações de design e funcionais. O plano de teste fornece as seguintes informações -

  • Objetivos de cada fase de teste
  • Abordagens e ferramentas usadas para teste
  • Responsabilidades e tempo necessários para cada atividade de teste
  • Disponibilidade de ferramentas, instalações e bibliotecas de teste
  • Procedimentos e padrões necessários para planejar e conduzir os testes
  • Fatores responsáveis ​​pela conclusão bem-sucedida do processo de teste

Test Case Design

  • Uma série de casos de teste são identificados para cada módulo do sistema a ser testado.

  • Cada caso de teste especificará como a implementação de um determinado requisito ou decisão de design deve ser testada e os critérios para o sucesso do teste.

  • Os casos de teste junto com o plano de teste são documentados como parte de um documento de especificação do sistema ou em um documento separado chamado test specification ou test description.

Test Procedures

Consiste nas etapas que devem ser seguidas para executar cada um dos casos de teste. Esses procedimentos são especificados em um documento separado denominado especificação de procedimento de teste. Este documento também especifica quaisquer requisitos e formatos especiais para relatar o resultado dos testes.

Test Result Documentation

O arquivo de resultados de teste contém informações breves sobre o número total de casos de teste executados, o número de erros e a natureza dos erros. Esses resultados são avaliados de acordo com os critérios da especificação do teste para determinar o resultado geral do teste.

Tipos de teste

Os testes podem ser de vários tipos e diferentes tipos de testes são realizados, dependendo do tipo de bugs que se busca descobrir -

Teste de Unidade

Também conhecido como Teste de Programa, é um tipo de teste em que o analista testa ou se concentra em cada programa ou módulo de forma independente. É realizada com a intenção de executar cada instrução do módulo pelo menos uma vez.

  • Em testes de unidade, a precisão do programa não pode ser garantida e é difícil conduzir testes de várias combinações de entrada em detalhes.

  • Ele identifica erros máximos em um programa em comparação com outras técnicas de teste.

Teste de integração

No Teste de Integração, o analista testa vários módulos trabalhando juntos. É usado para encontrar discrepâncias entre o sistema e seu objetivo original, especificações atuais e documentação do sistema.

  • Aqui, os analistas tentam encontrar áreas onde os módulos foram projetados com especificações diferentes de comprimento, tipo e nome de elemento de dados.

  • Ele verifica se os tamanhos dos arquivos são adequados e se os índices foram criados corretamente.

Teste funcional

O teste de função determina se o sistema está funcionando corretamente de acordo com suas especificações e documentação de padrões relevantes. O teste funcional normalmente começa com a implementação do sistema, o que é muito crítico para o sucesso do sistema.

O teste funcional é dividido em duas categorias -

  • Positive Functional Testing - Envolve testar o sistema com entradas válidas para verificar se as saídas produzidas estão corretas.

  • Negative Functional Testing - Envolve testar o software com entradas inválidas e condições de operação indesejadas.

Regras para teste de sistema

Para realizar o teste do sistema com sucesso, você precisa seguir as regras fornecidas -

  • O teste deve ser baseado nos requisitos do usuário.

  • Antes de escrever scripts de teste, entenda que a lógica de negócios deve ser bem compreendida.

  • O plano de teste deve ser feito o mais rápido possível.

  • O teste deve ser feito por terceiros.

  • Deve ser executado em software estático.

  • O teste deve ser feito para condições de entrada válidas e inválidas.

  • Os testes devem ser revisados ​​e examinados para reduzir os custos.

  • Os testes estáticos e dinâmicos devem ser realizados no software.

  • A documentação dos casos de teste e dos resultados dos testes deve ser feita.

Garantia da Qualidade

É a revisão do sistema ou produtos de software e sua documentação para garantia de que o sistema atende aos requisitos e especificações.

  • O objetivo do controle de qualidade é fornecer confiança aos clientes por meio da entrega constante de produtos de acordo com as especificações.

  • O Software Quality Assurance (SQA) é uma técnica que inclui procedimentos e ferramentas aplicadas pelos profissionais de software para garantir que o software atenda ao padrão especificado para seu uso e desempenho pretendidos.

  • O principal objetivo do SQA é fornecer visibilidade adequada e precisa do projeto de software e seu produto desenvolvido para a administração.

  • Ele analisa e audita o produto de software e suas atividades ao longo do ciclo de vida de desenvolvimento do sistema.

Objetivos da garantia de qualidade

Os objetivos da realização de garantia de qualidade são os seguintes -

  • Acompanhar o processo de desenvolvimento de software e o software final desenvolvido.

  • Garantir se o projeto de software está implementando os padrões e procedimentos definidos pela gerência.

  • Para notificar grupos e indivíduos sobre as atividades de SQA e os resultados dessas atividades.

  • Garantir que os problemas não resolvidos no software sejam tratados pela alta administração.

  • Para identificar deficiências no produto, processo ou nos padrões e corrigi-los.

Níveis de garantia de qualidade

Existem vários níveis de controle de qualidade e testes que precisam ser executados para certificar um produto de software.

Level 1 − Code Walk-through

Nesse nível, o software offline é examinado ou verificado em busca de quaisquer violações das regras de codificação oficiais. Em geral, a ênfase é colocada no exame da documentação e no nível de comentários no código.

Level 2 − Compilation and Linking

Nesse nível, verifica-se que o software pode compilar e vincular todas as plataformas e sistemas operacionais oficiais.

Level 3 − Routine Running

Neste nível, é verificado se o software pode funcionar corretamente sob uma variedade de condições, como certo número de eventos e eventos de pequeno e grande porte, etc.

Level 4 − Performance test

Neste nível final, é verificado se o desempenho do software satisfaz o nível de desempenho especificado anteriormente.