Validação de Software e Automação de Testes
Os coordenadores Augusto Sampaio e Hermano Perrelli realizaram o projeto “Validação de Software e Automação de Testes”, em parceria com a Motorola e o CIn/UFPE (Centro de Informática da Universidade Federal de Pernambuco). Contando, também, com o apoio da Fade.
A partir da ação, foi criado um maior vínculo da Universidade com a Empresa, particularmente uma aproximação do CIn/UFPE – Motorola, ampliando um conhecimento mútuo e desenvolvendo novas cooperações ainda mais interessantes para ambos. Assim, estimulou-se nos acadêmicos a criação da resolução de problemas práticos, a partir dos desafios apresentados durante a execução do empreendimento, contribuindo com a suas formações.
As atividades do projeto estão correlacionadas e foram complementares na área de testes de software. Desse modo, enquadraram-se em diferentes fases do ciclo de desenvolvimento do software, cobrindo a sua validação, realizando a automação de testes e adotando a utilização de robôs para os produtos do portfólio da área de Product Test do ano de 2021.
Com o intuito de promover a validação do software – programa que comanda o funcionamento de um dispositivo eletrônico –, o grupo empregou essa validação como um todo, englobando a criação e a escolha do tipo de testes que seriam aplicados. A partir daí, foi-se acompanhando a execução do ciclo das experiências e registrando os possíveis defeitos do sistema, a fim de corrigi-los junto aos times de desenvolvimento de software.
Nesta etapa, testes foram realizados objetivando encontrar, com antecedência, qualquer problema de compatibilidade com o sistema operacional Android, assegurando que as principais funcionalidades do sistema não fossem afetadas pelas alterações realizadas. Além disso, com o intuito de cobrir todas as áreas do aparelho – câmera, áudio, rede, memória, etc – , uma iniciativa intitulada por “Super Test” passou a comparar os dispositivos Motorola em desenvolvimento com os aparelhos da concorrência, revisando as escolhas dos competidores a serem usados como referência.
Aponta-se que o sistema Android conta com uma infinidade de diferentes aplicações, acessórios e equipamentos compatíveis. Por isso, existem dificuldades com a cobertura de testes, sendo impraticável conferir a existência de todos os possíveis defeitos de software e hardware. Dessa maneira, tendem a aparecer alguns defeitos que demandam ações urgentes para que sejam corrigidos numa próxima versão de software.
Logo, a validação de software feita no projeto, investigou o cenário que levou os defeitos a escaparem da fase de teste, melhorando a partir de então, os processos internos, descrevendo os testes e criando novas estratégias. Para um melhor acompanhamento do empreendimento, foi e tem sido priorizado, a preparação de relatórios com os resumos das atividades realizadas em cada período.
Em relação à automação de testes, a pesquisa teve o intuito de atuar nas oportunidades de melhoria identificadas pela equipe. Assim, foram criadas ferramentas para aprimorar as atividades dos experimentos, automatizando os testes que demandam um maior esforço manual ou que são mais repetidos durante o ciclo de desenvolvimento dos produtos. Nessa etapa, realizou-se também a manutenção das ferramentas existentes e os scripts de testes, para garantir que funcionem com os dispositivos mais recentes, considerando as versões mais atualizadas do Android.
Foi criado um Framework (suporte), voltado para o desenvolvimento de testes automatizados utilizando robôs. Englobando, desse modo, a criação de comandos capazes de manipular esses dispositivos que executam comportamentos que simulam ações humanas. O projeto implementou ferramentas para a execução dos testes, desenvolveu métodos de reconhecimento de imagens e caracteres, e executou os resultados de maneira integrada com as ferramentas de gerenciamento dos testes da Motorola.
Para garantir um melhor desenvolvimento da ação, destinou-se um fim para cada equipe. Provendo, assim, a especificação de cadernos de testes, o acompanhamento das execuções em laboratórios terceiros, levantamento de defeitos, auxílio na investigação, e principalmente, a melhoria do processo. As medidas visaram oportunizar uma maior eficiência e facilitar a adaptação aos novos requisitos impostos pela atualização das especificações dos novos produtos.
Aponta-se, que a equipe de Carrier Validation (CV) procurou garantir que os produtos atendessem os requisitos impostos pelas operadoras de celular espalhadas pelo mundo, estando aptos a serem vendidos para tais empresas. Ressalta-se, que uma das metas do grupo CV era que todas as atividades envolvidas na homologação dos produtos, perante as operadoras de telefonia celular, fizessem parte desse processo.
Por outro lado, a equipe responsável pela certificação asseguraram que os produtos estivessem de acordo com as especificações da norma 3GPP (projeto global que conta com organizações e empresas de Telecom, a qual reconhecem as especificações técnicas das redes móveis), esse regulamento é exigido pelos órgãos reguladores de cada região, como o PTCRB e o GCF. É importante ressaltar que em algumas regiões, a certificação é mandatória para o lançamento de um produto, sendo o grupo completamente envolvido com todas as atividades desempenhadas na certificação.
Assim, a criação do projeto da validação de software e automação de testes teve o propósito de aumentar a produtividade das equipes de execução de testes em Motorola, ao mesmo tempo, melhorar a qualidade e reduzir os custos dos seus produtos.
A ação proporcionou, e tem viabilizado, uma maior competência regional na área de testes de software, por meio da prática adquirida, gerando mais empregos locais de alta tecnologia, diminuindo o êxodo de pessoal local e, consequentemente, reduzindo as diferenças de oportunidades regionais. Além disso, o projeto promoveu uma mudança cultural na relação Universidade-Empresa, privilegiando a inovação, integração e o comprometimento mútuo.