Gerado a 2025-08-31 18:17:46 (Europe/Lisbon).
Titulo Estágio
Modelação Automática de Graphical User Interfaces
Área Tecnológica
Sistemas de Informação
Local do Estágio
Aveiro
Enquadramento
A criação de casos de teste para
interfaces gráficas tem recorrido principalmente à gravação de
sessões de utilização de uma aplicação, sendo os eventos
posteriormente gravados em forma de script para mais
rapidamente poderem ser duplicados e alterados. Este processo é
muito lento, principalmente durante a fase de gravação, e por isso
têm-se procurado gerar automaticamente casos de teste com o mínimo
de intervenção humana. Em aplicações comerciais ainda há um
grande vazio nesta área. No entanto, alguns investigadores, dos
quais se destaca o Dr. Atif Memon da Universidade de Maryland, têm
vindo a trabalhar em técnicas de engenharia reversa de modo a que se
possa extrair automaticamente um modelo da aplicação a ser testada.
Estas técnicas facilitam o uso de práticas de Testes Baseados em
Modelos na área específica de testes à interface gráfica de
aplicações, sendo desta maneira possível de gerar automaticamente
casos de teste. Nas frameworks .Net e Java, por exemplo, já existe
suporte para o uso de Reflection o que nos permite extrair dados
sobre a estrutura e comportamento da aplicação. O facto de estas
frameworks correrem em cima de uma máquina virtual facilita a
extracção de informação sobre o programa que vai ser testado.
As
interfaces gráficas são, por
natureza, máquinas de estado, cuja combinação de estados possíveis
tem uma evolução exponencial conforme a complexidade da aplicação
a ser testada. Por esse motivo o próprio modelo da interface tem
vindo a ser estudado de modo a que este seja: simples, para permitir
que o uso do modelo seja eficiente; e completo, para que possa haver
um elevado grau de confiança nos casos de teste gerados. Do trabalho
de investigação já feito na área ressalta-se as estruturas
propostas pelo Dr. Atif Memon, os Grafos de Fluxo de Eventos (EFG em
inglês) e pela Dr. Ana Paiva, as Máquinas de Estado Finitas
Hierárquicas (HFSM em inglês). Os primeiros permitem saber num
determinado instante (sendo que instante não é dado pelo tempo mas
sim pelas acções executadas anteriormente) que acções podem ser
executadas, e é utilizado pelo autor para gerar sequências de
acções que compõem os casos de teste. As segundas são uma
abordagem mais natural à modelação de interfaces. O uso de HFSMs
permite conter a explosão de estados possíveis da interface,
isolando os elementos-filho dos elementos-filho de outros
elementos-pai. Um possível modelo a ser testado poderá ser a
combinação destas duas estruturas que permita ter a informação
dos HFSMs numa estrutura “temporalmente” dinâmica como os EFGs.
Objetivo
Neste projecto pretende-se implementar
uma aplicação para a instrumentação de aplicações com interface
gráfico, aplicando técnicas de engenharia reversa para a extracção
de modelos da interface gráfica que possam ser usados para gerar
casos de teste.
Para tal, o estado da arte vai ter uma
importância vital na procura de outras técnicas, para além das já
mencionadas anteriormente, que possam ser aplicadas no
desenvolvimento da aplicação.
Esta aplicação deverá conseguir
abrir uma aplicação em Java (AWT/Swing/SWT) e/ou C# (WinForms/WPF),
analisando a sua estrutura e comportamento (eventos possíveis de ser
executados), criando um modelo que possa depois ser manipulado e
usado para gerar casos de teste sobre uma aplicação alvo. O relevo
deve ser dado sobre aplicações Java Swing e C# WinForms. O modelo
adoptado deverá ser implementado não só como estrutura de dados,
mas também visualmente de modo a que seja mais facilmente manipulado
e validado pelo tester.
Plano de Trabalhos - Semestre 1
No primeiro semestre o trabalho de
estágio deverá incidir sobre a análise do estado da arte (1ª
fase) e a elaboração de uma proposta para a arquitectura da
aplicação que irá instrumentar aplicações em Java e C# (2ª
fase).
Durante a primeira fase, a decorrer de
Setembro a Novembro, é requerido ao estagiário que produza resumos
dos artigos lidos e que produza, no final desta fase, um resumo do
estado da arte.
Na segunda fase, a decorrer de Dezembro
a Fevereiro, o estagiário deverá elaborar um documento onde esteja
descrita a sua proposta inicial para a aplicação.
Plano de Trabalhos - Semestre 2
No segundo semestre decorrerá a
implementação da aplicação, que irá decorrer em três fases:
- implementação de uma aplicação
que receberá a informação sobre a aplicação que está a ser
instrumentada e deverá mostrar a visualização do modelo, durante o
mês de Março;
- implementação da aplicação/módulo
que irá instrumentar aplicações escritas em Java, a realizar
durante o mês de Abril;
- implementação da aplicação/módulo
que irá instrumentar aplicações escritas em C#, a realizar durante
o mês de Maio.
- Durante o mês de Junho deverá ser
escrito o relatório final de estágio.
Condições
Estágios Normais
Dissertação
Contrato
· É celebrado um contrato de complemento da formação escolar
ministrada ao estagiário pela sua Universidade, mantendo assim a sua
condição de estudante.
Benefícios financeiros
· Bolsa de estágio no montante de 520,00€ por cada mês de
estágio.
· O estagiário beneficia de seguro escolar suportado
integralmente pela Universidade.
Deveres do estagiário
· Elaborar e apresentar à Telbit, no final da dissertação, um
relatório geral sob a orientação do responsável designado pela
Universidade, no prazo de 15 dias após a conclusão do mesmo. O
incumprimento desta obrigação terá como consequência o não pagamento do
subsídio mensal correspondente ao último mês do estágio.
· Compensar, no final do estágio, toda e qualquer ausência por dias
completos, implicando as ausências não compensadas, a perda de eventual
subsídio de estágio pelos dias correspondentes.
Estágio Integrado
Dissertação + Estágio Profissional
Candidatos Elegíveis
A Telbit disponibiliza a estudantes com uma média igual ou superior
a 14 valores, estágios integrados, os quais consistem na realização de
uma dissertação e de um estágio profissional.
Bolsa de Incentivo
Os estagiários de estágios integrados, além dos benefícios e deveres
identificados anteriormente para dissertações, beneficiam ainda de uma
Bolsa de Incentivo, a qual consiste num montante pecuniário total e
único de 2.000,00 Euros (dois mil euros).
· A bolsa será paga em duas fases:
1ª fase: 30% com a assinatura do termo de aceitação;
2ª fase: 70% após a conclusão da formação académica final,
seja a Licenciatura Pré-Bolonha ou 2º ciclo de estudos de Bolonha,
mediante a entrega do certificado de habilitações.
· Por cada valor acima da média final da formação académica de 14
valores será atribuída uma bonificação de 250,00 Euros (duzentos e
cinquenta euros) a pagar na 2ª fase.
· Por cada valor igual ou acima de 18 na nota de estágio, será
atribuída uma bonificação de 250,00 Euros (duzentos e cinquenta euros),
(acumulável com a anterior) a pagar na 2ª fase.
· A atribuição do montante respeitante à 2ª fase está
condicionada ao cumprimento das seguintes condições:
o Antes da conclusão do curso:
§ Realização do trabalho de fim de curso.
§ Realização da dissertação na Telbit. Nestes casos a Telbit
atribuirá uma correspondente bolsa de dissertação.
o Após a conclusão do curso:
§ Obtenção de uma média final de curso igual ou superior a 14
valores (na Licenciatura pré-Bolonha ou nos 1º e 2º ciclos de estudos
de Bolonha);
§ Realização de um estágio profissional com um subsídio de estágio
no valor de 920,00€ na Telbit, com a duração de um ano, mediante a
celebração de um contrato a formalizar no momento de termo de aceitação
e condições de concessão da Bolsa.
· Os candidatos que não cumpram as condições estipuladas nos pontos
anteriores, em concreto a realização de Dissertação e/ou estágio
profissional, serão obrigados a devolver os montantes que tenham sido
abonados.
· Durante o estágio profissional o estagiário beneficiará de um
seguro de acidentes de trabalho da responsabilidade da Telbit.
· O estágio profissional poderá ser interrompido por um período não
superior a 20 dias úteis, seguidos ou interpolados, quer por
encerramento temporário da Telbit quer por impossibilidade do
estagiário.
· O estágio decorrerá nas instalações da Telbit, ou
em qualquer estabelecimento indicado pela empresa e sob orientação e
supervisão
de orientador designado pela Telbit, ao qual o estagiário se deverá
reportar.
· As despesas de deslocação para fora do
estabelecimento da Telbit, desde que enquadrados no âmbito do estágio e
solicitadas pela empresa, ocorrerão por conta desta mediante a
apresentação de
documentos titulados, até a um valor máximo de acordo com as orientações
em
vigor.
· O estagiário deve guardar lealdade à Telbit,
designadamente comprometendo-se a, durante a vigência e após a cessação
deste
contrato, manter total confidencialidade e a não tirar partido, directa
ou
indirectamente, dos conhecimentos e informações a que tenha acesso no
âmbito do
estágio.
· O estagiário deve respeitar as normas vigentes na
Telbit, nomeadamente a ser assíduo e pontual.
· Cabe
à Telbit a propriedade dos relatórios bem como de todo o suporte
documental e
todo o código fonte desenvolvido pelo estagiário, desenvolvido durante o
estágio, sem prejuízo da sua normal utilização no âmbito do mesmo.
Observações
De preferência o candidato deve ter
conhecimentos em Java e C#.
Referências bibliográficas:
Paiva, A., Tillmann, N., Faria, J., &
Vidal, R. (2005). Modeling and testing
hierarchical GUIs.
Memon, A., Banerjee, I., &
Nagarajan, A. (2003). GUI ripping: reverse engineering of graphical
user interfaces for testing. In Proc. 10th Working Conference on
Reverse Engineering WCRE 2003 (pp. 260-269).
Memon, A., Banerjee,
I., Hashmi, N., & Nagarajan, A. (2003). DART: a framework for
regression testing \"nightly/daily builds\" of GUI
applications. In Proc. International Conference on Software
Maintenance ICSM 2003 (pp. 410-419). IEEE Comput. Soc.
Orientador
Márcio Neves
mneves@telbit.pt 📩