O que é teste de transição de estado? Diagrama, Técnica, Exemplo

O que é teste de transição de estado?

Teste de transição de estado é uma técnica de teste de caixa preta na qual as mudanças feitas nas condições de entrada causam mudanças de estado ou mudanças de saída no aplicativo em teste (AUT). O teste de transição de estado ajuda a analisar o comportamento de um aplicativo para diferentes condições de entrada. Os testadores podem fornecer valores de teste de entrada positivos e negativos e registrar o comportamento do sistema.

É o modelo no qual o sistema e os testes são baseados. Qualquer sistema onde você obtém uma saída diferente para a mesma entrada, dependendo do que aconteceu antes, é um sistema de estados finitos.

Técnica de teste de transição de estado é útil onde você precisa teste diferentes transições do sistema.

Neste tutorial, você aprenderá-

Quando usar a transição de estado?

  • Isso pode ser usado quando um testador está testando o aplicativo para um conjunto finito de valores de entrada.
  • Quando o testador está tentando testar a sequência de eventos que ocorrem no aplicativo em teste. Ou seja, isso permitirá que o testador teste o comportamento do aplicativo para uma sequência de valores de entrada.
  • Quando o sistema em teste depende de eventos / valores do passado.

Quando não confiar na transição de estado?

  • Quando o teste não é feito para combinações de entrada sequenciais.
  • Se o teste deve ser feito para diferentes funcionalidades, como teste exploratório

Quatro partes do diagrama de transição de estado

Existem 4 componentes principais do Modelo de Transição de Estado, conforme abaixo

1) Estados que o software pode obter

2) Transição de um estado para outro

3) Eventos que originam uma transição, como fechar um arquivo ou retirar dinheiro

4) Ações que resultam de uma transição (uma mensagem de erro ou receber o dinheiro).

Diagrama de transição de estado e tabela de transição de estado

Existem duas maneiras principais de representar ou projetar a transição de estado, diagrama de transição de estado e tabela de transição de estado.

No diagrama de transição de estado, os estados são mostrados em textos em caixas e a transição é representada por setas. Também é chamado de State Chart ou Graph. É útil para identificar transições válidas.

Na tabela de transição de estados, todos os estados são listados à esquerda e os eventos são descritos na parte superior. Cada célula da tabela representa o estado do sistema após a ocorrência do evento. Também é chamada de Tabela de Estados. É útil para identificar transições inválidas.

Como fazer uma transição de estado (exemplos de uma transição de estado)

Exemplo 1:

Vamos considerar uma função do sistema ATM em que se o usuário digitar a senha inválida três vezes, a conta será bloqueada.

Neste sistema, se o usuário inserir uma senha válida em qualquer uma das três primeiras tentativas, o usuário será logado com sucesso. Se o usuário inserir uma senha inválida na primeira ou na segunda tentativa, será solicitado que ele insira a senha novamente. E, finalmente, se o usuário inserir a senha incorreta 3rdvez, a conta será bloqueada.

Diagrama de transição de estado

No diagrama, sempre que o usuário insere o PIN correto ele é movido para o estado Acesso concedido, e se ele inserir a senha errada ele é movido para a próxima tentativa e se ele fizer o mesmo para o 3rdvez em que o estado de bloqueio da conta é atingido.

Tabela de Transição de Estado

PIN correto

PIN incorreto

S1) Iniciar

S5

S2

S2) 1sttentar

S5

S3

S3) 2WLtentar

S5

S4

S4) 3rdtentar

S5

S6

S5) Acesso concedido

-

-

S6) Conta bloqueada

-

-

Na tabela, quando o usuário insere o PIN correto, o estado é transferido para S5, que é Acesso concedido. E se o usuário inserir uma senha errada, ele será movido para o próximo estado. Se ele fizer o mesmo 3rdvez, ele alcançará o estado de conta bloqueada.

Exemplo 2:

Confira este vídeo, antes de consultar o exemplo abaixo:

Clique aqui se o vídeo não estiver acessível

baixar uma lista de reprodução do youtube para mp3

Na tela de login de reserva de voo, considere que você precisa inserir o nome do agente e a senha corretos para acessar o aplicativo de reserva de voo.

Gráfico de transição de estado

Dá a você acesso ao aplicativo com senha e nome de login corretos, mas e se você digitar a senha errada.

O aplicativo permite três tentativas, e se o usuário digitar a senha errada na 4ª tentativa, o sistema fecha o aplicativo automaticamente.

Os gráficos de estado ajudam a determinar as transições válidas a serem testadas. Neste caso, o teste com a senha correta e com uma senha incorreta é obrigatório. Para os cenários de teste, faça login em 2WL, 3rde 4ºtentativa qualquer um pode ser testado.

Você pode usar a Tabela de estado para determinar transições de sistema inválidas.

Em uma Tabela de estados, todos os estados válidos são listados no lado esquerdo da tabela e os eventos que os causam no topo.

Cada célula representa o sistema de estado para onde ocorrerá o evento correspondente.

Por exemplo, enquanto no estado S1 você insere uma senha correta, você é levado ao estado S6 (Acesso concedido). Suponha que se você digitou a senha errada na primeira tentativa, você será levado ao estado S3 ou 2ª tentativa.

Da mesma forma, você pode determinar todos os outros estados.

Dois estados inválidos são destacados usando este método. Suponha que você esteja no estado S6, isto é, você já está conectado ao aplicativo e abre outra instância de reserva de voo e insere senhas válidas ou inválidas para o mesmo agente. A resposta do sistema para tal cenário precisa ser testada.

Vantagens e desvantagens da técnica de transição de estado

Vantagens

Desvantagens

Esta técnica de teste fornecerá uma representação pictórica ou tabular do comportamento do sistema, que fará com que o testador cubra e compreenda o comportamento do sistema de forma eficaz.

A principal desvantagem dessa técnica de teste é que não podemos confiar nela o tempo todo. Por exemplo, se o sistema não é um sistema finito (não em ordem sequencial), esta técnica não pode ser usada.

Ao usar este teste, o testador de técnica pode verificar se todas as condições são cobertas e os resultados são capturados

Outra desvantagem é que você deve definir todos os estados possíveis de um sistema. Embora isso seja adequado para sistemas pequenos, logo se divide em sistemas maiores, pois há uma progressão exponencial no número de estados.

Resumo:

  • O teste de transição de estado é definido como a técnica de teste na qual mudanças nas condições de entrada causam mudanças de estado no aplicativo em teste.
  • Em Engenharia de Software, a Técnica de Teste de Transição de Estado é útil quando você precisa testar diferentes transições de sistema.
  • Duas maneiras principais de representar ou projetar a transição de estado, diagrama de transição de estado e tabela de transição de estado.
  • No diagrama de transição de estado, os estados são mostrados em textos em caixas e a transição é representada por setas.
  • Na tabela de transição de estados, todos os estados são listados à esquerda e os eventos são descritos na parte superior.
  • A principal vantagem desta técnica de teste é que ela fornecerá uma representação pictórica ou tabular do comportamento do sistema, o que fará com que o testador cubra e compreenda o comportamento do sistema de forma eficiente.
  • A principal desvantagem dessa técnica de teste é que não podemos confiar nela o tempo todo.