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


Valid XHTML 1.0 Strict  CSS válido!

2002

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.

A integração das várias ferramentas que compõem o ATIFS compreende um framework de interface com o usuário, o qual padroniza a interface e facilita o desenvolvimento das mesmas. Visando obter-se uma integração homogênea de todas as partes do ATIFS fazer-se-á necessária uma camada para gerenciamento de objetos persistentes e de um banco de dados comum as todas as ferramentas.


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

As atividades desenvolvidas no ano de 2002 deram continuidade a alguns trabalhos iniciados no ano anterior. Buscou-se utilizar as ferramentas ConDado e fSofist do ATFIS, validá-las com aplicações reais e avaliar sua performance quando à:

  • eficiência do conjunto de casos de testes gerados pela ferramenta ConDado;
  • seleção de casos de testes para injeção de falhas de um caso de estudo real;
  • execução controlada de testes apoiada pela fSofist.
As atividades experimentais desenvolvidas no período podem ser divididas em duas partes, de acordo com a ferramenta do ATIFS em experimentação.

Atividades associadas à geração automática de casos de teste - ferramenta ConDado:

  • associação das ferramentas Condado (parte do ATIFS que gera testes) ePerformCharts (do LAC que realiza análise de desempenho). Verificou-se a compatibilidade delas e avaliou-se as necessidades de implementação de uma interface para automatizar a integração das mesmas. Alunos do LAC serão alocados para implementarem esta integração.
  • modelagem do Software de Recepção de Telemetria na Estação Solo – TMSTATION (parte do Sistema de Software do Segmento Solo do Projeto do Microsatélites de Aplicações Científicas – SACI)para geração de teste e avaliação de desempenho, cujos resultados não foram publicados.
  • execução da Condado para um exemplo simples Produtor x Consumidor com proposição de alternativas para a geração automática de testes de controle de uma especificação.
  • Modelagem do Protocolo de Conferência especificado no contexto do projeto Holandês, Cotê de Resyste (http//fmt.cs.utwente.nl), e uso da ConDado, para fins de geração de experimentos de teste, visando comparar algumas ferramentas do ATIFS com as do Cotê de Resyste.
Atividades associadas à execução de teste de protocolo, com suporte da ferramenta fSofist:

  • especificação e implementação do Software de Recepção e Armazenamento em Solo dos dados de Telemetria do Telescópio MASCO – TMASCO - em ambiente LABWindows/CVI objetivando o uso da ferramenta fSofist para os testes de conformidade da implementaçao dos níveis de transporte e aplicação do protocolo com a especificação;
  • migração de módulos da arquitura Ferry desenvolvidos originalmente em plataforma Solaris para Linux;
  • uso da fSofist para os testes de conformidade do TMASCO em duas etapas:
  • validação do comportamento da implementação independentemente do canal de comunicação real (RS232). Para estes passo foi desenvolvido um script executado pelo Módulo Controlador de Testes – CT da fSofist;
  • validação do software TMASCO através do uso da linha serial. Estes testes foram realizados sem os módulos de injeção de falhas da fSofist (em desenvolvimento).
  • artigo “Uso da ferramenta de Testes FSOFIST na validação de uma aplicação espacial” submetido e aceito para apresentação oral na2ª. Jornada Ibero-Americana de Engenharia de Software e Engenharia de Conhecimento, Salvador, BA, Brasil, 2002
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. Aplicar 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. Adicionalmente, através de projeto de pesquisa, pudemos contribuir com o Setor de Lançamento de Balão do INPE – sob a Coordenadoria de Ciencias Espaciais – CEA, no fornecimento do software TMASCO, utilizado no ATIFS como estudo de caso para a ferramenta FSOFIST.

Decorrente da notória aplicação das ferramentas do ATIFS nos produtos de software desenvolvidos na ETE, outras divisões se mostraram interessadas em participar do projeto, utilizando o ATIFS em aplicações do tipo, software de testes do computador de bordo e software de simulação de controle de satélites.


3. Resultados parciais obtidos

  • constatação da viabilidade de associar-se as ferramentas existentes de geração de casos de teste (ConDado) e de análise de desempenho (PerformCharts). Ambas as atividades poderão ser obtidas automaticamente a partir de uma mesma (e única) especificação de um dado sistema.
  • identificação de problemas quanto ao elevado número do casos de testes gerados pela ConDado. O que indica a necessidade de estratégias alternativas para gerar-se conjuntos tratáveis de casos de teste, evitando-se a interferência do usuário. Outro ponto identificado é a necessidade de implementar a ConDado em uma linguagem procedural ao invés de uma linguagem lógica, como está hoje.
  • utilização da ferramenta fSofist no projeto MASCO,
  • preparação da arquitetura Ferry para apoiar testes de software desenvolvido em plataforma Windows,
  • definição do processo para realização de testes de conformidade utilizando a ferramenta fSofist.

4. Comparação entre metas previstas e realizadas Atividades previstas para o ano 2002:

  • contratação de um bolsista no INPE para implantação da arquiteura Ferry num laboratório da DSS.
  • aplicação das ferramentas do ATIFS em um projeto simplificado de implementação de um protocolo de comunicação solo-bordo para avaliação destas ferramentas de forma integrada:
  • geração automática de casos de teste a partir de especificação formais,
  • integração de injeção de falhas nos casos de teste gerados automaticamente com execução controlada dos testes
  • análise dos resultados dos testes com geração de estatísticas
  • avaliação das ferramentas de testes providas pelo ATIFS em termos de facilidade de uso, eficiencia e cobertura dos testes.
Atividades realizadas no ano 2002:

Conforme descrito no item 2 deste documento.

Comparação:

Apesar da implantação da arquiteura Ferry no laboratório da DSS não ter sido possível, devido a não disponibilidade de recursos humanos para a tarefa, as demais metas previstas puderam ser atingidas embora de forma não integrada, já que para a geração de casos de testes foi utilizada uma aplicação real que não a mesma utilizada para validação da ferramenta fSofist. Esta foi a forma que encontramos para dar continuidade aos trabalhos de pesquisas iniciados com estudos de casos em 2001, já que não tivemos recurso humano dedicado para o projeto em 2002.

Atividades previstas para o ano 2003:

  • avaliação de testes de aplicação Web, a partir de uma especificação em Statecharts; incluindo avaliação de desempenho (tese de mestrado),
  • implementação de um algoritmo otimizado para realizar percurso em grafo (base da geração da teste codificação) em linguagem procedural e avaliação do mesmo em uma aplicação especial (trabalho de graduação);
  • avaliação da arquitetura de teste de protocolo - ferry-clip, bem como da metodologia para execução de testes apoiada em ferramentas (trabalho de graduação);
  • integração das ferramentas PerfromCharts e ConDado (tese de mestrado)
  • utilização dos módulos de injeção de falhas da ferramenta fSofist.
  • estender a ferramenta fSofist para apoiar outros tipos de testes, tais como, interopelabilidade e desempenho.

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 implantar o ambiente ATIFS na ETE para que novos estudos de casos da aplicação espacial façam uso das ferramentas ConDado e fSofist. Paralelamente, pretende-se trabalhar nas adequações que se fazem necessárias para o uso destas ferramentas, contando-se com a participação de estagiários do INPE.