INSTITUTO TECNOLÓGICO DE AERONÁUTICA
Programa de Pós-Graduação em Engenharia
Eletrônica e Computação na Área de Informática
( PPG / EEC-I )
CE-229 – TESTE DE SOFTWARE
Prof. Dr. Luiz Alberto Vieira Dias
Prof. Dr. Adilson Marques da Cunha
APRESENTAÇÃO FINAL
Missão Lunar Brasileira
Retorno à TERRA e reentrada
LUDMILLA Reis Pinheiro dos Santos
Jorge Luís GUEDES Alves
Eduardo MENA Barreto Alonso
AGENDA
• Objetivo
• Responsabilidades
• Segmentos da missão
• Retorno à Terra e Reentrada - contextualização
• Máquina de estados
• Estados “especiais”
• Fluxo de execução do programa
• Testes realizados – Caixa preta – Caixa branca
• Conclusão
OBJETIVO
Informar aos demais alunos integrantes do
projeto Missão Lunar Brasileira, os aspectos
mais relevantes encontrados durante o
desenvolvimento do Módulo de Retorno à
Terra e Reentrada (Grupo 07) e propiciar
condições para integração aos demais
módulos da Missão Secreta da AEB – Agência
Espacial
Brasileira,
compartilhando
as
experiências vivenciadas neste projeto.
Papéis que foram desenvolvidos pelos
integrantes do grupo:
PLANEJAMENTO
Jorge Luís Guedes Alves
GERENCIAMENTO
Eduardo Mena Barreto Alonso
PROGRAMAÇÃO
Ludmilla Reis Pinheiro dos Santos
TESTES
Todos os integrantes do grupo
SEGMENTOS DA MISSÃO
1. Lançamento
(foguete em desenvolvimento no IAE)
2. Cálculo de órbitas (INPE)
3. Injeção lunar (trajetória),
4. Alunissagem e decolagem da Lua
5. Lançamento veículo lunar (ITA)
6. Coleta de dados e amostras
7. Retorno à Terra e Reentrada
8. Telecomunicações
RETORNO À TERRA E REENTRADA
Contextualização (1/3)
A nave espacial, está inicialmente em órbita ao redor da
Terra, numa altura maior que 150km (onde não existe ar). A
partir da lei de Newton para a gravitação, podemos calcular
a velocidade que a nave deve ter para permanecer na
órbita: v² = GM/r, ou seja, a velocidade não depende das
características da nave, apenas de sua altura. Na altura
mencionada (150km), substituindo-se os outros dados (G =
6,7x10E7, M = 6x10E24 kg*) temos que a velocidade é de
aproximadamente 28.200km/h. Essa velocidade num lugar
onde não existe ar é fácil manter, uma vez que não existe
resistência ao movimento que, por inércia (1a. lei de
Newton), mantém-se constante.
RETORNO À TERRA E REENTRADA
Contextualização (2/3)
Para voltar à atmosfera terrestre, deve-se diminuir a
velocidade e em conseqüência a altura, que como
visto acima, depende diretamente daquela. Mas a
nave deve reentrar num certo ângulo chamada de
"janela de reentrada", que pode ser entendido
através de uma analogia. A diversão entre crianças
de jogar uma pedra na água com certa velocidade e
vê-la quicar várias vezes na superfície da água antes
de afundar, ajuda-nos a entender o processo.
RETORNO À TERRA E REENTRADA
Contextualização (3/3)
A técnica está em dar a velocidade e a inclinação correta ao
lançamento para que ao bater na superfície da água, a pedra
quique. Para a nave espacial, deseja-se exatamente o
contrário: que a nave não quique ao colidir com a atmosfera.
No entanto, não pode entrar "de bico", pois o atrito com o ar
aqueceria o fuselagem da nave a temperaturas de fusão. Por
isso chama-se janela: é o ângulo exato menor mas o mais
próximo possível do ângulo limite para o efeito de quicar. Se
a nave entrar com ângulo menor que este, pode
desintegrar-se totalmente, e desintegrar-se maior, pode quicar de volta ao espaço,
numa órbita não prevista.
Start
TM
PS
Lançamento
MoonToEarth1
Rand
(1 a 100)
7in.txt?
10s
MoonToEarth2
Rand
(1 a 100)
7in.txt?
10s
MoonToEarth3
Rand
(1 a 100)
7in.txt?
10s
EarthOrbit
TRT
Rand
(1 a 100)
Reentrada
Finish
MÁQUINA DE ESTADOS
Failure
Rand (3 a 8)
Correção
falha
Evolui para
Falha
Catastrófica
Catastrophic
Failure
Reiniciar
Finalizar
Syntax
Error
Encerrar
programa
Reset
Reiniciar o
programa
Finalizar o
programa
ESTADOS “ESPECIAIS”
Estado Atual
7IN.TXT
Função
Evento
Novo Estado 7OUT.TXT
Start
Inicializar
Apaga arquivo 7IN.TXT e 7OUT.TXT
Start
AguardarArquivo
Arquivo 7IN.TXT disponível
Start
TM
LerArquivo
Se TM = -666
Start
Start
Se TM = 666
Finish
Start
CalcularTM
atribui tempo de missão
Se 0 <= TM <=15,
100
Start
Se !(0 <= TM <=15)
SyntaxError
Start
AguardarArquivo
Arquivo 7IN.TXT disponível
Start
PS
LerArquivo
Se PS = -666
Start
Start
Se PS = 666
Finish
Start
atribui probabilidade de sucesso
Se 5 <= PS <= 100,
200
Start
Se !(5 <= PS <= 100)
SyntaxError
Start
AguardarArquivo
Arquivo 7IN.TXT disponível
Start
Lançamento
LerArquivo
Se lanc = -666
Start
Start
Se lanc = 666
Finish
Estado Atual
7IN.TXT
Função
Evento
Novo Estado
7OUT.TXT
Start
Se !(lanc = -1)
SyntaxError
MoonToEarth1
VerificarPS
Se result = 1
MoonToEarth2
MoonToEarth1
Se result = -1
Failure
MoonToEarth1
Se result = -2
CatastrophicFailure
MoonToEarth1
VerificarArquivo
Se 7IN.TXT, processa RESET
MoonToEarth1
Senão aguarda 10s
result
MoonToEarth2
VerificarPS
Se result = 2
MoonToEarth3
MoonToEarth2
Se result = -3
Failure
MoonToEarth2
Se result = -4
CatastrophicFailure
MoonToEarth2
VerificarArquivo
Se 7IN.TXT, processa RESET
MoonToEarth2
Senão aguarda 10s
result
MoonToEarth3
VerificarPS
Se result = 3
EarthOrbit
MoonToEarth3
Se result = -5
Failure
MoonToEarth3
Se result = -6
CatastrophicFailure
MoonToEarth3
VerificarArquivo
Se 7IN.TXT, processa RESET
Estado Atual
7IN.TXT
Função
Evento
Novo Estado
7OUT.TXT
EarthOrbit
AguardarArquivo
Arquivo 7IN.TXT disponível
EarthOrbit
TRT
LerArquivo
Se TRT = -666
Start
EarthOrbit
Se TRT = 666
Finish
EarthOrbit
Se TRT <= TM
SyntaxError
EarthOrbit
Se TRT > TM
400
EarthOrbit
VerificarPS
Se result = 4
EarthOrbit
CalcularTRT
Aguarda TRT
Finish
result
EarthOrbit
Se result = -7
Failure
EarthOrbit
Se result = -8
CatastrophicFailure
Finish
Exclui 7IN.TXT, fecha 7OUT.TXT e
7LOG.TXT
Finish
Aguarda 5s
1000
Restart
Fecha todos os arquivos
Start
SyntaxError
-1000
Failure
rand T = [3, 8]
Failure
Aguarda T
Estado Atual
7IN.TXT
Função
Evento
Novo Estado
7OUT.TXT
Failure
Se Y = 666
Finish
Failure
Se 1 <= Y <= 100, e PAR
Continua...
Failure
Senão...
CatastrophicFailure
CatastrophicFailure
AguardarArquivo
Arquivo 7IN.TXT disponível
CatastrophicFailure
LerArquivo
Se X = -666
Restart
IMPLEMENTAÇÃO – 7LOG.TXT
28/6/2010 23:13:46 Estado = Iniciar
28/6/2010 23:13:46 Aguardando TM...
28/6/2010 23:13:41 TM = 10
28/6/2010 23:13:41 out << 100
28/6/2010 23:13:41 Aguardando PS...
28/6/2010 23:13:45 PS = 95
28/6/2010 23:13:45 out << 200
28/6/2010 23:13:45 Aguardando lancamento da
Lua...
28/6/2010 23:13:54 lancamento = -1
28/6/2010 23:13:54 out << 300
28/6/2010 23:13:54 Estado = LuaParaTerra1
28/6/2010 23:13:54 Iniciando a viagem da Lua para
a Terra. Trecho 1...
28/6/2010 23:13:54 VerificarPS. Sorteio 1. P = 87
28/6/2010 23:13:54 Aguardando 10s.
28/6/2010 23:14:4 out << result = 1
28/6/2010 23:14:4 Estado = LuaParaTerra2
28/6/2010 23:14:4 Trecho 2...
28/6/2010 23:14:4 VerificarPS. Sorteio 1. P = 37
28/6/2010 23:14:4 Aguardando 10s.
28/6/2010 23:14:14 out << result = 2
28/6/2010 23:14:14 Estado = LuaParaTerra3
28/6/2010 23:14:14 Trecho 3...
28/6/2010 23:14:14 VerificarPS. Sorteio 1. P = 72
28/6/2010 23:14:14 Aguardando 10s.
28/6/2010 23:14:24 out << result = 3
28/6/2010 23:14:24 Estado = OrbitaTerra
28/6/2010 23:14:24 Em orbita, aguardando Tempo
de Reentrada na Terra...
28/6/2010 23:14:32 TRT = 120
28/6/2010 23:14:32 out << 400
28/6/2010 23:14:32 VerificarPS. Sorteio 1. P = 24
28/6/2010 23:14:32 Reentrada. result = 1
28/6/2010 23:14:32 Tempo para a realizacao da
reentrada (em segundos) = 69
28/6/2010 23:14:32 Reentrada prevista para
28/6/2010 23:15:41
28/6/2010 23:15:41 out << 4
28/6/2010 23:15:41 Estado = Finalizar
28/6/2010 23:15:41 Aguardando 5s.
28/6/2010 23:15:46 out << 1000
28/6/2010 23:15:46 Fim da Missao!
• Técnica Tabela de Decisões (LISTEX 2)
• Objetivo:
• Realizar teste no programa Retorno a Terra e Reentrada
(módulo 7 do projeto Missão a Lua) utilizando a técnica Tabela
de Decisões conforme descrito a seguir.
• Desenvolvimento:
• Para a realização deste teste utilizamos a técnica de tabela de
decisão aplicada separadamente a cada módulo do programa.
CONDIÇÕES - TM REGRA 1 REGRA 2 REGRA 3 REGRA 4 -666 S N N N 666 N S N N >= 0 N N S N QQ OUTRO VALOR N N N S AÇÕES REINICIA OK ENCERRA OK CALCULA TM OK SYNTAXERROR OK
CONDIÇÕES - PS REGRA 1 REGRA 2 REGRA 3 REGRA 4 -666 S N N N 666 N S N N 5 <=PS<=100 N N S N QQ OUTRO VALOR N N N S AÇÕES REINICIA OK ENCERRA OK ESCREVE 200 EM 7OUT OK SYNTAXERROR OK
TABELA DE DECISÕES
PARA CÁCULO DA PROBABILIDADE DE SUCESSO -
PS
CONDIÇÕES - ALL REGRA 1 REGRA 2 REGRA 3 REGRA 4 -666 S N N N 666 N S N N - 1 N N S N QQ OUTRO VALOR N N N S AÇÕES REINICIA OK ENCERRA OK ESCREVE 300 EM 7OUT OK SYNTAXERROR OK
CONDIÇÕES – RT1 REGRA 1 REGRA 2 REGRA 3 REGRA 4 REGRA 5 REGRA 6 -666 S N N N N N 666 N S N N N N QQ OUTRO VALOR N N S N N N SORT 1 P <= PS N N N S N N SORT 2 P <= PS N N N N S N SORT 2 P > PS N N N N N S RESULT = 1 N N N S N N RESULT = -1 N N N N S N RESULT = -2 N N N N N S AÇÕES REINICIA OK ENCERRA OK SYNTAXERROR OK RESULT = 1 OK RESULT = -1 OK RESULT = -2 OK ESTÁGIO 2 OK FALHA OK FALHA CATAST. OK
CONDIÇÕES – RT1 REGRA 1 REGRA 2 REGRA 3 REGRA 4 REGRA 5 REGRA 6 -666 S N N N N N 666 N S N N N N QQ OUTRO VALOR N N S N N N SORT 1 P <= PS N N N S N N SORT 2 P <= PS N N N N S N SORT 2 P > PS N N N N N S RESULT = 2 N N N S N N RESULT = -3 N N N N S N RESULT = -4 N N N N N S AÇÕES REINICIA OK ENCERRA OK SYNTAXERROR OK RESULT = 2 OK RESULT = -3 OK RESULT = -4 OK ESTÁGIO 3 OK FALHA OK FALHA CATAST. OK
CONDIÇÕES – RT1 REGRA 1 REGRA 2 REGRA 3 REGRA 4 REGRA 5 REGRA 6 -666 S N N N N N 666 N S N N N N QQ OUTRO VALOR N N S N N N SORT 1 P <= PS N N N S N N SORT 2 P <= PS N N N N S N SORT 2 P > PS N N N N N S RESULT = 3 N N N S N N RESULT = -5 N N N N S N RESULT = -6 N N N N N S AÇÕES REINICIA OK ENCERRA OK SYNTAXERROR OK RESULT = 3 OK RESULT = -5 OK RESULT = -6 OK ORBITA OK FALHA OK FALHA CATAST. OK
CONDIÇÕES - TRT REGRA 1 REGRA 2 REGRA 3 REGRA 4 REGRA 5 -666 S N N N N 666 N S N N N TRT <= TM N N S N N QQ OUTRO VALOR N N N S N TRT > TM N N N N S AÇÕES REINICIA OK ENCERRA OK SYNTAXERROR OK OK ESCREVE 400 EM 7OUT OK
CONDIÇÕES - REE REGRA 1 REGRA 2 REGRA 3 REGRA 4 REGRA 5 REGRA 6 REGRA 7 SORT 1 P <= PS S N N N X X X SORT 2 P <= PS N S N N X X X SORT 2 P > PS N N S N X X X TM >= TRT N N N S X X X RESULT = 4 N N N N S N N RESULT = -7 N N N N N S N RESULT = -8 N N N N N N S AÇÕES RESULT = 4 OK RESULT = -7 OK RESULT = -8 OK
ESCREVE RESULT EM 7OUT OK
FIM OK
FALHA OK
FALHA CATAST. OK
Caso de Uso (CDU) Descrição
Número do CDU ou Identificador RTR Nome do CDU Retorno a Terra e Reentrada
Objetivo no contexto Módulo de retorno a terra e reentrada do projeto missão a Lua
Escopo Sistema
Nível Primário
Ator primário Modulo 7
Pré-condições N/A
Condições finais de sucesso Reentrada e retorno a terra
Condições finais de falha Falha catastrófica durante o processamento do módulo
Gatilho (Trigger) Leitura de arquivo 7in.txt enviado pelo controle da missão.
Cenário de sucesso principal Passos /Ação
1 – Leitura do tempo da missão e probabilidade de sucesso, Aguarda lançamento da lua
2 – Retorno a terra estagio 1 3 – Retorno a terra estagio 2 4 – Retorno a terra estagio 3 5 –Aguarda tempo de reentrada
Extensões 1 –Corrige possível falha
2 – Envia aviso de falha catastrófica
Sub – variações N/A
Prioridade Alta
Tempo de resposta 1 segundo
Freqüência N/A
Canais para o principal ator Interativo
Atores secundários Usuário
Canais para os atores secundários N/A
Data limite de entrega 24 de junho de 2010
Nível de completude 0,8