teste baseado em modelos
TRANSCRIPT
![Page 1: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/1.jpg)
Testes baseados em modelos
Andreza Pollyana e Ana Karina
![Page 2: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/2.jpg)
● aumento da complexidade dos sistemas.
● dificuldade da equipe de testes entender o sistema.
● Modelos ajudam a especificar e melhor entender as características e funcionamento do sistema.
● são econômicos.
Porque usar modelos?
![Page 3: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/3.jpg)
Definição e características
● “Testes baseados em modelos é uma técnica de testes em que um modelo do sistema sendo testado, ou de parte dele, é construído e a partir dele é derivado um conjunto de casos de testes.”
● São considerados testes de caixa preta
● Em vez de escrevermos os testes manualmente baseados no documento de requisitos, criamos um modelo do comportamento esperado do sistema que captura os requisitos a serem testados, então ferramentas são utilizadas para gerar, automaticamente, testes a partir desse modelo
![Page 4: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/4.jpg)
Vantagens
● A geração de testes começa mais cedo no ciclo do desenvolvimento● Evita ambiguidade que pode estar presente na documentação dos requisitos● Reduz o tempo dos testes ● Possibilita a construção de várias suites de testes a partir do mesmo modelo mudando apenas
o critério de testes.● Reduz custos● Não é necessário conhecimento em programação
![Page 5: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/5.jpg)
O Processo
5 Etapas :1.Modelagem do sistema2.Geração de testes abstratos3.Concretização dos testes4.Execução dos testes 5.Análise de resultados
![Page 6: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/6.jpg)
5.1 Modelagem do sistema
● Criação do modelo, que será chamado de modelo abstrato pois deve ser menor e mais simples que o próprio sistema
● Omitir detalhes do sistema● Conter as saídas esperadas● Usar ferramentas para verificar a sua consistência
![Page 7: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/7.jpg)
Tipos de modelos
UML - diagrama de atividades
Máquina de estados para máquina de vender refrigerantes
![Page 8: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/8.jpg)
5.2 Geração de testes abstratos
● Derivados do modelo● escolher o critério de seleção de testes que determina que testes deverão ser gerados a partir
do modelo.● Geração de um conjunto de testes abstratos que não são diretamente executáveis devido a
simplicidade do modelo● A maioria das ferramentas também gera uma matriz de rastreamento de requisitos e outros
relatórios de cobertura. o A matriz de rastreamento rastreia a ligação entre os requisitos funcionais e os testes
geradoso Os relatórios de cobertura indicam o quanto do modelo os testes gerados estão, de fato,
testando e podem ser utilizados.
![Page 9: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/9.jpg)
5.3 Concretização dos testes
● Transformar os testes abstratos em testes executáveis,● Feito por uma ferramenta de transformação que utiliza vários templates e mapeamentos que
traduzem cada caso de testes abstratos em um script de testes executáveis ou escrevendo-se um código adaptador que realiza esta função.
● O objetivo desta fase é construir uma ligação entre os testes abstratos criados na fase anterior e o sistema sendo testado.
![Page 10: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/10.jpg)
5.4 Execução dos testes
Os testes podem ser realizados, basicamente de duas maneiras:
● Online○ As ferramentas de testes se conectam diretamente ao sistema e ○ Testes são feitos dinamicamente, isto é, os testes são executados a medida em que são produzidos ○ A ferramenta de testes gerencia a execução e a gravação dos resultados
● Offline○ As ferramentas geram casos de testes que podem ser lidos pelo computador e executados automaticamente depois, o
que permite que eles sejam realizados por uma outra plataforma de testes.
![Page 11: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/11.jpg)
5.5 Análise de resultados
● Analisar e realizar as correções se necessárias.● Para cada falha relatada deve-se determinar a sua causa, que pode se encontrar no sistema,
nos casos de testes aplicados, no modelo ou no adaptado
![Page 12: Teste baseado em modelos](https://reader031.vdocuments.pub/reader031/viewer/2022020219/55cceaa5bb61ebd1188b4587/html5/thumbnails/12.jpg)
Exemplo de ferramenta - MaTeLo
● Realiza testes offlines e só funciona no windows● Adicionar bibliotecas de entrada (resultados das transações) e definir distribuições para essas entradas.● Adicionar bibliotecas de saída (verificação)● Simular ações de usuários (transições de estados)● Verificar se o resultado obtido é igual ao esperado. (pode-se usar funções para sistemas mais complexos)● Gerenciar requisitos (criando ou exportando) e
liga-los aos casos de testes gerados.● Criar perfies de Testes● Checar modelos● Verificar o caminho de um caso de teste● Escolher que tipo de algortimo será usado para
a geração de testes● Gerar os casos de testes