A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Metodologia de geração de teste para sistemas embarcados – uma experiência no INPE Ana Maria Ambrosio 06/out/2007.

Apresentações semelhantes


Apresentação em tema: "Metodologia de geração de teste para sistemas embarcados – uma experiência no INPE Ana Maria Ambrosio 06/out/2007."— Transcrição da apresentação:

1

2 Metodologia de geração de teste para sistemas embarcados – uma experiência no INPE Ana Maria Ambrosio 06/out/2007

3 Tópicos Visão geral do INPE Metodologia de teste CoFI Aplicação da CoFI no projeto QSEE: lições aprendidas e resultados obtidos

4 INPE Instituto Nacional de Pesquisas Espaciais Missão: Produzir ciência e tecnologia nas áreas espacial e do ambiente terrestre e oferecer produtos e serviços singulares em benefício do Brasil. Subordinado ao Ministério de Ciência e tecnologia - MCT

5 Instalações do INPE

6 Principais áreas de atuação Engenharia e Tecnologia Espacial Ciências espaciais e atmosféricas Observação da Terra Previsão de tempo e estudos climáticos Laboratório de Integração e Testes Centro de rastreio e controle de satélites

7 Áreas favorecidas pelo programa espacial brasileiro no contexto do INPE energia ecosistemas desastres biodiversidade agricultura saúde clima

8 Missões espaciais realizadas MECB – Missão espacial completa brasileira SCD1/93 SCD2/98 SCD2A/97 CBERS – China-Brazil Earth Resources Satellite CBERS1/99CBERS2/03 CBERS2B/07 SACI-1/99 Satélites científicos e tecnológicos SACI-2/99Satec/03 Mirax - CBERS3 - CBERS4 -

9 Metodologia de geração de teste para sistemas embarcados COFI Conformidade e Falhas Injetáveis

10 Motivação Os excelentes resultados de geração automática de teste de software, apresentados pela academia ainda não estão sendo adotados na indústria. Fonte: Lai, 2002

11 Condado ConDado senddata (U, SENDrequest) recdata (L, CR) senddata (L, CC) recdata (U, SENDconfirm) senddata (U, DATArequest, xHn*e, 2, 14) recdata (L, DT) senddata (L, ACK) recdata (L, DISrequest) senddata (L, DISrequest) recdata(U, DISindication) Seqüência abstrata de casos de teste inicial(Idle) trans(Idle,t1,WCon,L0,Ln):- transmitu(SENDr',L2,Ln). receiveu(CR',L0,L1), trans(WCon,t2,C,L0,Ln):- transmit(CC,L2,Ln). receiveu(SEND',L0,L1),... Geração automática de teste a partir de FSM/EFSM

12 Dificuldades teste de conformidade com geração automática: –baseada em métodos formais, –requer um modelo formal completo que represente o comportamento do software difícil de ser obtido –pode gerar um número intratável de casos de testes

13 CoFI- Conformidade e Falhas Injetáveis Sistematizar a criação de casos de testes Atender necessidades de teste de software em aplicações espaciais Fazer uso das técnicas e ferramentas de geração automática de teste a partir de FSM/EFSM Incluir a técnica de injeção de falhas Objetivo:

14 Visão geral da CoFI Passos de transformação da descrição do software diagramas UML Descrição formal do software Seqüência Teste Casos de teste Casos de falha Especificações textuais Arquitetura de teste

15 1. SERVIÇO /propósitos de teste CENÁRIOS NORMAISCENÁRIOS EXCEPCIONAIS 5. Diagrama Seqüência Normal 6. Diagrama Estados Normal 10. Diagrama Seqüência Excepcional Seqüência de teste CoFI 2. Usuários, meio físico 8. Matriz de Transições 3. Entradas, Saídas, Arq. Teste, PCOs 7. Deriva casos de teste12. Deriva casos de falha 4. Casos de uso 11. Diagrama Estados Excepcional 9. Modelo de Falhas Definição do contexto da IUT Transfor mações Geração automática Passos da CoFI

16 Decomposição do SuT na CoFI Por serviço (ou por propósito de teste), que por sua vez é dividido em cenários Por tipo de comportamento: –normal; –exceções especificadas, –caminhos furtivos (entradas inoportunas) –tolerância a falhas (falhas provocadas pelo hardware)

17 Modelos parciais do comportamento

18 Aplicação da CoFI no projeto QSEE – Qualidade de Software Embarcado em aplicações Espaciais : lições aprendidas e resultados obtidos

19 Projeto QSEE Qualidade de Software Embarcado em aplicações Espaciais Transferência de tecnologia do INPE para a indústria nacional de software Uso das normas ECSS pela Ciências Espaciais e Atmosféricas (CEA/INPE) no desenvolvimento de software de cargas úteis de satélite Desenvolvimento de um processo de aceitação de software para o INPE apoiado na abordagem de Verificação e Validação Independente de Software Objetivos:

20 SWPDC - aplicação em teste software embedded in an Payload Data handling Computer that controls scientific experiments on-board of a MIRAX satellite under development at INPE C language; Labview Main functions: –Scientific data aquisition –housekeeping, test & diagnostic data preparation –error recognition and handling mechanism for commmunication, memory and processor failures –Communication with OBDH, event processors, thermistors

21 Ambiente de teste do SWPDC

22 QSEE-TAS EPPs Simulator SWPDC embarcado Na placa do PDC Watchdog simulation Mem. error Restrições, Facilidades de Teste Modelo de falhas de hardware: memória, processador comunicação

23 Ambiente de teste no INPE

24 Criação dos modelos de estado Especificação Serviços Modelos Tipos de comportamento Entradas/Saídas (Norm) (SExc) (SPat) (M&Pr) Nomes dos eventos Comandos para o injetor de falhas Tipos de falhas de hw, parâmetros, temporizadores Ambiente de teste

25 Tipos de falhas x entradas/saídas Dados corrompidos CmdTurnOnEPP2,CKS{badcks} CmdPrepMemoryDumpData,Mem,18,EndI,8 000,EndF,FFFF Comando repetido CmdTransTestData_2X Comando fora-de-ordem Comando truncado CmdTurnOffEPP1,NU,{sup} Comando atrasado ou adiantado ObsEndT Erro simplesObsSingleError Erro duploObsDoubleError Primeira ocorrência da falha de processador ObsErrorProc1 Segunda ocorrência da falha de processador ObsErrorProc2 Comunicação Memória Processador

26 S4 - serviço Dados de teste – M&Pr CmdTurnOnPDCObsStartTimer60s ObsEnd60s CmdTurnOnEPP1RspCmdRec CmdTurnOnEPP2RspCmdRec ObsStartTimer30s ObsEnd30s ObsErrorProc1ObsWriteHKReport CmdPrepTestDataRspCmdRec ObsStarTimer10s ObsDoubleErrorObsWriteHKReport ObsEnd10s CmdTransmTestDat a RspTestData,CSR, 1 ObsSingleErrorObsCorrectError ObsWriteHKReport ObsErrorProc2ObsWriteHKReport ObsReset CmdTransmCientDa ta RspNoData ObsTurnOffPDCObsPDC_Off

27 Derivação de casos de teste e casos de falhas MME para edição Condado para geração Arquivo de saída CTest.seq Modelos

28 File.seq Arquivo com casos de teste de uma máquina

29 Resultados 11 serviços foram definidos 97 modelos gerados 770 casos de teste 51 erros

30 ServiçosModelos NormSExcSPatComM&Pr Total S1Inicialização S2Dados Científicos S3Dados de Housekeeping S4Dados de Teste S5Dados de Diagnóstico S6Descarga de Memória S7Mudança de modo de operação S8Carga e execução de programa S9Sintaxe de mensagem do OBDH S10Sintaxe de mensagem dos EPPs S11Comandos Especiais Total

31 Casos de falha Tipo de falha de hwCasos de falhaErros Comunicação28331 Processador805 Memória883 Total normais 451 Casos de falha casos 51 erros

32 Comentários sobre os resultados do projeto QSSE Os resultados surpreenderam com 51 erros ainda encontrados Considerando que a validação se deu sobre um software fornecido por uma empresa Brasileira de Software proeminente, desenvolvido por uma equipe competente sob rigorosas regras de garantia de qualidade 45% erros de código 33% erros de não-conformidade nos documentos 22% ambos Considerando que todas as não-conformidades entre código e documentos foram computadas. Atenção às falhas é mais efetivo que no comportamento normal para a validação

33 Lições aprendidas – CoFI em um caso real O esforço de criar os modelos foi compensado pela superior organização dos testes alcançada com a aplicação da metodologia CoFI em comparação com o projeto dos testes de forma ad-hoc Os modelos voltam a atenção dos testadores para falhas e exceções que podem ocorrer durante a operação do software levando ao projeto de situações que os desenvolvedores normalmente não pensam Os casos de teste gerados pela Condado são auto-contidos, i.é, cada caso pode ser executado independentemente, desta forma o veredicto não depende da ordem de execução dos casos e facilita a re- execução.

34 Comentários sobre a metodologia de teste CoFI A metodologia CoFI reduz a distância entre a prática (geração de teste a partir de uma especificação textual) e o uso de métodos formais (especificação em autômatos) É de fácil aprendizagem e permite automação dos passos, pois usa modelos UML Possibilita reuso em teste, porque a geração parte da especificação Orienta a definição de experimentos determinísticos para Injeção de Falhas

35 Sputnik – 1º satélite artificial a orbitar a terra - USRR 1957 Estação Espacial Internacional Construção


Carregar ppt "Metodologia de geração de teste para sistemas embarcados – uma experiência no INPE Ana Maria Ambrosio 06/out/2007."

Apresentações semelhantes


Anúncios Google