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
Prof. Dr. Adilson Marques da Cunha
APRESENTAÇÃO FINAL
Missão Lunar Brasileira
LUDMILLA
Reis Pinheiro dos Santos
Jorge Luís GUEDES Alves
AGENDA
• Objetivo
• Responsabilidades
• Segmentos da missão
• Retorno à Terra e Reentrada
• Retorno à Terra e Reentrada
• Máquina de estados
• Estados “especiais”
• Fluxo de execução do programa
• Testes realizados
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 à
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
RESPONSABILIDADES
GERENCIAMENTO
Eduardo Mena Barreto Alonso
PROGRAMAÇÃO
Ludmilla Reis Pinheiro dos Santos
TESTES
SEGMENTOS DA MISSÃO
1. Lançamento
(foguete em desenvolvimento no IAE)
2. Cálculo de órbitas (INPE)
3. Injeção lunar (trajetória),
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
ó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
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.
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
MoonToEarth1
Rand
(1 a 100)
MoonToEarth2
Rand
(1 a 100)
MoonToEarth3
Rand
(1 a 100)
EarthOrbit
TRT
Finish
MÁQUINA DE ESTADOS
PS
Lançamento
(1 a 100)
7in.txt?
10s
(1 a 100)
7in.txt?
10s
(1 a 100)
7in.txt?
10s
Rand
(1 a 100)
Reentrada
Failure
Rand (3 a 8)
Catastrophic
Failure
Reiniciar
Syntax
Error
Encerrar
Reset
Reiniciar o
ESTADOS “ESPECIAIS”
Rand (3 a 8)
Correção
falha
Evolui para
Falha
Catastrófica
Reiniciar
Finalizar
Encerrar
programa
Reiniciar o
programa
Finalizar o
programa
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
Se 0 <= TM <=15,
atribui tempo de missão
100
Start
Se !(0 <= TM <=15)
SyntaxError
Start
AguardarArquivo
Arquivo 7IN.TXT disponível
Start
AguardarArquivo
Arquivo 7IN.TXT disponível
Start
PS
LerArquivo
Se PS = -666
Start
Start
Se PS = 666
Finish
Start
Se 5 <= PS <= 100,
atribui probabilidade de sucesso
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
Failure
Y
LerArquivo
Se Y = -666
Restart
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
CatastrophicFailure
Se X = 666
Finish
CatastrophicFailure
Se X = 666
Finish
IMPLEMENTAÇÃO – 7LOG.TXT
23/6/2010 22:41:37 TM = 1
23/6/2010 22:41:37 out << 100
23/6/2010 22:41:37 Aguardando PS...
23/6/2010 22:41:42 PS = 95
23/6/2010 22:41:42 out << 200
23/6/2010 22:41:42 Aguardando lancamento da
Lua...
23/6/2010 22:41:49 lancamento = -1
23/6/2010 22:41:49 out << 300
23/6/2010 22:42:9 Estado = LuaParaTerra3
23/6/2010 22:42:9 Trecho 3...
23/6/2010 22:42:9 VerificarPS. Sorteio 1. P = 60
23/6/2010 22:42:9 Aguardando 10s.
23/6/2010 22:42:19 out << result = 3
23/6/2010 22:42:19 Estado = OrbitaTerra
23/6/2010 22:42:19 Em orbita, aguardando Tempo
de Reentrada na Terra...
23/6/2010 22:42:28 TRT = 30
23/6/2010 22:41:49 out << 300
23/6/2010 22:41:49 Estado = LuaParaTerra1
23/6/2010 22:41:49 Iniciando a viagem da Lua para
a Terra. Trecho 1...
23/6/2010 22:41:49 VerificarPS. Sorteio 1. P = 23
23/6/2010 22:41:49 Aguardando 10s.
23/6/2010 22:41:59 out << result = 1
23/6/2010 22:41:59 Estado = LuaParaTerra2
23/6/2010 22:41:59 Trecho 2...
23/6/2010 22:41:59 VerificarPS. Sorteio 1. P = 30
23/6/2010 22:41:59 Aguardando 10s.
23/6/2010 22:42:9 out << result = 2
23/6/2010 22:42:28 TRT = 30
23/6/2010 22:42:28 out << 400
23/6/2010 22:42:28 VerificarPS. Sorteio 1. P = 36
23/6/2010 22:42:28 Reentrada. result = 1
23/6/2010 22:42:28 Reentrada prevista para
23/6/2010 22:42:58
23/6/2010 22:42:58 out << 4
23/6/2010 22:42:58 Estado = Finalizar
23/6/2010 22:42:58 Aguardando 5s.
23/6/2010 22:43:3 out << 1000
23/6/2010 22:43:3 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
TESTE CAIXA PRETA
(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
TABELA DE DECISÕES PARA LEITURA DO TEMPO DE MISSÃO - TM
AÇÕES
REINICIA OK
ENCERRA OK
CALCULA TM 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
TABELA DE DECISÕES PARA CÁCULO DA PROBABILIDADE DE SUCESSO - PS
AÇÕES
REINICIA OK
ENCERRA OK
ESCREVE 200 EM 7OUT OK
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
TABELA DE DECISÕES PARA AGUARDA LANÇAMENTO DA LUA – ALL
AÇÕES
REINICIA OK
ENCERRA OK
ESCREVE 300 EM 7OUT 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
TABELA DE DECISÕES PARA RETORNO ESTÁGIO 1 – RT1
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
TABELA DE DECISÕES PARA RETORNO ESTÁGIO 1 – RT2
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
TABELA DE DECISÕES PARA RETORNO ESTÁGIO 1 – RT3
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
TABELA DE DECISÕES LEITURA TEMPO DE REENTRADA – TRT
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
TABELA DE DECISÕES REENTRADA - REE
AÇÕES
RESULT = 4 OK
RESULT = -7 OK
RESULT = -8 OK
ESCREVE RESULT EM 7OUT OK
FIM OK
FALHA 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
Template de Artefato p/ Casos de Uso (CDU)
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