Automação de testes

Automação de testes para sistemas
complexos e distribuídos

Automatize a execução de testes em dispositivos, máquinas e ambientes, sem perder o contexto de cada execução.

O TS Factory coordena cenários distribuídos, regista o ambiente de teste e centraliza os resultados. O Midair liga essas execuções às ocorrências no código e às evidências de execução.

Correr um teste automaticamente é a parte fácil.

A parte difícil começa quando um cenário depende de várias máquinas, dispositivos, configurações ou serviços.

A automação torna-se frágil quando o teste volta a correr, mas o ambiente que produziu o resultado não pode ser reconstruído.

Os testes dependem da infraestrutura

Um cenário pode exigir que vários hosts, dispositivos, serviços ou condições de rede estejam preparados antes da execução.

Os ambientes mudam com o tempo

Alterações de configuração entre execuções podem fazer com que o mesmo teste dê outro resultado.

As falhas deixam evidências dispersas

Os registos e as medições ficam muitas vezes em cada uma das máquinas que participaram na execução.

Repetir nem sempre é reproduzir

Correr o mesmo script outra vez não recria as mesmas condições, a não ser que o ambiente também seja preservado.

TS Factory

Automatize todo o ambiente de teste à volta do script.

A automação de testes costuma limitar-se a lançar um script e verificar o resultado. Em sistemas complexos, também tem de coordenar a infraestrutura à volta desse script. Com o TS Factory, um fluxo de teste pode incluir:

1

Preparar

Configure as máquinas, os dispositivos e os serviços de que o cenário precisa.

2

Coordenar

Execute ações em vários agentes, pela ordem que o teste exige.

3

Executar

Corra sessões de teste grandes, repetidamente, na mesma configuração controlada.

4

Recolher

Junte num só lugar os registos, as medições e os resultados dos sistemas participantes.

5

Repor

Devolva os recursos de teste ao estado esperado depois da execução.

6

Comparar

Analise o comportamento entre sessões, builds e configurações que mudam.

Onde a automação de testes se complica

Cenários de teste distribuídos

Um resultado pode depender de ações que acontecem em vários hosts ou dispositivos.

Laboratórios de dispositivos

Os recursos físicos têm de ser atribuídos, configurados e repostos entre execuções.

Sessões longas

Milhares de testes podem correr durante horas ou dias e gerar grandes volumes de diagnósticos.

Testes de integração e de sistema

O fluxo pode passar por APIs, serviços, firmware e hardware ao mesmo tempo.

Configurações que mudam

As versões de firmware, os builds de software e as definições da infraestrutura têm de ficar associados a cada execução.

Falhas difíceis de reproduzir

Muitas vezes, o teste automático mais valioso é o que guarda contexto suficiente para recriar a falha original.

O TS Factory é a camada de testes do Midair.

Execução distribuída de testes

TS Factory

O TS Factory foi feito para cenários de teste que abrangem várias máquinas, dispositivos e serviços interligados.

Coordena agentes que trabalham em conjunto, executa sessões de teste grandes e reúne os diagnósticos num só sistema.

Investigação ao longo do ciclo de vida

Midair

Quando o TS Factory é usado dentro do Midair, o resultado do teste fica ligado às ocorrências da análise estática do Visao e às evidências de execução recolhidas pelo Delta.

Assim, o fluxo de automação diz mais do que "passou" ou "falhou": a execução que falhou passa a fazer parte do contexto da investigação.

O que se pode automatizar

Fluxos de regressão

Corra os mesmos cenários de sistema em vários builds e compare os resultados ao longo do tempo.

Testes de integração

Coordene cenários em que vários componentes ou serviços participam no mesmo fluxo.

Testes embebidos e de dispositivos

Automatize a execução em dispositivos físicos, hosts de teste e ambientes que dependem do hardware.

Redes e sistemas distribuídos

Corra cenários em vários nós, dispositivos de rede ou serviços interligados.

Testes de stress e de longa duração

Execute sessões grandes sob carga contínua ou em condições que mudam.

Validação em CI/CD

Lance fluxos de teste repetíveis a partir dos pipelines de entrega que já tem. O contexto resultante fica associado à execução.

A automação de testes deve preservar a reprodutibilidade.

A automação só poupa tempo se as execuções repetidas continuarem comparáveis.

Em ambientes complexos, isso significa guardar mais do que o código do teste.

•

Versão do software e do firmware

Saiba exatamente que build foi testado.

•

Agentes participantes

Registe que máquinas ou dispositivos participaram.

•

Configuração

Mantenha as definições relevantes do ambiente associadas à execução.

•

Entradas e cenário

Saiba que sequência de ações produziu o resultado.

•

Registos e medições

Recolha diagnósticos de todos os sistemas participantes.

•

Histórico do ambiente

Acompanhe as alterações feitas à configuração de teste e reponha-a no fim.

Use a automação que já tem.

O Midair não precisa de substituir todas as frameworks de teste que já existem. A automação de testes pode ser introduzida à volta da infraestrutura e dos fluxos que já utiliza.

Pipelines de CI/CD existentes

Lance o Midair ou o TS Factory a partir do processo de entrega que já usa.

Conjuntos de testes existentes

Mantenha os testes de componente ou de uma framework específica e coordene-os dentro de cenários maiores.

Dispositivos físicos e laboratórios

Ligue agentes distribuídos ao hardware e à infraestrutura de teste que já existem.

Ambientes na cloud ou nas suas instalações

Corra a camada de testes onde o sistema e os recursos de teste já estão.

Dos scripts a uma infraestrutura de testes reproduzível

A automação de testes torna-se infraestrutura a partir do momento em que outro trabalho de engenharia depende dela.

Um sistema de automação fiável prepara o ambiente, coordena os recursos envolvidos e corre o teste. Também guarda o resultado, para que o mesmo cenário possa ser investigado mais tarde.

O TS Factory é essa camada de execução. O Midair mantém as evidências resultantes ligadas ao resto do ciclo de vida do software.

Perguntas frequentes

O que é a automação de testes?

A automação de testes usa software para preparar, executar e avaliar fluxos de teste repetíveis. Nenhum passo tem de ser feito à mão.

O que é a automação de testes distribuídos?

A automação de testes distribuídos coordena um cenário de teste em várias máquinas, dispositivos ou serviços. Serve para os casos em que um só host não chega para o correr.

O Midair substitui as frameworks de teste existentes?

Não necessariamente. Os conjuntos de testes e os fluxos de CI/CD existentes podem ficar como estão. O TS Factory coordena os cenários distribuídos maiores e o Midair liga as evidências resultantes.

O TS Factory consegue testar dispositivos físicos?

O TS Factory foi desenhado para ambientes distribuídos que podem incluir dispositivos físicos, agentes de teste e laboratórios com vários dispositivos.

Comece com um fluxo de teste.

Traga um cenário que hoje exige preparação manual, várias máquinas ou investigação repetida depois de uma falha.

Ligue-o ao TS Factory e automatize o ambiente à volta dele. Cada execução fica disponível no Midair, com o contexto que a produziu.