A BIMachine é uma plataforma SaaS que possui diversos serviços operando constantemente, para que estes sigam funcionando da melhor forma, são necessárias atualizações frequentes para o aperfeiçoamento da experiência do usuário, assim como o lançamento de novas funcionalidades.
Para que isso ocorra de maneira eficiente, de modo que isto chegue para o usuário usufruir, nossa equipe tem estruturada uma fase de certificação de qualidade do software, visando a melhor experiência final do produto.
O processo de validação de versões da BIMachine passa por um ciclo de etapas, contendo uma série de reuniões e testes para avaliar as melhorias e lançamentos de novas funcionalidades da plataforma. Bem como uma série de testes autotomizados que garantem a qualidade do time de desenvolvimento.
Toda tarefa desenvolvida passa por um fluxo de entrega com objetivo de garantir que não haja falhas no ambiente produtivo. A primeira fase desse processo tem como principal objetivo realizar as seguintes tarefas:
- Desenvolvimento: Etapa de produção do código fonte com ajustes ou implementações de novas funcionalidades.
- Code Review: Revisão do código fonte produzido por um desenvolvedor mais experiente, onde o objetivo é garantir a qualidade do código fonte, difundir conhecimento entre o que foi produzido e também garantir um bom desempenho na ferramenta.
- Teste desenvolvedor: Teste manual de outro desenvolvedor, ele irá validar com uma visão técnica a implementação produzida, a fim de entender se o ajuste ou a funcionalidade foi realmente entregue.
- Teste Automatizado de versão: O teste automatizado persiste em validar uma série de funcionalidades da ferramenta com o uso de "robôs", este teste valida a criação de todos os tipos de objeto, exportação, navegação, agendamentos de carga e de envio, apresentador, criação de conexões, filtros entre outros recursos disponíveis. Na ocorrência de um incidente crítico, sempre criamos uma nova automação para garantir que o mesmo problema não ocorra mais.
A segunda fase do processo de validação de versão passa pelo time de Produto, que executa o seguinte ciclo de tarefas antes do lançamento:
No início deste ciclo, acontece a etapa de documentação do versionamento em nossa base de conhecimentos, onde são publicados artigos de Release Notes relatando os ajustes, correções de bugs, e novas funcionalidades da plataforma da seguinte maneira:
- #.##.0
Release Notes terminando em ".0" possuem as informações à respeito do lançamento de novas features e as principais mudanças.
- #.##.(1-9)
Release Notes terminando em qualquer outro dígito além de 0 possuem as informações sobre correções de bugs e outras melhorias de modo geral.
Na segunda etapa do ciclo é pensado um plano de validação onde são definidas as funcionalidades a serem validadas, como elas serão validadas, qual será o plano de testes da versão, qual será a check-list de validação, assim como quais serão os membros da SQUAD que será responsável por validar a atualização.
Exemplo de uma check-list:
A terceira etapa de SQUAD de validação acontece da seguinte maneira:
- São selecionados junto aos Heads, colaboradores das áreas técnicas do time de suporte, produto, desenvolvimento e implantação que são então convocados para a SQUAD (~8 pessoas)
- Validação das novas funcionalidades
- Validação da check-list de funcionalidades core
- Reunião de fechamento para avaliação dos problemas encontrados
- Entrega da check-list assinada
- Definição dos pontos de ajustes e melhorias para o fechamento da versão
- Traduções da atualização em Inglês e Espanhol
Por último, acontece a etapa de ajustes de versão onde, outra vez, o time de desenvolvimento performa ajustes finais necessários.
Teste manual após atualização: Teste realizado de forma manual pela equipe de produto para garantir que os ambientes operam normalmente e também certificar que os recursos disponíveis na nova versão estão funcionando corretamente.
Teste automatizado após atualização: check-list automatizado que valida os principais recursos da ferramenta, o teste hoje tem o tempo de 30 minutos e é executado no ambiente produtivo após cada atualização.
Então acontece uma nova validação pelo time de suporte e produto para o fechamento da versão.