Páginas filhas
  • Planejamento da implantação do processo de testes

1. Implantação do processo de testes

Conforme estabelecido foi definido o processo de testes a ser utilizado pela equipe de integrações que deve estar adequado ao calendário de liberações das releases. A implantação do processo de testes seguirá o seguinte planejamento:

  • Entendimento dos profissionais da equipe em relação ao processo de testes especificado.
  • Consulta do calendário de liberações de releases de todas as linhas.
  • Implantação do processo de testes.

A liberação da próxima release ocorrerá no dia 16/08. Considerando que o processo de testes será implantado a partir da Sprint 26, é viável a sua implantação gradativa.


2. Plano de capacitação

Para a implantação do processo de testes, toda a equipe, terá treinamentos sobre as ferramentas de automação utilizadas por cada linha, conforme a distribuição abaixo.

Participante

Produto

Caio Quiqueto

Protheus

Fabio Pereira da Silva

Protheus

Jeiel Martins Benedito

Protheus

Francisco Ferreira

RM

Lucas Peixoto Sepe

RM

Rafael Tudela

RM

Luciano de Araújo

Datasul

Fabiano Pimpão

Datasul

A definir

Jasmine

O THF utiliza o Jasmine para realizar automação de testes. Em alinhamento realizado com a equipe do THF, eles irão nos auxiliar no entendimento do framework de automação.

Os treinamentos ocorrerão durante a Sprint 25, em datas a serem definidas pela equipe de framework correspondente de acordo com a sua disponibilidade.  

É de responsabilidade de cada participante compartilhar os conhecimentos com os demais da equipe.


3. Novo servidor

Será necessário um novo servidor pois o JV-FWK está saturado e não atende a necessidade da equipe. Foi criado um Spike para uma pessoa avaliar na Sprint 25 com o restante da equipe a melhor forma de estruturar os ambientes de testes que serão utilizados e será verificado com o P.O as integrações críticas que devem estar configuradas no ambiente.

 

4. Processo de implantação

Algumas considerações importantes são necessárias no planejamento da implantação do processo de testes:

  • A equipe de integrações terá uma carga maior nas tarefas que serão executadas.
  • O esforço das tarefas também poderá aumentar, diante da quantidade de cenários especificados e carga de capacitação envolvida em frameworks e ferramentas de automação de testes.
  • É provável que nas Sprints iniciais tenhamos uma perda de produtividade devido a estes fatores que gradativamente será ajustada com base na velocidade da equipe. Atualmente a velocidade da equipe sem a implantação do processo é de 1.25 pontos finalizados por dia, segundo relatório extraído do Jiraya.
  • Avaliar se o processo de testes está sendo seguido é uma tarefa de toda a equipe.


Além disso, todo o processo de testes, conforme definido na especificação, deve ser executado com ferramentas de automação utilizadas pelo Framework de cada produto. Ou seja, utilizaremos tecnologias já existentes adotadas pela Totvs no processo de automação.


5. Modificações de subtarefas

A forma com que as tarefas são executadas na equipe de integrações será modificada para a sua adequação ao processo de testes. Ou seja, as tarefas criadas deverão ter as seguintes subtarefas:

  • Codificação: Subtarefa voltada para a codificação da tarefa.
  • Preparação de ambiente: Subtarefa voltada para a preparação do ambiente de teste integrado e de integração, conforme delimitado na especificação do processo de testes.
  • Especificação: Subtarefa voltada para a especificação dos casos de testes que serão automatizados.
  • Teste Unitário Automatizado:  Subtarefa voltada para a automatização de testes.
  • Code Review: Subtarefa voltada para a revisão do código implementado.
  • Teste Integrado: Subtarefa voltada para a execução de testes integrados e de integração entre produtos da mesma linha.
  • Documentação: Subtarefa voltada para a documentação inerente ao desenvolvimento da tarefa.

Tais tarefas refletem uma grande mudança na forma pela qual as tarefas serão executadas, considerando que o foco na qualidade da entrega aumenta com maior ênfase em etapas relacionadas ao processo de testes adotado na equipe de integrações. Conforme determinado no documento do processo de testes, não necessariamente todas as tarefas serão executadas. Entretanto, deverão seguir o Guideline proposto pelo modelo apresentado a equipe de integrações. 

 

6. Exemplos das modificações

Com o objetivo de detalhar as modificações que serão realizadas no processo de testes utilizado pela equipe de integrações a tabela abaixo demonstra como os testes eram executados até a Sprint 25 e como eles deverão ser executados a partir da Sprint 26.

Produto

Execução até a Sprint 25

Execução a partir da Sprint 26

Protheus

As tarefas não possuíam testes automatizados e não era realizado Code Review. Os testes concentravam-se apenas na execução de testes integrados, raramente integrando com dois produtos diferentes.

A partir da Sprint 26 toda nova implementação incluirá também a especificação e desenvolvimento de testes automatizados. Além disso, também será realizado Code Review nas implementações.  Ocorrerão também testes de integração com outras linhas sempre que possível.

RM

As tarefas executadas não possuíam testes automatizados e na maioria das vezes era realizado Code Review. Os testes concentravam-se na execução de testes integrados e em poucos casos foram realizados testes de integração entre dois produtos.

A partir de 26 toda nova implementação incluirá também a especificação e desenvolvimento de testes automatizados. As tarefas de Code Review que já eram realizadas com frequência continuarão sendo realizadas. Também serão executados testes de integração.

Datasul

As tarefas executadas não possuíam testes unitários automatizados. Entretanto, a revisão de código era realizada regularmente.

As tarefas possuirão tarefas de teste unitário automatizado. Tal como nas outras linhas, também terá etapas de planejamento dos testes unitários e continuidade da revisão de código que já é executada regularmente.

Logix

As tarefas não possuíam testes unitários automatizados. A revisão de código também era realizada regularmente.

As tarefas possuirão tarefas de teste unitário automatizado, especificação dos casos de testes unitários e continuidade de revisão de código que já era executada.

Monitor

As tarefas eram validadas por teste integrado com a execução de testes de interface automatizados com o uso do Protractor.

Além dos testes de interface, serão realizados testes unitários automatizados.

A tabela a seguir demonstra as ferramentas utilizadas por cada linha e links em que é possível obter informações sobre as ferramentas.

  • Sem rótulos