Infra - Segurança

TMap Next(Test Management Approach) - Processos de Suporte - Parte 8-4

Existem ainda outros processos mencionados no TMap Next que servem como suporte e auxílio para as mais diversas atividade de teste de software descritas até aqui, bem como para outros os outros processos vistos anteriormente. Veremos à seguir alguns desses processos.

por Fábio Martinho Campos



Existem ainda outros processos mencionados no TMap Next que servem como suporte e auxílio para as mais diversas atividade de teste de software descritas até aqui, bem como para outros os outros processos vistos anteriormente. Veremos à seguir alguns desses processos.

Como já foi falado, às vezes é mais eficiente para organizar certos aspectos/suporte de forma centralizada ao invés por projeto. Trata-se de apoiar os processos para os seguintes assuntos:

o Política de teste
o Organização de teste permanente
o Ambientes de teste
o Ferramentas de teste
o Profissionais de teste

Processos de Suporte - Política de Teste

A política de teste descreve como uma organização lida com as pessoas, recursos e métodos envolvidos no processo de teste em várias situações
Uma vez que o teste é um dos instrumentos para garantir a qualidade, a política de teste terá que estar em consonância com as medidas políticas e outras iniciativas em relação à gestão da qualidade.

Recomenda-se que a política de teste esteja de acordo com a política estratégica, tática e operacional da organização.

A política de teste deve ser aplicada a todos os tipos de sistemas, infra-estruturas e metodologias de desenvolvimento.

Uma vez que o teste é uma das ferramentas para garantir a qualidade, a política de teste terá que estar alinhada com outras medidas e iniciativas em relação à gestão da qualidade como um todo.

o Nível Estratégico: O impacto da política organizacional em relação ao teste para toda a organização deve ser determinado. Isso resulta na política de teste estratégica, a qual deve ser imposta e ativamente suportada por este nível.
o Nível Tático: A política de teste deve ser traduzida por componente de organização, departamento, grupo de produto, programa ou projeto(dependendo da organização em questão). Isso também envolve os recursos e budgets para garantir uma implementação inequívoca da política de teste.
o Nível Operacional: Uma implementação consistente resulta em uma abordagem de teste uniforme no nível operacional.

Processos de Suporte - Organização de Teste Permanente

A organização de teste permanente, ao contrário do teste baseado em projeto, não elabora um elemento específico do processo de teste em uma base por projeto, mas em todos os projetos.

A organização permanente de testes é uma organização que oferece serviços em teste de software.

Existem dois tipos comuns de organização de teste permanentes:
o A organização do teste permanente, como um centro de teste de conhecimentos(TEC - Test Expertise Centre)

o A TEC é uma organização e fornecedora de consultoria que assume uma “obrigação de esforço", no máximo provendo de serviços. Por exemplo, pode terceirizar testadores ou gerentes de teste para um projeto.
o Oferecer conselhos sobre uma abordagem de teste ou ferramenta a ser utilizada.
o As atividades são sempre realizadas sob a responsabilidade do projeto.

Uma possível estrutura organizacional para a TEC poderia ser:



o A organização do teste permanente, como uma fábrica de teste(TF - Test Factory)

o A TF aceita uma "obrigação de apresentar resultados" para muitos dos seus serviços.
o O processo pode ser comparado a uma fábrica com o pessoal permanente (testadores), máquinas (infra-estrutura), procedimentos padronizados de trabalho, etc.
o Diferentes clientes (departamentos, projetos, sistemas) podem terceirizar suas atribuições de teste por completo com este tipo de organização do teste.
o O cliente tem as suas atribuições para a organização do teste e são agendadas na forma de missões de trabalho para os funcionários, a infra-estrutura está configurado da maneira correta, a tarefa é executada e o cliente pode pegar o produto (relatórios, pareceres e possíveis defeitos nos objetos testados), no prazo acordado.
Uma possível estrutura organizacional para a TF poderia ser:



Benefícios de uma Organização de Teste Permanente:

o Nivelamento otimizado de expertise escassa.
o Qualidade dos produtos previsível.
o Tempo de início reduzido.
o Melhoria contínua dos processos embarcados na organização.
o Consolidação e desenvolvimento de expertise.
o Custo e tempo mais fáceis de serem planejados.
o Redução de custo devido à a centralização e escala.
Condições de uma Organização de Teste Permanente:

o Para atingir os benefícios citados, deve existir uma quantidade mínima de trabalho para a Organização de Teste Permanente. Este é o caso freqüente de grandes organizações.
o Deve existir uma cultura a qual acordos formais de trabalho são possíveis.
o A organização deve lidar com processos repetíveis e projetos.
o A organização deve ser capaz de lidar e aceitar organizações centrais, por exemplo, a Organização de Teste Permanente.

Pontos de atenção de uma Organização de Teste Permanente:

o Serviços de teste
o Profissionalismo de teste
o Reuso
o Autonomia
o Prevenir o efeito “Over the Wall”
Um número de processos deve ser configurados na Organização de Teste Permanente para oferecer serviços. Estes processos são divididos em dois grupos: a Organização de Teste Permanente e os Serviços



Processos de Suporte - Construindo uma Organização de Teste Permanente

Quando uma empresa decide usar uma Organização de Teste Permanente, um processo é iniciado para criar esta organização.

Criar uma Organização de Teste Permanente representa uma mudança organizacional, pois uma nova unidade organizacional será construída, e em alguns casos isso significa que pessoas terão que mudar de departamentos e conseqüentemente suas tarefas, autorizações e responsabilidades.
Esta atividade de construir uma Organização de Teste Permanente é um processo de longo prazo, podendo levar meses ou até mesmo anos.
Criar uma Organização de Teste Permanente envolve seis atividades:



1. Inventário
2. Definição
3. Organização
4. Conscientização
5. Piloto
6. Implementação

Processos de Suporte - Ambientes de Teste

Um ambiente de teste apropriado é necessário para o teste dinâmico de um objeto de teste.

Um ambiente de teste é um sistema de componentes como hardware e software, interfaces, dados de ambiente, ferramentas de gestão e processos, aonde um teste é executado
A instalação(configuração) e composição de um ambiente de teste, portanto, dependem do objetivo do teste.
Além de ser representativo, gerenciável e flexível, o ambiente de teste também deve garantir a continuidade da execução do teste.
Existe ainda o modelo DTAP(Development, Test, Acceptance e Production) mencionado no TMap Next.

Para prevenir problemas no ambiente de teste, processos precisam ser estabelecidos para a gestão da configuração e manutenção dos ambientes. Esses processos de gestão são:

o Gestão de Configuração(Configuration Management)
o Gestão de Mudanças(Change Management)
o Gestão de Liberações(Release Management)

Processos de Suporte - Ferramentas de Teste

Para executar os testes de forma eficiente, ferramentas em forma de ferramentas de teste são necessárias.

Ferramentas de teste são instrumentos automáticos que suportam uma ou mais atividades de teste tais como: Planejamento, Controle, Especificação e Execução

As ferramentas de teste apóiam na execução de determinadas atividades nas várias fases Tmap Next. Existem diferentes tipos de ferramentas de teste, que podem ser classificadas em quatro grupos:

o Ferramentas para planejamento e controle do teste:

o Ferramenta para gerenciamento de testware
o Ferramenta para gerenciamento de defeitos
o Ferramenta para planejamento de progresso
o Ferramenta de workflow

o Ferramentas para a elaboração/especificação do teste:

o Ferramenta para dados de teste
o Ferramenta para design de teste
o Ferramenta para teste baseados em modelos(modelo-based testing)

o Ferramentas para a execução do teste

o Ferramenta para teste automatizado
o Ferramenta para testes de performance, carga e stress
o Ferramenta de monitoração
o Ferramenta para cobertura de código
o Comparadores
o Ferramentas de manipulação de banco de dados
o Simuladores
o Stubs e drivers
o Ferramentas para depurar e analisar o código-fonte

As atividades no processo de teste suportadas por ferramentas de teste e como serão configuradas depende de uma política para ferramentas.

A Política de Ferramentas de teste descreve como uma organização lida com a aquisição, implementação e utilização de ferramentas de teste em várias situações

Processos de Suporte - Profissionais de Teste

Uma grande variedade de expertise é requerida para um testador para que possa desempenhar suas funções adequadamente.

o Domínio(Ex: processos lógicos e relatórios financeiros)
o Infra-estrutura(Ex: ambientes de teste, plataformas de desenvolvimento, ferramentas de teste, etc.)
o Teste de software

As principais características genéricas de um profissional trabalhando com teste de software devem ser:

o Comunicação, fala e escrita
o Precisão, foco nos detalhes e raciocínio analítico
o Convincente e perseverante
o Objetivo e crítica positiva
o Criatividade e sensibilidade

Uma das maneiras de profissionalizar o teste dentro das organizações é oferecer uma carreira em teste de software para os profissionais. A carreira em cubo é a proposta do TMap Next para este fim:

As possíveis posições de um profissional de teste baseadas no modelo de carreira em cubo são:

o Posições Júniores: Testador e programador de ferramentas de teste
o Posições Intermediárias: Especialista em métodos de teste, coordenador de teste e especialista em ferramentas de teste
o Posições Seniores: Consultor de teste, gerente de teste e consultor em ferramentas de teste

Referências e Links:


- Livros utilizados para a base deste artigo e materiais de apoio 1. TMap Next, for result-driven testing
2. Software Testing: A guide to the TMap Approach
3. End-to-end testing with TMap Next

- Links
- Site TMap Next: http://eng.tmap.net/Home
- TMap Next Downloads: http://eng.tmap.net/Home/TMap/Downloads/index.jsp
- Glossário TMap Next: http://eng.tmap.net/Home/TMap/Glossary.jsp
Fábio Martinho Campos

Fábio Martinho Campos - Bacharel em Computação pela UNITAU (Universidade de Taubaté), MBA em Gestão de Projetos pelo IPT (Instituto de Pesquisas Tecnológicas-USP). Trabalhou no INPE-MCT (Instituto Nacional de Pesquisas Espaciais) em São José dos Campos como analista de sistemas e desenvolvedor web da Intranet e Internet por dois anos. Trabalhou na empresa alemã Liebherr Guindastes e Máquinas Operatrizes como analista de sistemas e desenvolvedor web, atuando também como analista de processos para o projeto de GED (Gerenciamento Eletrônico de Documentos) da empresa. Na IBM Brasil trabalhou por um ano como analista de teste no GTO (Global Test Organization) e SEA&T (System Engineer Architecture and Test) no projeto internacional Blue Horizon Configurator. Ainda na IBM trabalhou no Projeto CADU e SCFI do Banco Bradesco. Possui as certificações CBTS (Certificação Brasileira de Teste de Software), CQA (Certified Quality Assurance), CST (Certified Software Testing), COBIT(ISACA), ISTQB/ISEB(CTFL) e IBM Certified Specialist – Software Quality. É palestrante da disciplina de Teste de Software e Qualidade de Software, contribui para o crescimento do mercado de Teste de Software no Brasil através de palestras e eventos em universidades.