Propostas com alunos

DEI - FCTUC
Gerado a 2024-11-21 21:51:43 (Europe/Lisbon).
Voltar

Titulo Estágio

Quality Assurance Automation

Áreas de especialidade

Engenharia de Software

Local do Estágio

STRA, S.A., IPN, Coimbra

Enquadramento

De que forma conseguimos garantir a qualidade do software produzido de forma sistemática econsistente? Quais os mecanismos disponíveis para automatizar esse processo e assim agilizar o desenvolvimento de software?
Este estágio integra-se na iniciativa que a Stratio tem para a expansão de mecanismos de integração contínua e automação de testes de software, com tarefas que vão desde a melhoria de condições para
a execução de testes automáticos, passando pela implementação ou configuração de frameworks de auxílio aos testes e terminando com a programação de testes de integração e/ou sistema.
Os processos de garantia de qualidade (QA) desenvolvidos na Stratio têm sobretudo um cariz preventivo e de optimização do processo de desenvolvimento. Assim, focam-se sobretudo em prover a equipa de desenvolvimento das ferramentas necessárias para evitar a introdução de erros em primeiro lugar. O trabalho de um elemento em QA foca-se, portanto, em análise estática do código desenvolvido, automação de processos (usando o Jenkins), provisionamento dinâmico de ambientes de teste (usando Docker e Kubernetes), automação de testes e monitorização dos serviços, tanto em ambientes de teste como ambientes produtivos.

Objetivo

O presente projeto/estágio pretende atingir os seguintes objetivos genéricos:
• Levantamento do estado da arte em integração contínua e automação de testes
• Participação na aplicação de integração contínua na Stratio
• Participação na criação de uma framework de testes automáticos
• Implementação de baterias de testes automáticos

Com este fim, é expectável que o aluno desenvolva conhecimentos nas àreas de:
• Processos de garantia de qualidade em desenvolvimento de Software e Firmware.
• Automação de processos usando Jenkins, Groovy, Python, Bash e Powershell.
• Provisionamento dinâmico e gestão de configuração de ambientes de teste para sistemas distribuídos usando Docker, Kubernetes e Ansible.
• Especificação e automação de planos de testes de integração, sistema, performance, carga e Interfaces Web, sobre os sistemas distribuídos e IoT desenvolvidos na Stratio.
• Monitorização e diagnóstico de ambientes de teste, bem como identificação e reporte de defeitos às equipas de desenvolvimento e produto.

Plano de Trabalhos - Semestre 1

Fase 0 – Welcome & Setup
Descrição: Recepção, adaptação ao ambiente da empresa e configuração do ambiente de desenvolvimento.
Resultados: Aprendizagem sobre a empresa, nomeadamente processos, produto, modelo de negócio e equipa, bem como configuração do ambiente e ferramentas de trabalho.

Resultado: Integração na Stratio, e em particular na equipa de Software, e configuração das principais ferramentas de trabalho.

Calendarização: Semana 1


Fase 1 – State of the Art

Descrição: Levantamento do estado da arte nas àreas de integração contínua, análise estática de código, processos de QA em equipas Agile e especificação e automação de planos de testes, focando
tanto em tecnologias e metodologias estabelecidas na indústria como em outras emergentes.

Resultados: Conhecimento sobre o papel de um QA na indústria, incluindo os processos e artefactos que deve manter e as ferramentas ao seu dispor para realizar as suas funções com sucesso.

Calendarização: Semana 1 a Semana 4


Fase 2 – Build Automation
Descrição: Expansão da automatização de processos de construção de software, tirando partido de tecnologias como o Jenkins, linguagens interpretadas, Docker e Kubernetes, de forma a garantir a
execução consistente desses processos em ambientes heterogéneos e de forma escalável.
Resultados: Standardização e redução de divida técnica no ecossistema para automatização de processos de construção de software.

Calendarização: Semana 5 a Semana 8


Fase 3 – System Tests Framework

Descrição: Expansão da framework de provisionamento dinâmico de ambientes de teste com fim à agilização da criação e destruição de ambientes de software temporários, destinados tanto à execução de testes automáticos com à execução de validações adicionais por parte das equipas de desenvolvimento e de produto.

Resultados: Suporte à integração de todos os serviços necessários em deployments da plataforma desenvolvida pela Stratio na System Tests Framework. Desbloqueando a automação e execução de testes de sistema, performance, carga e estabilidade.

Calendarização: Semana 9 a 20

Plano de Trabalhos - Semestre 2

Fase 4 – Automated Tests

Descrição: Especificação e automação de planos de testes a diferentes níveis (integração, sistema, UI, performance), utilizando a System Tests Framework para orquestrar e integrar os sistemas sob teste.

Resultados: Reportagem automática de regressões no Software desenvolvido a nível protocolar, de interface e performance.

Calendarização: Semana 21 a 38


Fase 5 – Final Report

Descrição: Encorajando a redação do relatório de estágio ao longo da duração do estágio, reservamse as duas últimas semanas para a elaboração do relatório final de estágio.

Resultados: Relatório final de estágio completo e revisto.

Calendarização: Semana 39 a 40

Condições

Bolsa de Subsidio de Alimentação
Posto de trabalho para uso profissional

Orientador

José Pedro Santos Manso Côrte-Real
hr@stratioautomotive.com 📩