A A A
:: Sexta-feira, 27 de Dezembro de 2024
Organização:    


Valid XHTML 1.0 Strict  CSS válido!

Software da Estação de Telecomando - Projeto SACI

Software de Telecomando - Projeto SACI (Satélite de Aplicações Científicas)

Objetivo

O objetivo é monstrar o funcionamento do algoritmo implementado na ferramenta Condado, bem como mostrar a importância de uma especificação concisa e o uso de restrições para a geração dos casos de teste em uma aplicação real.

Neste estudo foi usado o protocolo de comunicação da camada de transferência do Software de Telecomando da estação solo do satélite SACI-1, desenvolvimento no Instituto Nacional de Pesquisas Espaciais (INPE). Este protocolo é baseado no padrão CCSDS (Consultative Committee for Space Data System).


Descrição

A especificação do Software de Telecomando em máquina de estados (MEF) é composta por 6 estados, 46 entradas e um total de 233 transições. A figura 1 apresenta uma visão esquemática da máquina de estados final, onde cada aresta conectando dois estados representa uma ou mais transições existentes entre esses estados. Nes figura o número total de transições é representado pelo número que acompanha a aresta existente entre esses estados. Por exemplo, do estado S1 para o estado S6 existem 13 transições. O estado inicial é o estado S6.





A técnica de teste de transição de estados implementada pela COMDADO gera testes cobrindo a combinação de todas as transições. Dessa forma, a existência de ciclos entre duas ou mais transições que tenham outros ciclos embutidos pode elevar muito o número de casos de teste gerados. Isso ocorre devido a grande combinação que existe na derivação de testes para ciclos “aninhados”. A especificação da figura 1 apresenta esse tipo de ciclos. Por exemplo, dentro do ciclo existente entre s1 e s3 existem dois outros ciclos: entre s1 e s2 e entre s2 e s3.

Para entender o efeito do algoritmo de geração de teste de transição de estados, implantado pela CONDADO, será apresentada a geração de casos de testes para a figura 1 com o aumento progressivo das transições. Dessa forma, é possível verificar o quanto aumenta o número de testes gerados à medida que transições que compõem ciclos são acrescentadas à máquina.


Resultados

Geração de Casos de Teste

Inicialmente, a figura 2 apresenta a máquina M1, derivada da máquina de figura 1. Nessa máquina foram retiradas todas as transições que levam a formação de ciclos entre estados. Estão presentes somente as transições que formam self-loops, ou que formam ciclos com o estado inicial s6. Nesse último caso não existem problemas porque ao retornar para o estado inicial, considera que o percurso na máquina terminou e conseqüentemente um caso de teste é gerado.




O número de casos de teste aumenta exponencialmente à medida que as transições que formam ciclos são acrescentadas à MEF. A figura 3 apresenta as máquinas de M2 a M9. A diferença de uma máquina para a anterior é o acréscimo de uma transição pertencente a um ciclo. A transição que está sendo acrescentada é indicada por uma linha pontilhada. Foram gerados teste para cada uma dessas máquinas. Os resultados obtidos na geração dos testes cão aprestados na tabela 1.




Uso de Restrições na Geração dos Casos de Teste

A geração de teste foi realizada usando uma estação Sun4m SPARC. Os resultados obtidos na geração de teste para M1 é apresentado na tabela 1. Os resultados apresentados na tabela 1 são obtidos com a geração dos casos de teste sem o uso de restrições.




A tabela 2 apresenta os resultados de teste usando restrição para algumas máquinas da figura 3.




Pelos resultados obtidos percebe-se que o número de casos de teste diminui sensivelmente. Mas é preciso deixar claro que depende muito das transições escolhidas para ter essa diferença no número de teste. Muitas vezes uma transição pertence a todos (ou quase todos) os caminhos gerados na MEF.

Não foram gerados testes para a especificação completa da MFE representada na figura 1. Como pode ser visto na figura 1, existe mais de um conjunto de transições que representam o mesmo ciclo. Por exemplo, o ciclo entre s1 e s2 é formado por duas transições de s1 para s2 e duas de s2 para s1. Dessa forma, o número de combinações aumenta ainda mais.

Considere que na máquina M4 da figura 3 seja acrescentada mais uma transição de s1 para s2 e mais uma de s2 para s3. ao gerar teste para essa máquina os seguintes resultados serão obtidos: tempo de 18.81 segundos, números de inferências igual a 2.632.336 e o número de casos de teste é igual a 2.390. Comparando esse resultado ao da máquina M4, percebe-se que o número de casos de teste gerados, ao aumentar essas duas transições, será mais que o dobro.


Publicações

Sabião, S.B. Um modelo para Geração de teste baseado em máquina finita de estado estendida combinando técnicas de teste caixa-preta. Para mais detalhes clique aqui

Martins, E.; Sabião, S.B.; Ambrosio, A.M. - ConData: a Tool for Automating Specification-based Test Case Generation for Communication Systems. Para mais detalhes clique aqui

Sabião, S.B. and Martins, E. Condado: uma ferramenta para geração de testes de protocolos combinando controle e dados. Para mais detalhes clique aqui