Propostas de Estágio 2012/2013

DEI - FCTUC
Gerado a 2024-11-21 19:31:02 (Europe/Lisbon).
Voltar

Titulo Estágio

PRO03-IR TeStudio - Execução distribuída de testes

Área Tecnológica

Engenharia de Software

Local do Estágio

Aveiro Inova-Ria TELBIT

Enquadramento


Actualmente, enquanto engenheiros de software, enquanto utilizadores de sistemas computacionais ou qualquer outra pessoa que dependa directa ou indirectamente dos sistemas computacionais, preocupamo-nos cada vez mais com a qualidade e robustez dos sistemas.
É cada vez maior a necessidade de as equipas de desenvolvimento adoptarem as melhores metodologias praticadas na produção de um software, assim como munirem-se das melhores ferramentas de suporte à sua actividade de desenvolvimento.
Metodologias como CI (Continuous Integration), Unit Tests, Functional Tests são alguns dos exemplos mais relevantes de actividades que se podem desenvolver com vista a melhorar significativamente a qualidade do software produzido.
No âmbito deste trabalho pretende-se criar uma ponte entre os testes funcionais suportados pelo TeStudio e o processo de CI que garante a build automática de um sistema alvo.
Pretende-se obter um caso de estudo onde os testes funcionais corridos em múltiplas plataformas sejam avaliados e integrados na “malha de feedback” que avalia o estado de uma build.

Objetivo


O TeStudio é uma ferramenta desenvolvida pela Telbit e que permite a execução e automação de testes de software.
O principal objectivo deste trabalho será pegar no motor de execução do TeStudio e dotá-lo da capacidade de ser integrado num serviço de CI e de execução distribuída em diversos ambientes.
Para tal terá de ser avaliado e evoluído um protótipo stand-alone do motor de execução já desenvolvido na Telbit, e a ferramenta de CI já utilizada na Telbit – CruiseControl.
No fim esperamos obter um caso de estudo em que, dando uma ordem de criação de uma build num serviço de CI, sejam executados de forma distribuída um conjunto de testes funcionais a partir do TeStudio e os seus resultados incluídos no relatório término da build criado pelo serviço de CI.

As áreas/ temas do trabalho a desenvolver são:
# Execução distribuída de tarefas
# Protocolos de comunicação inter-aplicações
# Continuous Integration (CI)

Plano de Trabalhos - Semestre 1

T1 – Desenvolver um conhecimento sobre o processo de CI da Telbit e da ferramenta TeStudio
O conhecimento do estagiário deve recair sobre os seguintes temas:
• Processo de CI implementado na Telbit;
• Arquitectura do TeStudio;
• Criação de testes no TeStudio;
• Motor de execução do TeStudio;
• Protótipo stand-alone do motor de execução;
Esta tarefa deve ser efectuada em ciclos de:
• Análise sobre um tema descrito anteriormente;
• Hands-on sobre esse aspecto (corrigindo defeitos, implementando sugestões, etc);
• Reflexão sobre o conhecimento adquirido, alimentando com feedback o início do ciclo seguinte.
Data de início: Setembro 2012;
Data de conclusão: Janeiro 2013.
Nota: esta abordagem permite uma consolidação mais sólida do conhecimento necessário para a realização das próximas tarefas. O caracter mais serendipico e variável destes ciclos não permite uma definição a priori das datas de início e fim individuais.
T2 – Escrever uma proposta de arquitectura para a implementação do objectivo pretendido
Esta proposta deverá detalhar as tecnologias a usar e como integrar os vários componentes da arquitectura.
Durante Fevereiro de 2013.

Plano de Trabalhos - Semestre 2

T3 – Evoluir o motor de execução stand-alone do TeStudio de forma a poder ser executado via CI
O motor de execução deve ser capaz de executar uma bateria de testes especificada via CI. A ferramenta de CI deverá ser capaz de invocar o motor de execução com uma lista de testes a executar.
O motor de execução deverá também ser capaz de alimentar a ferramenta de CI com os resultados da execução da bateria de testes e deverá incluir estes resultados no relatório enviado no final da build.
Data de início: Março de 2013
Data de conclusão: Abril de 2013

T4 – Criação de um mecanismo de distribuição de testes por diferentes máquinas
Nesta tarefa a ferramenta de CI deverá ser capaz de enviar ordens de execução de uma bateria de testes por motores de execução distribuídos em várias máquinas. Deverá ser garantido que os resultados da execução desta bateria são comunicados à ferramenta para inclusão no relatório final.
Data de início: Maio de 2013
Data de conclusão: Junho de 2013
T5 – Escrita da Dissertação
O estagiário irá ser incentivado a ir produzindo documentação no sistema de gestão de conhecimento interno da Telbit que o ajudará no final a produzir a Dissertação.
Durante o mês de Julho de 2013

Condições

Inclusão no âmbito do Programa Talento.
Consulta o Regulamento deste programa em: http://www.inova-ria.pt/projectos/talento.asp

Observações

Referências bibliográficas:

• TeStudio [http://www.telbit.pt/products/testudio]@ 28/12/2010
• CI [http://www.martinfowler.com/articles/continuousIntegration.html]@07/01/2011

Perfil requerido ao candidato:
Caracteristicas pessoais:
• Puramente responsável
• Procura a qualidade/ excelência
• Tolerância ao Stress
• Trabalho em Equipa
• Análise e Resolução de Problemas
• Orientação para Objectivos
Caracteristicas técnicas:
• Conhecimentos de Bases de Dados (Oracle e postgreSQL preferencialmente)
• Familiar com design patterns como o MVC, MVVM, IOC
• Domínio das linguagens: Java, C#.net
• Interessado com os problemas de Usabilidade/ Interacção com o utilizador
Conhecimentos de programação tanto em ambientes Web como Desktop


Aspectos inovadores da proposta:

Aproximar a prática de Continuous Integration às actividades de Software Quality Assurance.
Integrar nos ciclos de integração contínua os testes funcionais desenhados para o sistema (em oposição aos testes unitários que tipicamente são utilizados). Com esta pratica pretende-se fortalecer a qualidade dos binários criados num processo de Continuous Integration, alimentando este processo com os resultados de testes funcionais.
O teste em diferentes ambientes, SO’s, configurações de HW, é uma mais valia para despistar eventuais problemas o mais a montante possível na cadeia de desenvolvimento.


Orientador

Márcio Neves
mneves@telbit.pt 📩