Professional Documents
Culture Documents
1
Divisão de Astrofísica - Instituto Nacional de Pesquisas Espaciais (INPE)
Av. dos Astronautas, 1758 - Jd. Granja - 12227-010 - São José dos Campos, SP - Brasil
2
Ciências Espaciais e Atmosféricas
Instituto Nacional de Pesquisas Espaciais (INPE) - São José dos Campos, SP - Brasil
3
Divisão de Sistemas de Solo
Instituto Nacional de Pesquisas Espaciais (INPE) - São José dos Campos, SP - Brasil
1. Introdução
Devido aos altos custos de projeto e dificuldades de manutenção, satélites são
considerados sistemas críticos. Software embarcado em computadores de bordo de
satélites é usualmente complexo, pois atua diretamente no hardware do computador,
realiza aquisição de dados de sensores, calcula a correta orientação do satélite no espaço,
interage com atuadores do satélite, gerencia os dados obtidos a bordo e é difícil de ser
substituído pelo aspecto não tripulado de uma missão de satélite.
Testar um software com tais características demanda muito tempo. Além destes
aspectos, é importante mencionar que este software deve ser testado nos diferentes
hardwares (modelos de Engenharia, Qualificação e Vôo, por exemplo [1]), que são
desenvolvidos para um computador de bordo de um satélite. Portanto, uma ferramenta
que permita a execução e relato de testes de forma automática pode ajudar a diminuir o
tempo gasto nos diversos testes unitários, integrados e de regressão que usualmente são
realizados em um software crítico.
A ferramenta Qualidade do Software Embarcado em Aplicações Espaciais –
Teste Automatizado de Software (QSEE-TAS) foi desenvolvida especificamente para
execução e relato automatizados de testes de software embarcado em experimentos de
satélites científicos que adotam o protocolo de comunicação EXP-OBDH (OBDH = On-
Board Data Handling Computer), proprietário do INPE, como interface de
comunicação com outros computadores a bordo do satélite [2]. De uma forma
simplificada, a QSEE-TAS permite que as funcionalidades do experimento científico ou
tecnológico sejam validadas de forma remota por meio do canal de comunicação real
de operação em vôo. A QSEE-TAS apóia testes caixa-preta e é executada em um
computador distinto do computador onde a Implementação Sob Teste (IST) executa,
fisicamente conectados por linhas de comunicação com padrão de interface RS-232 ou
USB. A ferramenta foi desenvolvida em ambiente LabVIEW e está em processo de
integração com uma base de dados Postgres especificamente construída para alojar os
testes de aplicações espaciais. Embora tenha sido projetada e desenvolvida para testes
de software que implementam o protocolo de comunicação EXP-OBDH do INPE [2],
esta ferramenta pode perfeitamente ser aplicada a qualquer protocolo do tipo START-
STOP para comunicação serial assíncrona via interfaces com padrão RS-232 ou USB.
Embora atualmente existam ferramentas comerciais para testes automatizados
de aplicações Web, Java e Microsoft [3] [4] [5], a experiência da equipe do INPE em
instrumentação usando ambiente LabVIEW, somada a necessidade de integração com o
banco de dados de testes, motivou a construção da QSEE-TAS, demonstrando ser uma
opção factível para flexibilizar os testes de aplicações distribuídas com características
bastante específicas como as do software embarcado em missões de satélites do INPE.
A estruturação do artigo inclui: na seção 2, uma descrição da arquitetura da
QSEE-TAS; na seção 3, as principais funcionalidades da ferramenta; na seção 4 são
discutidos os ganhos advindos do uso da ferramenta no projeto QSEE, a conclusão e os
trabalhos futuros a serem realizados. Finalmente, a seção 5 contém as referências.
2. Arquitetura da QSEE-TAS
A ferramenta QSEE-TAS foi desenvolvida usando o software LabVIEW da National
Intruments [6]. O LabVIEW é um ambiente de desenvolvimento baseado em uma
linguagem de programação gráfica e é bastante apropriado para o desenvolvimento de
software para instrumentação e análise de dados. A arquitetura interna da ferramenta
QSEE-TAS está descrita de forma simplificada na Figura 1. O ambiente proporcionado
pelo mecanismo de tempo de execução do LabVIEW condiciona os componentes da
QSEE-TAS de acordo com o fluxo de trabalho definido pelo ambiente.
As principais funcionalidades da QSEE-TAS incluem o planejamento e
configuração dos testes, preparação e execução dos casos de testes, gerenciamento do
projeto de teste, geração de relatos de teste em formato XML/XSL. Seguindo os
componentes da arquitetura apresentados na Figura 1, o planejamento de testes inclui a
enumeração de itens de testes e suas associações a casos de teste, juntamente à definição
de canais de comunicação e mensagens de protocolo. A preparação da execução é feita
nos componentes de formatação e seqüenciamento, formando seqüências de teste
executáveis. Uma vez preparada, as seqüências de testes podem ser aplicadas fazendo
uso dos canais de comunicação. O projeto de teste pode ser armazenado tanto local
como remotamente (Banco de Dados Relacional).
3. Funcionalidades Principais
A QSEE-TAS manipula três aspectos básicos inter-relacionadas: itens de teste, casos de
teste e passos de teste.
Os itens de teste descrevem o que deve ser testado e estão relacionados a
qualquer parte verificável da IST de acordo sua especificação, como itens funcionais e
não funcionais constituídos de um ou mais casos de teste. Os casos de teste, por sua vez,
representam possíveis cenários os quais testes podem ser aplicados e são representados
por um conjunto ordenado de um ou mais passos de teste. Os passos de teste são
instruções que estimulam a IST e capturam a resposta de cada estímulo comparando-a
com a respostas esperada.
A QSEE-TAS foi desenvolvida especificamente para testar a implementação de
um protocolo desenvolvido para comunicar o computador OBDH e o computador de
uma carga útil [2] do satélite Equatorial Atmosphere Research Satellite (EQUARS), em
desenvolvimento no INPE. A Figura 2 apresenta a interface principal da QSEE-TAS.
Na região 1 da Figura 2, o testador pode enumerar os itens de testes e associá-los aos
casos de testes. Na região 2 da Figura 2, o testador tem a possibilidade de gerar casos de
teste por meio da criação manual de comandos, de acordo com a especificação do
protocolo [2], tendo também a possibilidade de modificar tais comandos quando
necessário (região 3 da Figura 2). Outras operações associada à administração do
projeto de teste tais como a especificação de canais de comunicação, propriedades da
IST, ciclos de teste e relatos ficam ao lado, como mostra a região 4 da Figura 2.
(a) (b)
Figura 3. Execução e Relato na QSEE-TAS. (a) Execução de passos de teste com
veredito. (b) Visualização do relato de teste no navegador.
A geração do relato de teste está vinculada a um ciclo de teste definido pelo
testador. Um ciclo de teste reúne as informações de uma sessão de teste completa, com
todos os itens e casos verificados e com veredito atribuído, além de outras informações
observadas durante a aplicação dos testes anotadas pelo testador. Ao final de uma sessão
de teste documentada pelo ciclo em questão, o testador pode visualizar e opcionalmente
imprimir o relato de teste. Na necessidade de testes de regressão, um novo ciclo de teste
é criado, no mesmo projeto de teste (arquivo *.apt – Arquivo de Projeto de Teste).
Desta forma, o histórico de cada bateria de testes é armazenado e a evolução da IST –
na perspectiva do processo de teste –, é preservada viabilizando futuras análises
estatísticas.
Para avaliar a QSEE-TAS, os interessados devem acessar a página
http://www.cea.inpe.br/~qsee/. Ao chegar nesta página, o menu superior Divulgação
deverá ser acessado e, após isto, o menu lateral Publicações deverá ser acessado. Além
da ferramenta QSEE-TAS, devem ser obtidos a IST, que é a implementação do software
embarcado em um experimento científico desenvolvido em Java (arquivo expemulator-
1.0.7.zip) e as instruções para a execução da ferramenta (arquivo qsee-
tas_instruções.pdf).
Agradecimentos
Os autores gostariam de agradecer à Financiadora de Estudos e Projetos (FINEP) pelo
suporte dado ao projeto Qualidade do Software Embarcado em Aplicações Espaciais
(QSEE).
4. Conclusão
As funcionalidades contempladas na versão atual da QSEE-TAS aumentam
sensivelmente o grau de automação do processo repetitivo de teste de aplicações
embarcadas. Por meio desta ferramenta, percebeu-se que o processo de executar testes e
preencher o seu relato teve um ganho de produtividade considerável pela automatização
proporcionada pela ferramenta.
A ferramenta QSEE-TAS agrega flexibilidade ao processo de teste pois permite
ao testador explorar, de forma sistemática, diferentes combinações de comandos e dados
a serem enviados para o experimento, construindo passos de testes para a aplicação
embarcada. Desta forma, é possível exercitar as peculiaridades de operação dos
experimentos em desenvolvimento para satélites científicos de forma mais ágil,
permitindo agregar vários passos de teste (comandos) em um caso de teste e salvar esta
configuração em arquivos.
Como trabalhos futuros, a ferramenta QSEE-TAS será adaptada para apoiar
testes de software embarcado que utilizam protocolos de comunicação mais complexos.
Pretende-se incorporar a ela recursos de visualização de resultados de testes em
mensagens longas, mais facilidade na edição de mensagens do protocolo e maior
disponibilidade de canais de comunicação. A QSEE-TAS também será integrada a
outras ferramentas que geram casos de teste automaticamente, como a ferramenta
Condado [7], o que permitirá ter as três funcionalidades de automação de testes (geração,
execução e relatos) incorporados em um único ambiente. Para isso, os casos de teste
gerados pelas ferramentas de geração automática serão descritos em um formato XML e
a QSEE-TAS os executará e fornecerá relatos dos mesmos de forma automática.
5. Referências
[1] European Cooperation for Space Standardization. Space Engineering: Verification.
Noordwijk, The Netherlands: ESA/ECSS, 1998, p. 144 (European Space Agency for
the members of ECSS Publication, ECSS-E-10-02A).
[2] Instituto Nacional de Pesquisas Espaciais. EXP-OBDH Communication Protocol
Definition: a case study for PLAVIS. São José dos Campos: INPE/Projeto QSEE,
1998, p. 9 (Publicação do INPE/Projeto QSEE).
[3] Compuware Corporation. QA Center Enterprise Edition Product. Disponível em: <
http://www.compuware.com/products/qacenter/enterprise.htm>. Acesso em: 24 abril
2006.
[4] IBM. Rational Functional Tester Product. Disponível em: <http://www-
306.ibm.com/software/awdtools/tester/functional/index.html>. Acesso em: 28
março 2006.
[5] Mercury Interactive Corporation. Mercury WinRunner Product. Disponível em:
<http://www.mercury.com/us/products/quality-center/functional-
testing/winrunner/>. Acesso em: 20 abril 2006.
[6] National Instruments. LabVIEW User Manual. Austin, Texas: NI, 1998, p. 476 (NI
Publication, Part Number 320999B-01)
[7] Martins, E.; Sabião, S. B.; Ambrósio, A. M. ConData: a tool for automating
specification-based test case generation for communication systems. Software
Quality Journal, v. 8, n. 4, p. 309-319, 1999