Java Imersão em Testes


O que é?

Trata-se de um serviço pré-formatado de consultoria, para empresas que adotam a tecnologia Java, preparando um sistema piloto da empresa para a automação de diversos tipos de teste: funcional de interface usuário, unitário e de desempenho, fornecendo assim um ponto de partida para a implantação de procedimentos de teste.

Como funciona?

Durante um prazo pré-estabelecido, um consultor experiente em arquitetura Java, teste de software e metodologia de desenvolvimento, implanta em conjunto com a equipe do cliente a infraestrutura necessária para os processos de integração contínua com teste automatizado. Todas as atividades são feitas colaborativamente com membros da equipe, permitindo uma transferência de conhecimento efetiva para a implantação de processos de teste.

Uma grande vantagem deste formato é que todas as configurações e detalhes de implementação ocorrem no ambiente real utilizado pelo time de desenvolvimento, queimando a etapa de adaptação das tecnologias para o ambiente específico.

O que será entregue?

Ao término dos serviços, o cliente terá uma base para implantação de um ambiente de testes adequado ao seu core business, definida por especialistas da Globalcode que trabalham há anos no mercado de desenvolvimento de software, com ênfase em metodologias e ferramentas para teste de software.

Além de minimizar os riscos tecnológicos, a produtividade ficará otimizada o cliente não dispenderá tempo excessivo pesquisando sobre tendências, detalhes de ferramentas e boas práticas de teste no desenvolvimento de aplicações Java.


Veja abaixo, os entregáveis deste serviço:

1. Workshop Inicial

  • Esta introdução é ministrada em sala de aula, com projetor, para os profissionais da equipe de desenvolvimento, para o responsável pela infraestrutura e para o responsável pela gestão. A comunicação é de duas vias. De um lado, o consultor expõe a teoria de testes de software sob uma perspectiva ágil, as características das ferramentas de automação e a dinâmica proposta para as atividades seguintes. Do outro lado, há o aspecto de oficina, que ajuda o consultor a entender melhor o ambiente da empresa, podendo debater a aplicabilidade de uma ou outra ferramenta no contexto da equipe.

2. Implantação do ambiente test-in-a-box

  • O ambiente test-in-a-box é a implantação de um PC virtual dentro de um dos computadores do cliente, que fornece o ambiente pré-configurado de um servidor de testes automatizados com integração contínua. Esta implantação é feita em conjunto com um responsável pela infraestrutura do cliente.
  • Este ambiente permite suportar as outras atividades da imersão e a posterior continuação das atividades de teste automatizado na equipe, havendo a passagem de conhecimento on-the-job e a documentação adequada para o responsável pela infraestrutura na organização. As ferramentas incluidas são fornecidas sob licença open-source e não possuem restrições de uso para qualquer tipo de operação.

3. Adequação parcial do projeto para teste automatizado

  • A implantação de procedimentos de teste automatizado não assistidos requer adaptações aos arquivos de projeto. Isto permite também um melhor controle dos processos de implantação do software sendo desenvolvido, uniformizando a implantação em ambientes de desenvolvimento, homologação e produção.
  • Todo este trabalho é feito pelo consultor em colaboração com o líder técnico e/ou arquiteto da equipe. Como o tempo necessário para migrar a base de código varia de acordo com as características de cada projeto, estabelece-se um periodo fixo (timebox) em que o projeto é parcialmente migrado para o novo formato, decidindo-se em conjunto com o cliente o escopo mais relevante dentro da restrição de tempo estabelecida.

4. Escrita de conjunto inicial de testes unitários

  • Nesta etapa, o consultor realizará uma atividade de mentoring para os desenvolvedores, que implantarão um conjunto de testes unitários automatizados baseados em JUnit. O foco é tratar dos casos que dificultam a testabilidade das classes: o mentoring inclui a utilização de dublês de teste (mocks e similares) para este fim.
  • O resultado desta atividade é um conjunto inicial de testes unitários executando no processo automatizado de construção do software. Estes testes fornecem exemplos concretos, no ambiente real de desenvolvimento, para apoiar a implantação posterior de um conjunto abrangente de testes unitários.

5. Escrita de conjunto inicial de testes de interface web

  • Nesta etapa, o consultor treinará e colaborará com um membro da equipe responsável por testes, que deve ter conhecimento de programação em Java, para gerar um conjunto inicial de testes de interface web baseados em ferramentas da família Selenium, incluindo programação com lógica de controle de fluxo.
  • O resultado desta atividade é um conjunto inicial de testes funcionais de interface usuário web, integradas ao processo automatizado de build, e no contexto específico do projeto.

6. Escrita de conjunto inicial de testes de regras de negócio

  • Um especialista na lógica do domínio será mentorizado pelo consultor. Dependendo da equipe, poderá ser um analista de negócio, um analista de sistemas ou um usuário final. Será necessária também a participação de um profissional técnico, que fará a ponte com a programação em Java.
  • Testes referentes à lógica do negócio serão especificados e automatizados com o uso da ferramenta FitNesse, amigável a usuários não técnicos. No entanto, é necessário que o desenvolvedor escreva classes específicas que adaptam a aplicação para poder ser testada automáticamente.

7. Escrita de conjunto inicial de testes de desempenho (08 horas)

  • Esta atividade visa familiarizar o responsável pelos testes de desempenho com a ferramenta open source JMeter, e fornecer subsídio para a montagem de roteiros de teste de desempenho e a análise crítica de seus resultados. São feitas simulações com poucos usuários, dado que para um teste de desempenho mais realista, seria necessária a montagem de um ambiente mais controlado e específico de cada projeto. Os scripts gerados, no entanto, serão aptos para reaproveitamento posterior.
voltar

Siga-nos