A A A
:: Domingo, 19 de Maio de 2024
Organização:    


Valid XHTML 1.0 Strict  CSS válido!

2001

2005 2004 2003 2002 2001 2000 1999 1998 1997




Relatório Interno Inpe



ATIFS - AMBIENTE PARA TESTE BASEADO EM INJEÇÃO DE FALHAS POR SOFTWAR


Responsáveis: Ana Maria Ambrosio
  Fátima Mattielllo Francisco

1. Introdução

O objetivo deste projeto é o desenvolvimento de um sistema para testes baseado na técnica de injeção de falhas por software. As principais áreas cobertas por este ambiente são:

  • geração automática de casos de teste a partir de uma dada especificação formal, no caso, uma Máquina de Estados Finita (MEF),
  • suporte à execução dos testes, permitindo a realização de diferentes tipos de teste (de conformidade, de interoperabilidade, de tolerância a falhas, etc.) através de uma arquitetura comum,
  • facilidade de injeção de falhas de forma controlada para validação de sistemas Tolerantes a Falhas,
  • armazenamento, tratamento e análise dos dados coletados durante os testes,
  • manutenção do histórico de testes,
  • medidas de eficiência de mecanismos de Tolerância a Falhas, como por exemplo, o Fator de Cobertura (probabilidade do sistema continuar corretamente na presença de uma falha), cujo valor é importante na avaliação da confiabilidade do sistema em teste.
Uma vantagem de um sistema de teste automatizado é a obtenção de valores quantitativos de confiabilidade além de outras medidas possíveis. A elaboração dos testes com injeção de falhas é feita por amostragem, então, é possível obter-se parâmetros como, o tempo que o sistema demora a responder quando submetido a uma falha, a probabilidade do sistema tratar corretamente uma dada falha (cobertura de Tolerância a Falhas). Um conjunto de ferramentas compõem este ambiente de testes, cujo objetivo maior é a redução de custos com teste de sistema de software.

O projeto ATIFS vem sendo desenvolvido em cooperação entre o INPE, no âmbito da Divisão de Desenvolvimento de Sistemas de Solo, e a UNICAMP, no âmbito do Instituto de Computação e foi aprovado como projeto de pesquisa pelo CNPq em 1995 sob coordenação da Prof. Dra. Eliane Martins, sem alocação especial de verba por nenhuma das instituições envolvidas. Sua continuidade tem sido possível graças aos trabalhos de estagiários, de iniciação científica e de mestrado cujas bolsas são concedidas a alunos de ambas as instituições.


1.2. Descrição do Projeto

O ambiente é composto de quatro subsistemas que, de forma integrada, cobrem várias atividades do processo de teste. Estes subsistemas são:

Desenvolvimento dos testes (SDT):
este subsistema é responsável pela preparação dos testes compreendendo as funções de i) edição da especificação MEF em uma linguagem especialmente definida no contexto deste projeto (LEP); ii) análise léxica e sintática da especificação; iii) verificação de propriedades da MEF; iv) geração automática de casos de teste, através de uma ferramenta denominada ConDado;

Geração do Script (SGS):este subsistema permite ao usuário prover a administração das experiências a serem realizadas; isto é: reedição dos casos de teste gerados pela ferramenta ConDado e definição de classes de falhas a serem injetadas no sistema que será testado. A saída deste subsistema é um script de teste, na linguagem interpretada denominada TCL-Tk.

Suporte à Execução (SSE): este subsistema é responsável pela execução propriamente dita dos teste. Ele é baseado na execução do script de teste preparado pelo SGS, no passo anterior. Este subsistema implementa a arquitetura Ferry-clip, padronizada pela ISSO. Neste subsistema são realizados: i) a ativação do programa testador e do programa que será testado, ii) o estímulo para desencadear a execução dos casos de teste; iii) a injeção das falhas previamente planejadas; iv) o gerenciamento da execução dos casos de teste, permitindo a intervenção do usuário, quando necessário, através do acompanhamento da monitoração do sistema em teste; v) a restauração do sistema para um estado estável após a aplicação de cada caso de teste; vi) o armazenamento de todos os eventos ocorridos. A ferramenta que implementa as funções desse subsistema é denominada fSofist.

Tratamento dos Resultados (STR): este subsistema é responsável pelo tratamento dos dados coletados durante a execução dos testes a fim de obter-se o veredicto de conformidade, isto é, se o teste levou o sistema a um estado de erro ou não. Este subsistema compreende as funções de: i) armazenamento dos dados coletados, ii) análise dos resultados, iii) geração de estatísticas e relatórios. Os dados coletados constam das interações (entradas e saídas) observadas e do histórico dos testes realizados. O histórico dos testes deve conter: a identificação dos casos de testes, dos métodos utilizados e os resultados obtidos, além de informações auxiliares para o diagnóstico dos erros encontrados.

Para uma integração completa o ATIFS compreende ainda: i) um framework de interface com o usuário, facilitando e padronizando a interface de todo as ferramentas que fizerem parte do ambiente; ii) uma camada, comum a todas as ferramentas, para gerenciamento dos objetos que apresentarem características de persistência e forem armazenados no banco de dados. Desta forma, obtém-se uma integração homogênea de todas as partes do ATIFS.


2. Atividades desenvolvidas no período e benefícios gerados

Implementação de uma extensão à ferramenta ConDado. Foi incluída a geração de dados de testes para os predicados de uma especificação em Máquina Finita de Estados Estendida, enriquecendo a geração automática dos testes para controle e dados. Concluída uma tese de mestrado intitulada “Integrando Testes de Domínios aos testes baseados em MEF Estendida”.

Neste ano foram iniciados os primeiros trabalhos no sentido de utilizar as ferramentas do ATFIS de forma parcial, visando validá-las com aplicações reais e avaliar sua performance em:

  • reduzir o esforço do projetista de software na geração dos casos de testes para validação de sistemas de software especificados por máquinas estendidas de estados finita;
  • selecionar casos de testes para injeção de falhas;
  • acompanhar a execução controlada dos testes;
  • analisar e obter estatísticas dos resultados dos testes.
Participação no Workshop Internacional de Teste de Sistemas Distribuídos, com a apresentação dos esforços do INPE na seleção e adaptação de casos reais de protocolos de aplicações espaciais para que estas implementações sejam utilizadas como estudos de caso para as ferramentas do ATIFS.

Os benefícios do envolvimento da Divisão de Desenvolvimento de Sistemas de Solo - DSS neste projeto estão diretamente associados às atividades de desenvolvimento de sistemas computacionais e software caracterizadas como área de competência da divisão. Acompanhar o estado da arte no que concerne a testes de software e participar na validação de ferramentas de teste com implementações reais, como é o caso de protocolos de comunicação solo-bordo de satélites, é fundamental para a capacitação das equipes da divisão. Da mesma forma a aplicação de técnicas de testes de sistema, como é o caso da especificação dos testes de sistemas do Projeto Micro-satélite Franco Brasileiro – FBM e a especificação do ambiente de teste para validação do software da unidade aviônica do Sistema Palete Expresso do projeto da Estação Espacial Internacional.


3. Resultados parciais obtidos

  • conclusão de uma tese de mestrado no Instituto de Computação da Unicamp, “Integrando Testes de Domínios aos testes baseados em MEF Estendida”.
  • utilização de ferramentas do ATIFS para geração de casos de teste para uma aplicação real, o Protocolo solo-bordo para recepção de telemetria do projeto SACI. O trabalho não foi concluído pois o estagiário cancelou sua bolsa por problemas particulares, antes da obtenção de resultados. Foram realizadas as simplificações necessárias na implementação para torná-la uma Unidade em Teste. Apesar da não conclusão do trabalho, ainda foi possível avaliar do "gap" entre a implementação e a especificação em MEF deste software.

4. Comparação entre metas previstas e realizadas

Atividades previstas para o ano 2001:

  • melhoria na ferramenta CONDADO, tanto tornado-a mais amigável ao usuário como incorporando outra técnica na geração dos testes;
  • conclusão da camada G.O. no padrão ODBC ou o uso de uma plataforma de integração de ferramentas (por exemplo SoftBench, Tooltalk, etc.);
  • avaliação das ferramentas implementadas (subsistemas SDT, SGS e STR) através do uso delas para testar aplicações reais existentes no INPE.
  • implementação das ações semânticas e geração de código (back-end) para a LEP, integrando os sub-sistemas SDT (ferramenta CONDADO e verificador de propriedades da MEF) e STR;

Atividades realizadas durante o ano de 2001:

  • extensão à ferramenta ConDado, incorporando a técnica para a geração de parâmetros com base em testes de domínios. A implementação de uma interface mais amigável á ferramenta ConDado (SDT), ainda encontra-se com problemas dado o fato deste trabalho ser realizado por aluno s de iniciação científica que, assim que conseguem um estágio mais lucrativo abandonam o projeto;
  • implementação de uma interface usuário a ferramenta fSofist (SSE);
  • conclusão da funcionalidade da camada G.O, porém seu desempenho não foi atingido. Desta forma, a troca de informações entre as ferramentas é feita através da troca de arquivos, controlados pelo próprio usuário;
  • a avaliação das ferramentas teve apenas um início, mas nenhum resultado pode ser citado.
Comparação:

As metas previstas relacionadas ao trabalho acadêmico de mestrado foram atingidas, entretanto, o trabalho de implementação de ajustes ás ferramentas realizado por bolsistas de iniciação científica e estagiários não foi concluído.


5. Análise e comentários

Algumas ferramentas desenvolvidas até o momento já podem ser utilizadas, mesmo que ainda de forma não amigável. O projeto ATIFS passa para uma fase mais voltada a utilização das mesmas, explorando novos usos, deficiências e potencialidades das ferramentas para o teste caixa-preta de uma dada especificação.

Entretanto, para se fazer uso das ferramentas, é necessário ainda uma adequação da mesma à unidade a ser testada. Neste trabalho cooperativo, entre o INPE e a Unicamp, cabe ao INPE realizar as devidas adequações, uma vez que as unidades em teste são do conhecimento e interesse desta instituição.

Para o próximo ano pretende-se trabalhar nas adequações que se fazem necessárias para o uso da ferramenta ConDado, contando-se com a participação de estagiários do INPE.