
A versão mais recente da PrestaShop foi lançada em dezembro de 2018. Efetivamente, a PrestaShop 1.7.5.0 é a mais recente versão secundária do projeto PrestaShop, disponível para download e em grande parte baseada no feedback da nossa comunidade. Essa versão traz novos recursos e melhorias para o back-office e para o front-office, tais como: otimizações de SEO, pré-visualização dinâmica de resultados de pesquisa do Google para seu produto, tempos de carregamento de páginas otimizados e muito mais! Leia nosso artigo especial sobre essa versão!
Desde que lançamos a PrestaShop 1.7.5.0, recebemos muitas perguntas sobre a estabilidade dessa nova versão. Claudia Rodriguez, embaixadora da PrestaShop no México, fez a seguinte pergunta: “
A versão 1.7.5 funcionou bem para mim. Vocês têm informações que acabem com as dúvidas sobre estabilidade?”
Por meio desse artigo, aproveitamos as perguntas de Claudia para esclarecer qual é a definição correta de “estabilidade do software” e de que modo as equipes da PrestaShop melhoraram os processos de teste para deixá-la mais estável.
Estável é igual a “sem bugs”
A PrestaShop v1.7.5.0 soluciona os 114 bugs relatados (fonte: http://build.prestashop.com/news/prestashop-1-7-5-0-available/). Este é o dobro da versão secundária anterior da PrestaShop 1.7.4.0 (fonte: http://build.prestashop.com/news/prestashop-1-7-4-0-available/). Além disso, questões de qualidade que foram encontradas logo depois do lançamento público da PS 1.7.4.0 exigiram o lançamento de três versões de correção em rápida sucessão. Isso não acontece com a versão PS 1.7.5.0. De fato, como não foram encontrados problemas críticos depois do lançamento inicial, a primeira versão de correção para a versão 1.7.5 (1.7.5.1) foi lançada dois meses depois da 1.7.5.0. A versão PS 1.7.5.0 consequentemente, se mostrou muito confiável, pois não precisou de correções urgentes.
O que melhoramos entre a versão 1.7.4.0 e a 1.7.5.0? Percebemos que era extremamente importante dar à comunidade tempo suficiente para o teste de novas versões, assim, quaisquer regressões puderam ser corrigidas antes e não depois do lançamento público. É por isso que, a partir da a versão 1.7.5.0, começamos a conceder um período beta público estendido de um mês (a segunda fase do teste de software no qual uma amostra do público-alvo testa o produto) para novas versões secundárias. Com a 1.7.5.0, utilizamos esse tempo extra para coletar feedback e relatórios de bug de colaboradores e agências parceiras. Este é o maior período de beta que já tivemos. O fato de que não precisamos lançar uma versão de correção logo depois do lançamento público demonstra que esse período ajudou a estabilizar e consolidar essa nova versão.
Enquanto essa versão beta estava disponível para usuários da PS encontrarem bugs pelo período de 1 mês, os desenvolvedores e a equipe de QA também estavam ocupados no teste beta da versão.
Estável é igual a “bem testado”
A PS 1.7 introduziu o uso de testes automatizados para o projeto da PrestaShop:
- testes de unidade verificam partes selecionadas do código para conferir se elas se comportam corretamente em isolamento,
- testes de integração verificam se a base do código funciona corretamente, e
- testes de "end-to-end" automatizam ações do navegador para conferir do ponto de vista do usuário se o aplicativo funciona conforme planejado.
Esses testes permitem que a equipe de desenvolvimento detecte rapidamente quando algumas partes do sistema param de funcionar e são executadas para cada Pull Request (colaboração de código) no GitHub.
O número de testes aumenta a cada nova versão da PrestaShop e a equipe de desenvolvimento está continuamente melhorando o sistema que os executa. Tudo isso está visível no GitHub (e toda a comunidade pode também colaborar!).
Além disso, o processo de garantia de qualidade (QA) está agora muito preciso e robusto.
Sempre que um novo desenvolvedor quiser modificar o código fonte (para corrigir algo ou adicionar um novo comportamento que seria útil aos usuários), é necessário fazer um Pull Request no GitHub.
Esse Pull Request será inicialmente analisado automaticamente para verificar se:
- o estilo do código está correto
- os testes de unidade, integração e ponta a ponta não se corrompem com essa nova versão do código
- o código pode ser incorporado à base do código sem criar problemas
Observação: O pacote completo de testes de ponta a ponta não funciona em todos os PR porque leva muito tempo (8 horas ou mais) para cobrir toda a aplicação. No entanto, o pacote completo é executado a cada noite, durante o processo de “compilação noturna”, quando compilamos e testamos o código fonte automaticamente todas as noites. Deste modo, se algo for corrompido pela alteração, na manhã seguinte receberemos um relatório nos informando o que foi afetado, para que possa ser corrigido. As compilações noturnas e os relatórios de teste estão disponíveis aqui: https://nightly.prestashop.com/
Se testes automatizados passarem corretamente, então o Pull Request será revisado por um desenvolvedor principal, para confirmar se a alteração enviada é útil e está correta. Se forem encontrados problemas, tem início uma conversa entre o revisor e o colaborador, para corrigi-los. Em alguns casos, o desenvolvedor principal pode pedir auxílio a outras pessoas relacionadas à questão: a equipe de design (se o Pull Request modificar o projeto da PrestaShop), a equipe de produto (se o Pull Request modificar o projeto da PrestaShop) ou a outros desenvolvedores ou membros da comunidade.
Quando a revisão do código estiver finalizada e aprovada (talvez depois de algumas alterações), o Pull Request é testado pela equipe de QA, que verificará se o código enviado se comporta corretamente do ponto de vista do usuário E se não corrompe outras funcionalidades que anteriormente funcionavam bem.
No futuro, a maior parte deste trabalho será automatizada; contudo, agora, precisamos da combinação de QA automático e QA humano. Se forem encontrados problemas, tem início uma conversa entre o analista de QA e o colaborador para que o Pull Request seja corrigido. Outras verificações são realizadas, como aprovação de novas redações, por exemplo. A localização é um recurso importante da PrestaShop, deste modo, se um Pull Request modifica textos ou conteúdo no aplicativo (isso terá impacto na tradução), ele deve ser aprovado também pelo gerente de conteúdo.
Se todas essas etapas forem aprovadas, o Pull Request pode ser incorporado à base do código!
Conforme você pode ver, bastante trabalho é dedicado a minimizar o risco de que o código insira novos bugs. É evidente que bugs são inevitáveis, no entanto, em grande parte do tempo, quando uma regressão é inserida, é identificada pela equipe de QA e corrigida antes do lançamento. A equipe de QA verifica os Pull Requests muito atentamente, testando casos de uso especiais, como várias lojas, vários idiomas, idiomas de escrita da direita para a esquerda.
Recebemos feedback de colaboradores que preferiam o “jeito antigo”, onde os Pull Requests eram incorporados com pouca ou nenhuma revisão. Essa época não voltará. Nós escolhemos o caminho para a crescente qualidade e estabilidade e mesmo que esse processo seja árduo e demorado, planejamos mantê-lo como tal, porque se mostrou muito confiável.
Estável é igual a “base sólida”
A PrestaShop 1.7 está relacionada a migrar a PrestaShop de um framework personalizado na Web para um framework padrão no setor, Symfony. Esse é um processo bastante longo, mas os benefícios serão enormes, incluindo estabilidade. O Symfony é amplamente utilizado em aplicativos PHP (PHP é a linguagem usada para desenvolver a PrestaShop), é mantido por alguns dos melhores desenvolvedores do mundo, tem um processo de qualidade e estabilidade muito completo (que inspirou o nosso) e é um dos dois frameworks PHP na Web mais populares, junto ao Laravel.
A introdução do Symfony nos permite descartar a carga de trabalho de manutenção de um framework personalizado, que consome muito tempo, que poderia ser mais bem empregado no que a PrestaShop faz de melhor: gerenciar carrinhos, controlar pedidos, calcular preços e taxas, gerar faturas, entre outros. Usar um framework de código aberto comprovado e popular nos permite manter o foco no código de negócio principal com mais eficiência, enquanto aproveitamos a estabilidade de um framework reconhecido em todo o mundo.
Ao usar o Symfony na PrestaShop em vez do nosso próprio framework, confiamos na qualidade do trabalho deles, que é amplamente reconhecida. Quando são encontrados bugs no Symfony, eles são corrigidos pela equipe do Symfony. Quando há problemas de desempenho no Symfony, eles são corrigidos pela equipe do Symfony. Ao usar esse framework, nos beneficiamos de todo o conhecimento e experiência dessas pessoas para estimular a PrestaShop, em vez de nós mesmos executarmos o mesmo trabalho. Estamos seguindo o enfoque “anões nos ombros de gigantes” e “não reinventar a roda”, que se mostrou funcionar bem.
Também poderíamos falar do nosso processo de gerenciamento de questões de segurança, mas isso não tem a ver com estabilidade. Em resumo: nos importamos bastante com a segurança de software da PrestaShop. Sempre que uma vulnerabilidade de segurança é encontrada é encontrada, ela passa a ser a prioridade número 1 de toda equipe principal (desenvolvedores, produto, QA) para ser corrigida e lançada o mais rápido possível.
Esperamos que esse artigo tenha dado a você uma melhor compreensão do que é um software estável e de como as equipes da PrestaShop investem em testes automáticos e migração do Symfony para oferecer aos usuários um software melhor e mais estável.
Faça download do PrestaShop 1.7.5 agora e acesse todas as novas funcionalidades, economizando tempo quando se trata de atividades recorrentes de gerenciamento de armazenamento, por exemplo. Essa nova versão contém melhorias significativas na produtividade e no desempenho, e é um passo à frente em termos de redes móveis e sociais.