Por favor, deixe os seus contactos, enviar-lhe-emos a nossa visão geral por e-mail
Autorizo o tratamento dos meus dados pessoais para o envio de materiais de marketing personalizados em conformidade com a Política de privacidade. Ao confirmar a submissão, o utilizador aceita receber materiais de marketing
Obrigado!

O formulário foi enviado com sucesso.
Encontrará mais informações na sua caixa de correio.

Innowise é uma empresa internacional de desenvolvimento de software de ciclo completo fundada em 2007. Somos uma equipa de mais de 1800+ profissionais de TI que desenvolvem software para outros profissionais em todo o mundo.
Sobre nós
O Innowise é uma empresa internacional de desenvolvimento de software de ciclo completo fundada em 2007. Somos uma equipa de mais de 1600+ profissionais de TI que desenvolvem software para outros profissionais em todo o mundo.

Testes automatizados de software: aumento de 2x na velocidade de lançamento de funcionalidades

Innowise executado ensaios automatizados de software para garantir que a integração de novas funcionalidades do sistema não comprometesse a integridade das funcionalidades existentes.

Cliente

Indústria
Tecnologia da informação
Região
Suíça
Cliente desde
2023

O nosso cliente é um fornecedor de soluções ERP em nuvem concebidas para reforçar a eficiência operacional e a resiliência contra interrupções operacionais.

As informações pormenorizadas sobre o cliente não podem ser divulgadas ao abrigo dos termos do NDA.

Desafio

Verificar a estabilidade do sistema ERP após a integração de novas funcionalidades

O nosso cliente introduziu uma nova funcionalidade no seu sistema ERP e integrou-a com a construção existente. Eles confiaram no Innowise para avaliar a estabilidade da construção do software implantado. Nós fornecemos serviços de teste automatizado de software, o objetivo é identificar potenciais obstáculos no sistema e corrigi-los.

Solução

Utilizar serviços automatizados de teste de software para identificar e resolver potenciais problemas

O Innowise elevou o sistema ERP do cliente com uma abordagem multifacetada para testes automatizados de software. Ela incorporou testes de fumaça, funcionais e de regressão, todos executados dentro de um pipeline de integração contínua/entrega contínua (CI/CD). Os testes de fumaça foram empregados para verificar rapidamente a estabilidade das principais funcionalidades, enquanto os testes funcionais foram vitais para examinar a correção de cada recurso. Os testes de regressão foram cruciais para garantir que as novas actualizações não afectassem negativamente as funcionalidades existentes. A integração destes métodos de teste no pipeline CI/CD simplificou o processo de desenvolvimento. Esta abordagem permitiu a rápida identificação e resolução de problemas e garantiu uma implementação consistente de funcionalidades robustas e de alta qualidade no sistema ERP.

Avaliação de casos de teste para automatização

No início, fomos incumbidos de passar a pente fino os casos de teste elaborados pelos testadores manuais. Com base na nossa vasta experiência em testes de software, aprofundámos cada caso, executando manualmente os passos de cada caso de teste para avaliar a sua complexidade e viabilidade de automatização. O nosso objetivo era determinar a forma mais eficiente de automatizar tarefas repetitivas e demoradas sem prejudicar a precisão dos resultados dos testes.

Implementação de testes de fumo

Os nossos testadores criaram uma coleção de casos de testes de fumaça pré-gravados que entraram em ação em cada nova construção. Estes testes foram essenciais para confirmar que as principais funcionalidades do software estavam a funcionar, assegurando consistência e rigor. Se um teste automatizado assinalasse um problema, alertava imediatamente a nossa equipa, permitindo uma rápida identificação e ação sobre o problema.

A flexibilidade do nosso processo permitiu à nossa equipa resolver rapidamente quaisquer problemas detectados durante a construção. Implementámos prontamente os ajustes necessários e reimplantámos a construção sem demora, garantindo o mínimo de perturbações.

Integração de testes funcionais em cada sprint

Passámos sem problemas da verificação de âmbito alargado dos testes de fumaça para a abordagem de testes funcionais direccionados e meticulosos. Isto garantiu que cada nova atualização fosse eficaz isoladamente e se misturasse perfeitamente com os componentes de software estabelecidos. Realizámos testes funcionais em cada sprint para que cada desenvolvimento incremental fosse rigorosamente avaliado, mantendo a qualidade e a coesão globais do software.

Testes de regressão de software

Seguimos um processo simplificado e completo para implementar testes de regressão automatizados. A nossa equipa criou um ambiente de teste que espelhava as condições reais de produção, garantindo que os nossos resultados eram tão precisos quanto possível. Com o Selenium, automatizámos os scripts de teste de regressão, aumentando significativamente a eficiência, um fator crucial para sistemas complexos.

Uma vez automatizados, executámos estes scripts com a última compilação para verificar se existiam inconsistências ou falhas. Depois de executar os testes, analisámos cuidadosamente os resultados, identificando quaisquer erros ou problemas emergentes.

Se detectássemos algum problema, resolvíamo-lo de imediato, ajustando o código e voltando a executar os testes para confirmar a eficácia das nossas correcções. Este ciclo de testes, análise e aperfeiçoamento foi uma constante em cada nova atualização do software, garantindo a estabilidade do software e a funcionalidade pretendida. Esta abordagem eficiente aos testes de regressão foi fundamental para manter a fiabilidade e o desempenho do software, reduzindo assim o risco de bugs e proporcionando uma experiência de utilizador sem problemas.

Pipeline de integração contínua/entrega contínua (CI/CD)

Para além do nosso rigoroso processo de teste, também integrámos os nossos testes no pipeline de integração contínua/entrega contínua (CI/CD), melhorando a eficiência e a capacidade de resposta do nosso ciclo de desenvolvimento. Utilizámos a ferramenta Allure para a elaboração de relatórios detalhados, o que proporcionou uma visão clara dos resultados dos testes. Esta integração permitiu-nos criar um sistema automatizado em que os testes eram lançados todas as noites. Esta rotina de testes noturnos assegurava que quaisquer novas alterações eram imediatamente avaliadas, permitindo uma rápida identificação e resolução de problemas. A incorporação de relatórios Allure no nosso pipeline CI/CD significava que a nossa equipa tinha acesso a dados de teste abrangentes todas as manhãs, simplificando a tomada de decisões e mantendo um foco constante na qualidade e estabilidade. Esta integração acelerou o nosso processo de teste e reforçou a fiabilidade de cada construção de software que entregámos.

Passos detalhados no nosso pipeline CI/CD:

  • Código: Os programadores escreveram e aperfeiçoaram o código, assegurando que este cumpria os nossos padrões de funcionalidade e design.
  • Compromisso: Em seguida, submetemos o código atualizado ao nosso sistema de controlo de versões, marcando o primeiro ponto de controlo no pipeline.
  • Crie: Este código comprometido foi submetido a um processo de compilação, onde foi convertido numa forma executável, pronta para ser testada.
  • Testes unitários: Submetemos a construção a testes unitários, em que os componentes individuais foram testados quanto à sua correção. Isto foi efectuado para garantir que cada componente funcionava sem falhas.
  • Ensaios de fumo: Após os testes unitários, realizámos testes de fumaça na construção para verificar rapidamente se as funcionalidades críticas estavam a funcionar como esperado.
  • Compromisso: Após os testes de fumaça, submetemos o código novamente ao sistema de controlo de versão, incorporando quaisquer alterações feitas após os testes.
  • Revisão: Revimos minuciosamente cada compromisso, assegurando que as alterações respeitavam os nossos padrões de qualidade e estavam de acordo com os objectivos do projeto.
  • Encenação: A compilação foi transferida para um ambiente de teste, que espelhava de perto a configuração de produção, para mais testes.
  • Testes de sistema: Na fase de preparação, realizámos testes de sistema abrangentes para validar a construção num ambiente que simulava a utilização no mundo real.
  • Produção: Quando a construção passou com êxito todas as fases de teste, foi implementada no ambiente de produção, ficando disponível para os utilizadores finais.

Tecnologias

AQA

Python, Pytest, Selenium, Allure

Back-end

Java, Spring, Hibernate

VSC

Git, Gitlab

Cloud

AWS Grafana IAM, SNS, SQS, KMS, RDS (PostgreSQL), S3, SES

DevOps

Gitlab, Docker, Docker Compose

Processo

Metodologia ágil e estrutura de sprint

No nosso projeto, seguimos rigorosamente a metodologia Agile, estruturando o nosso processo de desenvolvimento em sprints de duas semanas. Esta abordagem permitiu-nos dividir o projeto em partes geríveis, garantindo consistência e eficiência em cada fase.

Gestão de tarefas e colaboração em equipa

No início de cada sprint, definimos objectivos e tarefas claros, que foram acompanhados utilizando o Jira. Esta ferramenta manteve a nossa equipa alinhada e no bom caminho. Utilizámo-la não só como um localizador de tarefas, mas também como um centro de colaboração e comunicação, para que todos os membros da equipa estivessem sempre a par dos últimos desenvolvimentos e prioridades.

Revisão de sprints e relatórios pormenorizados

À medida que nos aproximávamos do fim de cada sprint, a nossa atenção passou a centrar-se na consolidação do nosso trabalho e na preparação para a revisão do sprint. Compilámos cuidadosamente relatórios detalhados que destacavam a cobertura e os resultados dos nossos testes. Estes relatórios eram mais do que um simples resumo das tarefas concluídas, forneciam uma análise aprofundada do que tínhamos conseguido, dos desafios que enfrentámos e da forma como os ultrapassámos. Incluíam também o feedback dos nossos processos de teste e quaisquer aprendizagens que pudessem ser transportadas para o sprint seguinte.

Equipa

3

Engenheiros da AQA

1

Engenheiro DevOps

Resultados

Implementação acelerada de funcionalidades e redução de 50% nos erros de produção

A implementação de testes automatizados para o sistema ERP do nosso cliente resultou em melhorias e eficiências notáveis:

  • Lançamento mais rápido de novas funcionalidades: com os testes automatizados, as novas funcionalidades foram lançadas duas vezes mais rapidamente em comparação com o processo manual anterior.
  • Redução de bugs: A integração de CI/CD levou a uma redução de 50% nos bugs que chegam à produção, aumentando significativamente a fiabilidade do software.

Perante este resultado positivo, o nosso cliente manifestou o seu entusiasmo pela nossa colaboração. Reconhece o valor que a nossa experiência e a implementação de tecnologias de ponta trazem à sua atividade. No futuro, trabalharemos em estreita colaboração com o nosso cliente para aproveitar os êxitos alcançados e explorar novas oportunidades para melhorar os seus sistemas e processos.

Duração do projecto
  • setembro de 2023 - Em curso

2x

aumento da funcionalidade velocidade de libertação

50%

menos erros na produção

Contactar-nos!

Marcar uma chamada ou preencha o formulário abaixo e entraremos em contacto consigo assim que tivermos processado o seu pedido.

    Inclua os detalhes do projeto, a duração, o conjunto de tecnologias, os profissionais de TI necessários e outras informações relevantes
    Gravar uma mensagem de voz sobre o seu
    projeto para nos ajudar a compreendê-lo melhor
    Anexar documentos adicionais, se necessário
    Enviar ficheiro

    Pode anexar até 1 ficheiro de 2MB no total. Ficheiros válidos: pdf, jpg, jpeg, png

    Informamos que, ao clicar no botão Enviar, o Innowise's processará os seus dados pessoais de acordo com a nossa Política de Privacidade com o objectivo de lhe fornecer informações adequadas.

    O que é que acontece a seguir?

    1

    Após termos recebido e processado o seu pedido, entraremos em contacto consigo para detalhar as necessidades do seu projecto e assinar um NDA para garantir a confidencialidade das informações.

    2

    Após a análise dos requisitos, os nossos analistas e programadores elaboram uma proposta de projecto com o âmbito dos trabalhos, tamanho da equipa, tempo e custos e custos.

    3

    Marcamos uma reunião consigo para discutir a oferta e chegar a um acordo.

    4

    Assinamos um contrato e começamos a trabalhar no seu projecto o mais rapidamente possível.

    Obrigado!

    A sua mensagem foi enviada.
    Processaremos o seu pedido e contactá-lo-emos o mais rapidamente possível.

    Obrigado!

    A sua mensagem foi enviada.
    Processaremos o seu pedido e contactá-lo-emos o mais rapidamente possível.

    seta