Propostas atribuídas ano letico 2025/2026

DEI - FCTUC
Gerado a 2025-08-31 18:17:44 (Europe/Lisbon).
Voltar

Titulo Estágio

Modelação Automática de Graphical User Interfaces

Área Tecnológica

Sistemas de Informação

Local do Estágio

Sede da empresa.

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:

  1. 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;
  2. implementação da aplicação/módulo que irá instrumentar aplicações escritas em Java, a realizar durante o mês de Abril;
  3. implementação da aplicação/módulo que irá instrumentar aplicações escritas em C#, a realizar durante o mês de Maio.
  4. 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

José Pedro Tavares
jtavares@telbit.pt 📩