Níveis de teste de software

Os testes de software têm vários níveis. Também se dividem em duas grandes categorias, testes funcionais e testes não funcionais. Exploramos essas categorias em detalhe no próximo capítulo.

Visão geral dos níveis de teste de software

Os quatro níveis de teste são:

  • Testes unitários
  • Testes de integração
  • Testes de sistema
  • Testes de aceitação

Overview of Software Testing LevelsUnit TestTest an IndividualComponentIntegration TestTest ComponentGroupsSystem TestTest the IntegratedSystemAcceptance TestTest the FinalSystem
Abrir diagrama em tamanho real

Visão geral dos níveis de teste de software

Testes unitários

Uma unidade é a menor parte independente e testável do código-fonte. O teste unitário é o primeiro nível de teste e normalmente é realizado pelos desenvolvedores ou por outros membros da sua equipe, em vez dos testadores de software. Conclua os testes unitários antes de integrar as unidades. Um plano bem definido e casos de teste específicos são essenciais.

Quando as unidades funcionam corretamente de forma isolada, os testes unitários dão confiança para prosseguir com a integração. Testar durante o desenvolvimento pode parecer lento no início, pois a equipe encontra defeitos e precisa alterar o código. Com o tempo, o código melhora e os defeitos diminuem. Isso cria uma base mais sólida, acelera as etapas posteriores do desenvolvimento e poupa tempo.

Unit Testing FlowWrite or ModifyYour CodeCreate UnitTest CasesCompile and ExecuteTestsCollect TestResultsEncountereda Failure?YesNoTestsPass
Abrir diagrama em tamanho real

Testes unitários

Testes unitários eficazes também poupam dinheiro. Em geral, corrigir defeitos no fim do desenvolvimento custa muito mais do que corrigi-los nas fases iniciais.

Os testes unitários abrangem um componente pequeno. Por isso, seus casos e dados não conseguem verificar todos os cenários funcionais ou todos os fluxos de informação da aplicação. Alguns cenários só podem ser testados depois que as unidades são reunidas em um componente maior.

Testes de integração

Após os testes unitários, os testes de integração verificam como duas ou mais unidades interagem e que resultados produzem em cenários diferentes. Um engenheiro de testes de software realiza essa verificação.

Os testes de integração revelam defeitos de funcionalidade, conformidade com requisitos e desempenho. Os testes unitários verificam o funcionamento de cada componente. Os testes de integração verificam se eles funcionam juntos conforme o esperado. As principais abordagens são:

  1. Big bang
  2. Integração descendente
  3. Integração ascendente
Na integração big bang, todos os módulos são reunidos no sistema completo, que depois é testado em busca de defeitos.

Integration Testing ApproachesIntegration TestingTop DownIntegration TestingBottom UpIntegration Testing
Abrir diagrama em tamanho real

Testes de integração

A integração descendente começa pelos módulos de nível mais alto. Em seguida, adiciona e testa os módulos de nível inferior, um de cada vez. A integração ascendente inverte essa ordem. Os módulos de nível mais baixo são testados primeiro, e os módulos superiores são acrescentados progressivamente. Uma sequência comum começa com testes ascendentes e prossegue com testes descendentes.

Top Down and Bottom Up Integration12345678Level OneLevel TwoLevel ThreeLevel FourBottom UpTop Down
Abrir diagrama em tamanho real

Testes de integração descendente e ascendente

Nos testes descendentes, stubs simulam módulos ou subprogramas de nível inferior que ainda não estão disponíveis ou concluídos. Nos testes ascendentes, um driver atua como programa chamador quando o programa de nível superior ainda não está disponível.

Testes de sistema

Concluída a integração com êxito, os testes de sistema examinam o sistema completo com seus componentes em funcionamento conjunto. Eles verificam o desempenho, as especificações funcionais e técnicas e os padrões de qualidade da organização. Uma equipe de testes qualificada deve realizar esse trabalho em um ambiente o mais próximo possível daquele em que o sistema será usado.

System Testing through the Software Development Life CycleTestingStrategyUnitTestingIntegrationTestingSystemTestingUser AcceptanceTestingCompletion ofTestingTesting RequirementSoftwareDevelopmentLife CycleTest DependentSoftwareDevelopmentSoftwareChange ControlSoftware IsReady forImplementation
Abrir diagrama em tamanho real

Testes de sistema

O teste de sistema é inteiramente um teste de caixa preta. Ele avalia o sistema em relação aos requisitos na perspectiva do usuário, considerando o comportamento da aplicação, seu projeto e as expectativas do usuário final. Verifica e valida tanto a arquitetura da aplicação quanto os requisitos de negócio do cliente.

Testes de aceitação

Depois dos testes unitários, de integração e de sistema, os testes de aceitação avaliam a qualidade e a exatidão com cenários e casos de teste predefinidos. A equipe de garantia da qualidade analisa o sistema de várias perspectivas, incluindo sua aparência e seu funcionamento interno. Essa etapa é crucial, pois a aceitação do cliente também depende de requisitos legais e contratuais. Os testes de aceitação incluem:

  1. Testes de aceitação do usuário. Antes de aceitar o software, usuários reais o testam em suas próprias instalações ou nas da organização que o desenvolveu.
  2. Testes de aceitação operacional. Verificam se os processos e procedimentos necessários para usar e manter o sistema estão em vigor.
  3. Testes de aceitação contratual e regulatória. Verificam a conformidade com os requisitos contratuais e com as normas governamentais, legais e de segurança aplicáveis.
  4. Testes alfa. Perto do fim do desenvolvimento, quando o sistema inteiro pode ser testado, avaliam a qualidade geral do produto e preparam os testes beta. Engenheiros de teste e outros membros da equipe analisam a qualidade e os aspectos de engenharia do ponto de vista do cliente. Isso pode levar bastante tempo.
  5. Testes beta. Após os testes alfa, usuários reais experimentam o produto em condições reais para melhorar sua qualidade e verificar se ele atende aos seus requisitos. Essa etapa ocorre alguns dias ou semanas antes do lançamento e pode durar alguns dias. Pode ser mais curta que a etapa alfa, pois nessa altura a probabilidade de encontrar defeitos é relativamente baixa.

User Acceptance Testing Process01PlanUAT02Identify TestingScenarios03ExecuteTests04Verify DefectsAfter Fixing05ReportResults06End ofUAT
Abrir diagrama em tamanho real

Testes de aceitação



Garantimos que, com a sua formação gratuita online, passará no exame de certificação em testes de software!

  1. 01

    Inscreva-se online

    Escolha a sua certificação acreditada e conclua a inscrição.

  2. 02

    Receba o código de acesso

    O seu código pessoal de acesso ao exame é enviado imediatamente por e-mail.

  3. 03

    Prepare e faça o exame

    Estude com a sua formação gratuita e responda online a 50 perguntas de escolha múltipla.

  4. 04

    Obtenha uma certificação vitalícia

    Receba o seu certificado válido em todo o mundo e o distintivo digital verificável.

Exemplo de certificado Accredited Software Test Manager Certification™
Inscrever na certificação

A SUA FORMAÇÃO PREMIUM GRATUITA ONLINE

A segunda edição de Software Testing Revealed já está disponível para si.

Criámos a sua formação com um grupo de líderes empresariais e de equipas reconhecidos, formadores de testes de software, mentores e especialistas de referência nos principais setores. Qualquer pessoa que visite International Software Test Institute™ pode aceder à formação. Encontre os materiais nas secções O seu livro gratuito de testes de software e A sua formação premium gratuita em testes de software do menu principal.

Estes materiais são propriedade intelectual de International Software Test Institute™ e estão protegidos por direitos de autor. Partilhamo-los gratuitamente com todos porque divulgar a nossa experiência apoia os profissionais de testes de software e ajuda a desenvolver a área.

O exame de certificação é composto por perguntas de escolha múltipla. Estude com a formação online para adquirir os conhecimentos de que precisa para passar no exame e obter a sua certificação em testes de software.

Garantimos que, com a sua formação premium gratuita online, passará no exame de certificação em testes de software!