Gerência - Qualidade e Testes

TMap Next Test Management Approach - As 4 Essências do TMap Next - Parte 3

No clima empresarial desafiador de hoje, as organizações estão se concentrando em extrair ao máximo de seus negócios o valor de seus produtos e serviços...

por Fábio Martinho Campos



No clima empresarial desafiador de hoje, as organizações estão se concentrando em extrair ao máximo de seus negócios o valor de seus produtos e serviços.Conseqüentemente, a entrega rápida e qualidade de software continuam a se tornar mais importante e os riscos de uma maior qualidade de software insuficientes.

O teste é uma das ações importantes que uma organização pode tomar para controlar esses riscos. Teste fornece “insights” sobre a qualidade e os riscos associados à qualidade.

Com base nestes insights, as organizações podem tomar melhores decisões sobre a possibilidade de ter o software em funcionamento em produção sendo um dos objetivos do teste estruturado a gestão de forma eficaz destes riscos.

Diz o TMap Next:

“NO RISK, NO TEST!!!”

Ou seja, se não houver risco(no produto) não há a necessidade de se testar. Tal afirmação se torna ainda mais forte ao lembrarmos-nos do conceito de teste para o TMap Next que é fornecer conselhos na qualidade dos produtos e riscos associados.

O TMap Next define que um risco do produto é a chance que o produto falha em relação ao estrago esperado, se isto ocorrer.

O teste é uma das ações importantes que uma organização pode tomar para controlar esses riscos. Teste fornece “insights” sobre a qualidade e os riscos associados à qualidade.

Com base nestes insights, as organizações podem tomar melhores decisões sobre a possibilidade de ter o software em funcionamento em produção sendo um dos objetivos do teste estruturado a gestão de forma eficaz destes riscos.

O conteúdo específico do TMap Next por uma abordagem de testes estruturados pode ser resumidos em 4 essências:

TMap Next é baseado na abordagem BDTM – Business Driven Test Management, ou seja, Gerenciamento de Testes Dirigido(ou direcionado) aos Negócios.

TMap Next descreve um processo estruturado.

TMap Next contém uma caixa de ferramentas completa.

TMap Next é um método de teste adaptativo.

Onde:

A primeira essência pode ser diretamente relacionada ao fato de que o processo de negócios de TI está se tornando cada vez mais importante para as organizações. (Essência 1)

A abordagem BDTM fornece conteúdo que aborda esse fato no TMap Next e pode ser visto como o "fio condutor" do processo de teste estruturado TMap Next. (Essência 2)

O modelo de ciclo de vida TMap Next é utilizado na descrição do processo de teste.Além disso, vários aspectos no campo da infra-estrutura, técnicas e organização devem ser configurados para executar o processo de teste corretamente.TMap Next fornece uma grande quantidade de informação aplicáveis a esta prática, sob a forma de por exemplo: checklists, descrições técnicas, procedimentos, estruturas de organização do teste, ambientes de teste e ferramentas de teste. (Essência 3)

TMap Next também tem uma configuração flexível de modo que este possa ser aplicado em diferentes situações de desenvolvimento do sistema: tanto para o desenvolvimento de novos e manutenção de um sistema, um sistema de auto-desenvolvimento ou um pacote adquirido e para a terceirização do processo de teste.Em outras palavras, TMap Next é um método adaptativo. (Essência 4)

TMap next é Baseado na Abordagem BDTM – Business Driven Test Management

O Que é Direcionado aos Negócios(Business Driven)?

A chave para o teste é que os testes são executados com base em casos de testes, checklists, etc. Mas que tipo de testes são eles?

Para assegurar a utilidade dos testes, os mesmos devem testar as características e as partes de um objeto de teste que representa um risco se ele não funcionar adequadamente em produção. Isto significa que várias considerações já foram feitas antes da execução do teste começar.Em outras palavras, alguma estimativa já tenha sido dada para as partes do objeto de teste que não serão testadas e as partes que devem deve ser testadas, como e com que abrangência(cobertura).

Por que não testar todas as partes do objeto de teste o melhor possível? Acreditamos que a resposta é simples, porém pouco aplicável:

Organizações tem recursos(pessoas, materiais, infra-estrutura, dinheiro, equipamentos etc.) limitados!

Levando-se em consideração a afirmação acima, as escolhas devem ser feitas no que é testado e o quanto será testado. Estas escolhas dependem dos riscos que a organização acha que vai “encarar”, as quantidades disponíveis de tempo e dinheiro bem como o resultado que a organização deseja alcançar.

O fato de que as escolhas são baseadas em riscos, o resultado, o tempo e o custo é chamado Business-Driven e constitui a base para a abordagem BDTM - Business Driven Test Management, ou seja, Gerenciamento dos Testes Direcionado pelos Negócios.

Business Case como Fator Determinante

Projetos de T.I. devem ter uma abordagem com perspectiva econômica. A teoria da Governança de T.I. para controle de projetos está baseada em quatro aspectos: Resultado, Risco, Tempo e Custo. Com isso, normalmente o Business Case é o centro de um projeto de T.I.

“O Business Case provê a justificativa econômica para o projeto e respostas às perguntas: Por que fazemos este projeto, quais  os investimentos  necessários e o que o cliente deseja atingir com o resultado?” (PRINCE, 2000)

Durante o projeto, o Business Case é verificado em marcos pré-determinados para garantir que os resultados ainda permanecem válidos para o cliente. O TMap Next apóia a justificativa de T.I., traduzindo em atividades de teste de software.

Sendo assim, TMap Next assume que a abordagem de um projeto que está baseada no Business Case obedece as seguintes características:

- A abordagem foca em atingir resultados pré-determinados.

- O projeto total para atingir este resultado é realizado dentro do tempo(prazo) disponível.

- O projeto para atingir este resultado é realizado no custo em balanço com os benefícios que a organização espera atingir.

- Os riscos durante são conhecidos e os menores possíveis. Tudo isso dentro do framework direcionado pelas características mencionadas acima.

Sendo que os quatro aspectos da Governança de T.I. são encontrados nos quatro aspectos do TMap Next acima.

Características da abordagem BDTM - Business Driven Test Management

BDTM começa a partir do princípio de que a abordagem de teste selecionada deve permitir que o cliente controle o processo de teste e ajude a determinar a abordagem dos testes, dando ao teste de software um caráter econômico.

BDTM tem as seguintes características específicas:

- O esforço total do teste está relacionado com os riscos do sistema a ser testado para a organização: O fornecimento de pessoas, recursos e budget são focados em partes do sistema que são mais importantes para a organização. No TMap Next, a estratégia de teste combinada com o esforço estimado é o instrumento para dividir o esforço de testes nas partes do sistema.

- A estimativa e planejamento para o processo de teste estão relacionados com a estratégia de testes definidos: Se mudanças são implementadas que tem impacto no teste para as várias partes do sistema ou sistemas, isto é traduzido imediatamente para uma mudança no planejamento e/ou estimativas. A organização assim é garantida de uma visão adequada do budget requerido, prazos e relacionamento com a estratégia de testes.

- Em vários momentos no programa de testes, o cliente é envolvido em fazer escolhas: A vantagem é que o processo de teste combina desejos e requisitos, e, portanto as expectativas da organização o mais adequado possível. Além disso, BDTM provê visão para as conseqüências do futuro e escolhas do passado de forma explícita.

Passos na Abordagem BDTM

Formulação de Atribuições e Coleta de Objetivos de Teste (Assignment and test goals)

Em consulta com o cliente, o gerente de teste formula as atribuições, levando-se em consideração os 4 aspectos do BDTM: resultado, risco, tempo e custo. O gerente de teste coleta os objetivos de teste para determinar os resultados de teste desejados para o cliente.

“Uma meta de teste(Test Goal) é uma meta que, para o cliente, é relevante para o teste e muitas vezes formuladas em termos de processos de negócio suportados pela T.I., requisitos do usuário realizados ou casos de uso, os fatores críticos de sucesso, propostas de mudança ou riscos a serem cobertos”.

Determinação da classe de risco para cada combinação de características e parte do objeto

Quando múltiplos níveis de teste estão envolvidos, é determinado em um plano quais níveis de teste devem ser criados(Plano de Teste). É freqüentemente determinado na base de uma PRA(Produt Risk Analysis) o que deve ser testado(partes do objeto) e o que deve ser investivado(características).

Se apenas um nível de teste está envolvido ou nenhuma PRA(Produt Risk Analysis) foi realizada no nível do plano de testes, uma PRA é realizada no nível de teste relevante.

Determinar se uma combinação de características e parte do objeto deve ser testado profundamente ou de forma mais abrangente

A profundidade do teste, a classe do risco por parte do objeto determinado no passo anterior é usado como um ponto de partida(starting point).

A princípio, o seguinte é aplicado: quanto maior o risco, mais profundo será o teste requerido!

Uma estimativa global é feita para o teste e ùm planejamento criado

Isto é comunicado com o cliente e stakeholders e, dependendo de suas visões, ajustes são feitos conforme necessidade.

Neste caso, passos 3 e 4 são executados mais uma vez. Esta ênfase dá ao cliente controle do processo de teste, permitindo ele gerenciar baseado no balanço entre resultado e risco por um lado e tempo e custo por outro.

FIM DA ITERAÇÃO

Alocação de técnicas de teste para as combinações de características e parte do objeto

Uma vez acordado com o cliente e stakeholders, o gerente de teste aloca as técnicas de teste em combinação com as características e partes do objeto, sendo levada em consideração a base para os testes(test basis).

Decisões sobre o quão profundo e abrangente é o teste são traduzidas para concretizar a cobertura alvo.

Estas técnicas são usadas para especificar e executar casos de teste(e/ou checklists) num estágio posterior.

Observação: Aqui é aonde o processo de teste primário é iniciado.

Durante o processo de teste, o gerente de teste fornece ao cliente e outras partes interessadas(stakeholders) com uma visão adequada e opções de controle

Durante o processo de teste, o gerente de teste provê ao cliente e outros stakeholders informações relevantes e opções de controle sobre:

- O progresso do processo de teste.

- A qualidade e riscos do objeto de teste.

- A qualidade do processo de teste.

Vantagens Principais da Abordagem BDTM

As principais vantagens de usar o BDTM são:

- O cliente tem controle sobre o processo de testes.

- O gerente de testes comunica e reporta na terminologia do cliente com a informação que é útil no contexto do cliente.

- No nível do Plano de Teste, o detalhamento pode ser tão intenso quanto necessário.

TMap Next Descreve um Processo Estruturado

São quatro os principais processos estruturados de acordo com o TMap Next:

Plano de Teste Mestre(MTP – Master Test Plan), Gerenciando o Processo Total de Testes

O MTP provê visão em vários níveis de teste(test) e avaliação(Evaluation) para serem usados de uma forma que o processo total de teste seja otimizado.

O processo “Plano de Teste Mestre, Gerenciando o Processo Total de Testes” é dividido em duas fases:

- Fase de Planejamento do Processo Total de Testes

O autor do MTP, muitas vezes o gerente de teste formula as atribuições, levando em conta os quatro aspectos do BDTM em consulta com o cliente: resultado, risco, tempo e custo.

Nesta fase, os quatro primeiros passos do BDTM são executados:

Realizar a PRA(Product Risk Analysis)

Estabelecer a estratégia de testes

Estimar

Planejar

Outras atividades na criação do plano são dedicadas a temas como a organização do teste, a infra-estrutura de teste e a gestão do teste, visando não reinventar a roda em vários níveis de teste.

Como última atividade, o gerente de teste envia o MTP para o cliente para aprovação.

- Fase de Controle do Processo Total de Testes

O objetivo desta atividade é controlar o processo de teste, infra-estruturas e produtos de teste a nível global para fornecer informações contínuas sobre a evolução e qualidade do processo de teste e qualidade total do objeto de teste.

Conforme a freqüência e forma definida no plano de teste, os relatórios são elaborados sobre a qualidade do objeto de teste e progressos realizados, e da qualidade do processo de teste.

O cliente recebe reportes periódicos e reportes pontuais, conforme necessidade. Tais reportes e ajustes são partes fundamentais do BDTM e tem lugar em ambos os níveis: MTP e nível de teste.

Testes de Sistema e Aceite

O teste de Sistema e Aceite são considerados como processos autônomos para serem organizados. Eles têm os seus próprios planos de teste, seu próprio orçamento e muitas vezes seu próprio ambiente.

São processos correndo em paralelo ao processo de desenvolvimento, que devem ser iniciados enquanto as especificações funcionais são criadas.

O modelo de ciclo de vida do TMap Next é usado tanto na criação do plano de teste e quanto na execução de outras atividades no processo de teste

Modelo de Ciclo de Vida do TMap Next

Assim como no processo de desenvolvimento de sistemas, o processo de teste consiste de várias atividades. Um ciclo de vida de teste é necessário para estruturar várias atividades, suas ordens e dependências.

O modelo de ciclo de vida é um modelo genérico e pode ser aplicado a todos níveis e tipos de teste de teste e utilizado em paralelo com os modelos de ciclo de vida para o desenvolvimento do sistema.

Apresentando meu ponto de vista pessoal, o modelo de ciclo de vida TMap Next baseia-se fortemente no conceito 5W2H:

What – O que será feito? (etapas)
Why – Por que será feito? (justificativa)
Where – Onde será feito? (local)
When – Quando será feito? (tempo)
Who – Por quem será feito? (responsabilidade)
How – Como será feito? (método)
How much – Quanto custará fazer? (custo)

No modelo de ciclo de vida oficial do TMap Next, as atividades de teste são divididos em sete fases:

- Planejamento (Planning)

- Controle (Control)   

- Configuração e Manutenção da Infra-Estrutura (Setting up and Maintaining Infrastructure)

- Preparação (Preparation)

- Especificação (Specification)

- Execução (Execution)

- Conclusão (Completion)

Sendo que cada uma das fases acima é dividida em várias atividades.

Se compararmos o processo de teste com um iceberg, apenas a fase de execução estaria visível. Isso significa que apenas a fase de execução deveria estar no caminho crítico de um projeto.

O formato do modelo de ciclo de vida do TMap Next é um paralelogramo, o que mostra que as fases de teste não tem que ser executadas rigidamente em seqüência.

O relacionamento entre o ciclo de vida do TMap Next e ciclo de vida de desenvolvimento de sistemas depende da metodologia de desenvolvimento utilizada e o nível de teste respectivo. No entanto, dois relacionamentos são fixos:

- O início da fase de Preparação tem um relacionamento com o momento em que a base de teste(test basis) torna-se disponível.

- O início da fase de Execução tem um relacionamento com o momento o qual o objeto de teste(test object) torna-se disponível.

Vamos agora conhecer em detalhes cada um das sete fases do TMap Next.

Modelo de Ciclo de Vida do TMap Next - Planejamento

Na fase de planejamento, o gerente de teste formula uma abordagem coerente que é suportada pelo cliente para realizar adequadamente a tarefa de teste. As atividades executadas nesta fase criam a base para um processo de teste gerenciável e de alta qualidade.

Organizações não têm dinheiro nem tempo para testar o sistema de forma completa! Por isso, a estratégia de teste, estimar e planejamento são determinados de acordo com o processo de análise de riscos(BDTM 1 - 4).

É no planejamento também que ocorre a determinação das técnicas de teste utilizadas(BDTM 5).

Os primeiros passos para a configuração de uma organização e infra-estrutura de testes são criados.

Modelo de Ciclo de Vida do TMap Next - Controle

Na fase de controle, as atividades no plano de teste são executadas, monitoradas e ajustadas, se necessário.

Fornecer ao cliente uma visão adequada e controle sobre o progresso e qualidade do processo e objeto de teste. Se necessário, o gerente de teste propõe ao cliente medidas de controle específicas de acordo com suas necessidades.

O Gerente de Testes provê informações como demoras no desenvolvimento, grandes mudanças de escopo e ajustes de projeto.

  

Informação é o principal produto de teste! O gerente de teste cria diferentes tipos de relatórios para os vários tipos de stakeholders, levando-se em consideração os aspectos do BDTM: resultado, risco, tempo e custo.

Modelo de Ciclo de Vida do TMap Next - Configuração e Manutenção da Infra-Estrutura

A fase de configuração e manutenção da infra-estrutura visa fornecer a infra-estrutura e recursos necessários de teste que são usados em várias fases do e atividades TMap Next.

Existe uma distinção entre: ambientes(environment), ferramentas(tools) e local de trabalho(workplace).

Geralmente a configuração e manutenção da infra-estrutura pertence a outra área dentro da organização e requer outros conhecimentos que testadores não possuem, porém são altamente dependentes da infra-estrutura e ambientes. Se não há ambientes, não há teste!.

Esta fase é realizada em paralelo com as fases de Preparação, Especificação, Execução e Conclusão.

Modelo de Ciclo de Vida do TMap Next - Preparação

O time de teste terá acesso a uma base de testes de qualidade para se criar casos de teste, a qual foi acordada com o cliente do teste.

Realização de revisões de testabilidade da base de teste(test basis) como forma de melhorar a qualidade e prevenir erros potencialmente caros também fazem parte desta fase.

A equipe de desenvolvimento trabalha no sistema a partir de informações nas documentações do projeto. Tais documentações podem conter erros, causando freqüentemente altos custos de correção de trabalho.

O quanto antes um erro for encontrado no processo de desenvolvimento, mais fácil(e barato) será corrigir.

Modelo de Ciclo de Vida do TMap Next - Especificação

A fase de especificação elabora os testes e situações de início necessárias. A meta é preparar o maior número de testes possíveis que possam ser executados quando o desenvolvimento entregar o objeto de teste(test object)

Esta fase inicia uma vez que a revisão da testabilidade foi realizada.

A especificação dos testes corre em paralelo com a construção do software(Na fase Realisation do Modelo V já apresentado em TMap Next(Test Management Approach) - Framework e Importância do Teste - Parte 2).

Modelo de Ciclo de Vida do TMap Next – Execução

A meta da fase de execução é ter uma visão da qualidade sobre o objeto de teste, executando-se os testes acordados.

O objeto de teste é instalado no ambiente de teste. Executa-se um primeiro teste também chamado de pré-teste, para avaliar se o objeto de teste está funcionando adequadamente para um teste mais extensivo.

O teste pode ser executado na forma de scripts de teste criados na fase de especificação. Os resultados de teste verificados durante a execução.

As diferenças entre os resultados previstos e atuais são registrados na forma de relatórios de defeitos

Modelo de Ciclo de Vida do TMap Next – Conclusão

A abordagem por testes estruturados do TMap Next traz muitos benefícios na capacidade de se repetir o processo, permitindo que produtos possam ser reutilizados, acelerando assim algumas atividades.

Produtos tangíveis podem ser casos de teste, ambientes e produtos intangíveis tais como experiência(avaliação do processo). O processo de teste é também avaliado nesta fase.

A meta é aprender das experiências adquiridas e aplicar lições aprendidas em um novo projeto. Durante a fase de controle, o Gerente de Testes prepara o relatório final de testes e apresenta nesta fase.

Testes de Desenvolvimento

Os testes de desenvolvimento entendem-se por testar a aplicação usando o conhecimento técnicos do sistema. Isso começa com o teste das menores partes do sistema: as rotinas, as unidades, programas, módulos, objetos, etc.

 

Depois de ter provado que as partes mais elementares do sistema são de qualidade aceitável, as partes maiores do sistema são submetidas a testes de integração. A ênfase no caso acima é sobre a transferência de dados e interface entre, por exemplo,unidades até o nível do subsistema.

É importante ressaltar que o TMap Next chama de testes de desenvolvimento os populares e mais conhecidos testes unitários.

O Lugar do Desenvolvimento de Testes

Os testes de desenvolvimento são parte integrante do trabalho de desenvolvimento executada pelo desenvolvedor. Os testes não estão organizados como um processo autônomo para uma equipe independente.

Apesar disso, uma série de atividades diferentes para o processo de teste de desenvolvimento, com sua ordem e as dependências mútuas, podem ser identificados e descritos com o auxílio do modelo de ciclo de vida TMap Next.

A elaboração detalhada poderá variar por projeto ou organização, e depende, entre outras coisas, sobre o método de desenvolvimento utilizado e a disponibilidade de medidas de qualidade.

Uma medida importante de qualidade é o conceito da qualidade acordada. Para este efeito, as expectativas do cliente em relação à qualidade do produto devem ser explicitadas durante o planejamento para realização de testes de desenvolvimento.

Outros exemplos de medidas de qualidade são: desenvolvimento dirigido por testes, revisão de código, programação em pares, integração contínua, etc.

Diferenças entre Testes de Desenvolvimento e Testes de Sistema e Aceite

O teste de desenvolvimento(teste unitário) possui características únicas que o diferenciam dos testes de sistema e aceite. São elas:

- Ao contrário dos testes de sistema e aceite, testes de desenvolvimento não podem ser organizados como um processo autônomo para mais ou menos times independentes.

- Teste de desenvolvimento usa o conhecimento técnico da implementação do sistema, assim detecta outros tipos de defeitos que o teste de sistema e aceite não descobre.

- No teste de desenvolvimento, a pessoa que detecta o defeito, em geral, é a mesma pessoa que resolve o problema.

- A perspectiva do teste de desenvolvimento é que todos os defeitos detectados são resolvidos antes que o software é entregue.

- É a primeira atividade de teste, o que significa que todos os defeitos ainda estão no produto.

- Normalmente, os próprios desenvolvedores executam os testes de desenvolvimento.

Suporte

À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:

Política de teste

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 descreve como uma organização lida com as pessoas, recursos e métodos envolvidos no processo de teste em várias situações.”

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

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:

- A organização do teste permanente, como um centro de teste de conhecimentos(TEC - Test Expertise Centre).

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

Organização de Teste Permanente – TEC(Test Expertise Centre)

A TEC é, sobretudo, 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.

Oferecer conselhos sobre uma abordagem de teste ou ferramenta a ser utilizada. As atividades são sempre realizadas sob a responsabilidade do projeto.

Organização de Teste Permanente – TF(Test Factory)

A TF aceita uma "obrigação de apresentar resultados" para muitos dos seus serviços. O processo pode ser comparado a uma fábrica com o pessoal permanente (testadores), máquinas(infra-estrutura), procedimentos padronizados de trabalho, etc.

Diferentes clientes(departamentos, projetos, sistemas) podem terceirizar suas atribuições de teste por completo com este tipo de organização do teste.

O cliente tem as suas atribuições para a organização de 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 epossíveis defeitos nos objetos testados), no prazo acordado.

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.

Ambientes de Teste – Processos para Manter um Ambiente de Teste

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:

- Gestão de Configuração(Configuration Management)

- Gestão de Mudanças(Change Management)

- Gestão de Liberações(Release Management)

- Gestão de Incidentes(Incident Management)

- Gestão de Problemas(Problem Management)

- Gestão de Dados(Data Management)

Ferramentas de teste

Para executar os testes de forma eficiente, 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:

- Ferramentas para planejamento e controle do teste.

- Ferramentas para a elaboração/especificação do teste.

- Ferramentas para a execução do teste.

- Ferramentas para depurar e analisar o código-fonte.

As ferramentas de teste fornecem ainda vantagens como aumento de produtividade, maior qualidade dos testes, aumento da satisfação do trabalho e opções de extensão dos testes.

Profissionais de teste

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

- Domínio(Ex: processos lógicos e relatórios financeiros).

- Infra-estrutura(Ex: ambientes de teste, plataformas de desenvolvimento, ferramentas de teste, etc.).

- Teste de software.

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

- Comunicação, fala e escrita.

- Precisão, foco nos detalhes e raciocínio analítico.

- Convincente e perseverante.

- Objetivo e crítica positiva.

- 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:

- Posições Juniores: Testador e programador de ferramentas de teste

- Posições Intermediárias: Especialista em métodos de teste, coordenador de teste e especialista em ferramentas de teste

- Posições Seniores: Consultor de teste, gerente de teste e consultor em ferramentas de teste

Mais informações sobre este tema(Profissionais de teste) serão apresentadas no post Estrutura Organizacional, Carreira e Certificações comTMap Next.

TMap Next Contém uma Caixa de Ferramentas Completa

TMap Next suporta a execução correta do processo de teste estruturado com uma caixa de ferramentas completa.A caixa de ferramenta se concentra no trabalho com os seguintes temas:

Técnicas: Como é testado?

Muitas técnicas podem ser utilizadas no processo de teste utilizando o TMap Next. Além disso, inúmeros checklists, planilhas e material complementar como templates estão disponíveis gratuitamente no site do próprio TMap Next(vide lista de links no final deste artigo).

“Técnica de teste é um conjunto de ações com o objetivo de criar entregáveis de teste a partir de um método universal.”

TMap Next fornece técnicas para:

- Estimativas de teste

Estimativas podem ser feitas em vários níveis diferentes:

A escolha das técnicas de estimativa em particular é uma etapa que exige experiência.Pode-se escolher entre várias técnicas de estimativas:

- Estimativa baseada em relações.Aqui, o esforço de teste é geralmente medido contra o esforço de desenvolvimento, por exemplo,em proporções percentuais.

- Estimativa baseada no tamanho do objeto de teste.

- Estimativa usando uma WBS(Work Breakdown Structure).

- Estimativas proporcionadas com base no orçamento total do teste.

- Estimativa com base na experiência de extrapolação de dados desde o início do programa de testes.

- Estimativa com base no tamanho e estratégia usando a Análise de Pontos de Teste(TPA – Test Point Analysis) do TMap Next.

- Gestão de defeitos

Um defeito é uma diferença observada entre a expectativa ou previsão e os resultados reais. Enquanto a administração e monitoramento de defeitos é factualmente uma questão de projeto e não dos testadores, os mesmos geralmente são muito envolvidos no processo.

Uma boa administração deve ser capaz de controlar o ciclo de vida de um defeito e proporcionar visões diferentes. Estas visões são utilizadas, entre outras coisas, para se fazer declarações bem fundamentadas sobre a qualidade

- Criação de métricas

A definição, manutenção e utilização de métricas são importantes para o processo de teste, pois permite que o gerente de teste dê uma resposta apoiada pelos fatos para perguntas como:

- Qual é a qualidade do objeto de testes?

- Qual é o progresso do processo de testes?

Uma abordagem estruturada para realizar um conjunto de métricas de teste é o uso do método GQM - Goal-Question-Metric.

Além de descrever o método GQM, o TMap Next dá instruções para configurar um conjunto de métricas práticas de teste para iniciantes. O método também fornece uma lista de verificação que podem ser úteis para se pronunciar sobre a qualidade do objeto a ser testado e da qualidade do processo de teste.

- Análise de risco do produto(PRA – Product Risk Analysis)

A análise de risco do produto(PRA) está analisando o produto a ser testado com o objetivo de alcançar uma visão compartilhada entre o gerente de teste e outras partes interessadas, as características mais ou menos arriscadas e componentes do produto a serem testados para que a profundidade do teste possa ser acordada.

O foco da PRA é sobre os riscos do produto, ou seja, qual é o risco para a organização se o produto não tem a qualidade esperada?

O resultado da PRA constitui a base para as decisões subseqüentes de estratégia como a abrangência, profundidade ou não testar uma característica (Ex: uma característica de qualidade) ou de parte do objeto (componente) do produto a ser testado.

- Especificação de teste

As técnicas de especificação de teste(test design techniques) são métodos padronizados para obter, a partir de uma base de teste(test basis) específica, casos de teste que realizam uma cobertura específica.

A aplicação de técnicas de especificação de teste e sua definição nas especificações dos testes têm várias vantagens:

- Fornece uma elaboração bem fundamentada da estratégia de teste: a cobertura de teste acordada.

- É uma maneira mais eficaz de detecção de defeitos que, por exemplo,casos de teste ad-hoc.

- Os testes são reproduzíveis, porque a ordem e o conteúdo da execução do teste são descritos em detalhe.

- O método padronizado assegura que o processo de teste é independente da pessoa que especifica e executa os casos de teste.

- Se torna mais fácil planejar e gerenciar o processo de teste, pois os processos de especificação de teste e execução podem ser divididos em blocos claramente definidos.

- Avaliação de produtos(Evaluation)

TMap Next descreve e utiliza as técnicas de avaliação:

- Inspeção: Além de determinar se a solução é processada adequadamente, uma inspeção concentra-se principalmente na obtenção de consenso sobre a qualidade de um produto.

- Revisão: Foca principalmente em encontrar cursos para uma solução com base nos conhecimentos e competências dos revisores, e na detecção e correção de defeitos.

- Walkthrough: É um método pelo qual o autor explica o conteúdo de um produto durante uma reunião.

Vários Checklists e Visões Globais

O TMap Next oferece uma grande variedade de checklists de verificação ao testador quando executar determinadas atividades.

Existem listas de verificação que podem ser usadas como apoio na tomada de ações, na determinação de riscos do projeto de teste, no estabelecimento da estratégia de teste, na avaliação do processo de teste, na realização de entrevistas e na determinação se a informação adequadaestá disponível para o uso de uma técnica de especificação de teste.

Infra-estrutura: Aonde e com o que é testado?

Para executar um teste, uma infra-estrutura é necessária.A infra-estrutura é composta:

- Ambientes de teste

Um ambiente de teste apropriado é necessário para o teste dinâmico de um objeto de teste. É também um sistema de componentes como hardware e software, interfaces, dados de ambiente, ferramentas de gestão e processos, aonde um teste é executado.

- Ferramentas de teste

O uso de ferramentas pode ter as seguintes vantagens:

- Aumento da produtividade

- Maior qualidade dos testes

- Aumento da satisfação no trabalho

- Locais de trabalho

Um dos aspectos que muitas vezes é esquecido durante a análise é a disponibilidade de um local de trabalho onde os testadores podem fazer o seu trabalho em boas condições, de forma eficaz e eficiente. Isso significa instalação do escritório, no mais amplo sentido, pois os testadores também devem ser capazes de fazer o seu trabalho em boas condições.

O local de trabalho é, portanto, mais do que apenas o espaço de escritórios e um computador.À primeira vista, o trabalho de um testador não difere muito do trabalho regular. Testadores poderão ter de lidar com a situação que o seu trabalho ainda não está preparado para o novo software.

Organização: Quem testa?

Processos de teste que não são suficientemente organizados costumam ter resultados desastrosos.

O envolvimento de muitas disciplinas diferentes gera conflitos de interesses, imprevisibilidade, complexas tarefas de gerenciamento, falta de experiência e a pressão do tempo faz com que a criação e gerenciamento de teste uma tarefa complexa.

A organização do teste pode ser vista como a criação de um relacionamento eficaz entre as funções de teste, test facilities e atividades de teste para o aconselhamento da qualidade no tempo certo.

TMap Next é um Método de Teste Adaptativo

O TMap Next é uma abordagem que pode ser aplicado em todas as situações de teste e em combinação com qualquer outra metodologia de desenvolvimento do sistema.além disso, o TMap Next oferece ao testador uma série de elementos para seu testes como técnicas de especificação de teste , infra-estrutura de teste, estratégia de teste, organização do teste, ferramentas de teste, entre outros.

Dependendo da situação, o testador seleciona os elementos do TMap Next que ele vai implantar. A adaptabilidade do TMap Next não é focada em um aspecto específico do método, mas é incorporado em todo o método.

Adaptabilidade é mais do que apenas ser capaz de responder ao ambiente em mudança. Também é capaz de potencializar a mudança para o benefício dos testes. Isto significa que o TMap Next pode ser usado em qualquer situação e em situações de mudança.No curso dos projetos e testes, as mudanças podem ocorrer que têm um impacto sobre os acordos anteriores.

Com isso, o TMap Next oferece os elementos para lidar com tais mudanças. Adicionalmente, o TMap Next pode ser resumido em quatro propriedades de adaptabilidade:

- Responder às mudanças

Adaptabilidade começa com a determinação das mudanças e responder a elas. No TMap Next isso acontece desde o início nas primeiras atividades do Plano de Teste Mestre(MTP).

Ao determinar e fazer o balanço do trabalho, a obtenção de uma visão para o ambiente em que o teste é executado e eventuais alterações estabelecem um papel importante e é precisamente aonde a base é criada para a elaboração e implementação do método.

A estratégia de teste e respectivo planejamento são definidos em estreita consulta com o cliente.Se a estratégia de testes, estimas e planejamento não são aceitáveis para o cliente, o plano é adaptado. Esta ênfase dá o controle do processo de teste ao cliente, permitindo-lhe gerir com base no equilíbrio entre o resultado e o risco de um lado e do tempo e custo, por outro.

Tal feedback é fornecido durante o programa de testes e na fase de controle, o gerente de teste também pode decidir adaptar certos aspectos do plano de teste, em consulta com o cliente.

- (Re)utilizar produtos e processos

Ser capaz de utilizar os produtos e processos com rapidez é uma exigência de adaptabilidade. O TMap Next oferece essa possibilidade graças à grande quantidade de ferramentas incluídas na forma de técnicas de teste, checklists, modelos, entre outros.

Em adição ao uso, o reuso desempenha um papel importante.A ênfase a este respeito se encontra na fase de Conclusão, aonde as atividades são definidas para identificar o que pode ser reutilizado e como pode ser preservado. O TMap Next oferece várias formas de organização do teste para a reutilização de produtos e processos.

- Aprenda com a experiência

Como método, TMap Next oferece o espaço para aprender e aplicar o que foi usado. Portanto, a atividade de avaliação do processo de teste é incorporada no processo de teste.

Outro instrumento importante é o uso de métricas. Para o processo de teste, métricas sobre a qualidade do objeto de teste, progresso e da qualidade do processo de teste são extremamente importantes.

Métricas são usadas para gerenciar o processo de teste, para justificar recomendações de teste e comparar sistemas ou processos de teste. Métricas são igualmente importantes para melhorar o processo de teste através de avaliação de conseqüências de certas medidas de melhoria.

- Experimente antes de usar

O TMap Next oferece espaço para tentar algo antes que seja efetivamente utilizado. Os principais instrumentos aqui são as atividades relacionadas com o consumo. O consumo da base de teste, da infra-estrutura de teste, e do objeto de teste permite tentar primeiro antes de utilizar.

Outra forma de tentar antes de usar, portanto, é a personalização do TMap Next para atender a uma situação específica. A seleção pode ser feita a partir de todos os elementos TMap Next para conseguir isso.

Após a abordagem ser customizada para a situação e piloto realizado, pode-se implementar em toda a organização.

Referências e Links:

- Livros utilizados para a base deste artigo e materiais de apoio

TMap Next, for result-driven testing

Software Testing: A guide to the TMap Approach

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.