Mentor de Ferramentas: Executando Testes de Desenvolvedor Utilizando o Rational Test RealTime
Este mentor de ferramenta descreve como implementar testes utilizando o RationalTest RealTime.
Ferramenta: Rational Test RealTime
Relacionamentos
Descrição Principal

Visão Geral

O Test RealTime integra três ferramentas de teste:

  • O Teste de Unidade automatiza os testes do componente de software C e Ada.
  • O Teste de Objeto é uma abordagem orientada por objeto para testar o comportamento do código C++.
  • O Teste do Sistema é um ambiente poderoso para testes dos aplicativos baseados em mensagem.

A escolha da ferramenta de teste que deve ser utilizada com o aplicativo depende do ambiente de desenvolvimento e da natureza do aplicativo. Para cada ferramenta de teste, é necessário desenvolver um script de teste dedicado.

Antes de gravar os testes reais no seu aplicativo, o Test RealTime requer que você crie o projeto de teste e vincule-o a um aplicativo em teste.

Etapas da Ferramenta

Para criar um script de teste no Test RealTime, faça o seguinte:

  1. Execute o Assistente de Teste do Componente
  2. Digite os Dados de Teste e os Resultados Esperados
  3. Modifique o Comportamento do Stub

1. Execute o Assistente de Teste do Componente

O Test RealTime oferece um assistente de teste de componente que, quando executado, analisa o código fonte especificado e gera um sistema de ferramentas de teste totalmente executável. Tudo o que resta para o desenvolvedor certificar-se de que o código fonte seja testado conforme desejado é definir o comportamento do stub (consulte a segunda Etapa da Ferramenta) e digitar os dados de teste e os resultados esperados (consulte a terceira Etapa da Ferramenta).

NOTA: O uso do assistente de teste de componente não é obrigatório - todos os arquivos e o código necessários para suportar um teste podem ser gerados manualmente. No entanto, o assistente pode facilitar bastante. Em ambas as formas, a execução e o relatório do teste são automatizados.

É possível acessar o assistente de teste do componente de uma das duas formas a seguir. Ambos os métodos consideram que um projeto do Test RealTime já esteja aberto

  • Selecione o link Atividades localizado no lado esquerdo da Página Inicial do Test RealTime. Selecionando esse link, é exibida uma lista com as três atividades principais que podem ser escolhidas pelo desenvolvedor. Para executar testes do componente, o desenvolvedor agora deve selecionar o link Teste do Componente.

  • Clique com o botão direito do mouse em um arquivo de origem/classe/método/função/procedimento no Navegador do Recurso da Janela Projeto, localizado no lado direito do Test RealTime. A seleção da opção Teste... no menu pop-up abre o assistente de teste do componente.

A principal diferença entre esses dois métodos para iniciar o assistente de teste do componente é que a primeira opção requer que o usuário selecione o(s) arquivo(s) de origem que contém as funções/métodos/procedimentos a serem testados - a segunda opção já sabe qual arquivo de origem será utilizado e, assim, ignora as etapas iniciais do assistente de teste do componente.

Em ambos os casos, o desenvolvedor solicitará a seleção de um Modo de Teste - Typical ou Expert. A diferença principal está relacionada ao comportamento desejado do stub. Como um lembrete, um stub é "um componente que contém a funcionalidade de testes" - ou seja, um componente projetado para agir de forma predefinida para facilitar os testes de algum outro componente do sistema. No Modo Typical, o Test RealTime gerará automaticamente um gabarito stub para qualquer função/método/procedimento explicitamente mencionado no(s) arquivo(s) de origem selecionado(s). O Modo Expert permite selecionar adicionalmente componentes não mencionados explicitamente no(s) arquivo(s) de origem escolhido(s). De qualquer forma, a funcionalidade real desses stubs será definida posteriormente - consulte a segunda Etapa da Ferramenta a seguir.

Quando o assistente for executado até a conclusão, o Test RealTime cria um nó no projeto ativo. Esse nó contém uma referência para o(s) arquivo(s) de origem selecionado(s) assim como para os arquivos obrigatórios para a criação do sistema de ferramentas de teste. Esses arquivos adicionais devem ser modificados para:

  • definir o comportamento do stub
  • especificar a data utilizada para realizar as funções/métodos/procedimentos em teste
  • especificar resultados esperados para cada conjunto de dados de entrada

Para as linguagens C, C++ e Ada, o sistema de ferramentas de teste, os stubs de teste e as linguagens do script de teste foram construídos pelo Rational Software para acomodar as complexidades específicas dessas linguagens. Para Java, o Test RealTime utiliza Java como a linguagem do script de teste e baseia o sistema de ferramentas de teste e as estruturas do stub de teste na estrutura JUnit (http://www.junit.org).

ícone de manual Para obter informações detalhadas, consulte o capítulo Graphical User Interface ->Activity Wizards->Component Testing Wizard do Rational Test RealTime User Guide.

2. Digite os Dados de Teste e os Resultados Esperados

Os scripts de teste gerados pelo assistente de teste do componente podem ser executados imediatamente. No entanto, até que o desenvolvedor especifique os dados reais com os quais conduzir o componente em teste - assim como os valores de saída esperados - o teste não será muito útil nem informativo.

Cada linguagem suportada pelo Test RealTime facilita a criação de teste de uma forma diferente; cada abordagem foi otimizada para as características exclusivas de cada linguagem. C++ é mais exclusivo, porque não somente pode padronizar os testes a serem gerados e executados, mas também podem ser feitas verificações opcionais do contrato. As verificações do contrato agem como asserções - são utilizadas para verificar itens como condições prévias/posteriores e invariantes.

ícone de manual Para obter informações detalhadas sobre as linguagens C e Ada, consulte o capítulo a seguir no Rational Test RealTime User Guide:

  • Automated Testing->Component Testing for C and Ada->C and Ada Test Script->Overview->Test Script Structure
  • Automated Testing->Component Testing for C and Ada->C e Ada Test Script->Ada

    ícone de manual e consulte os seguintes capítulos no Rational Test RealTime Reference Guide

  • Component Testing Scripting Languages->C Test Script Language->C Test Script Language Keywords->ELEMENT...END ELEMENT
  • Component Testing Scripting Languages->C Test Script Language->C Test Script Language Keywords->ENVIRONMENT...END ENVIRONMENT
  • Component Testing Scripting Languages->Ada Test Script Language->Ada Test Script Language Keywords->ELEMENT...END ELEMENT
  • Component Testing Scripting Languages->Ada Test Script Language->Ada Test Script Language Keywords->ENVIRONMENT...END ENVIRONMENT

ícone de manual Para obter informações detalhadas relacionadas à linguagem C+, consulte os capítulos a seguir no Rational Test RealTime User Guide:

  • Automated Testing->Component Testing for C++->C++ Testing Overview

    ícone de manual e consulte os seguintes capítulos no Rational Test RealTime Reference Guide

  • Component Testing Scripting Languages->C++ Test Script Language->C++ Test Driver Scripts

ícone de manual Para obter informações detalhadas relacionadas à linguagem Java+, consulte os capítulos a seguir no Rational Test RealTime User Guide:

  • Automated Testing->Component Testing for Java->Java Testing Overview->About JUnit

    ícone de manual e consulte os seguintes capítulos no Rational Test RealTime Reference Guide

  • Component Testing Scripting Languages->Java Test Primitives

3. Modifique o Comportamento do Stub

Os componentes são projetados para agir de forma específica. Esses componentes, independentemente do seu nível de granularidade, devem responder a um determinado conjunto de entradas em um específico conjunto predefinível de saídas. "Predefinível" significa que os resultados podem ser especificados, de forma explícita ou em algoritmo, antes da execução do teste.

Muito freqüentemente, os componentes requerem a assistência de outros componentes no sistema para executar sua funcionalidade. Esses outros componentes podem ser tão simples como uma função adicional ou tão grandiosos como um subsistema inteiro localizado em outro lugar no sistema. De qualquer forma, não é incomum para o desenvolvedor constatar que seus esforços de testes do componente são atrapalhados pelo fato de que os componentes do qual o seu código dependem não existem, ou pelo menos ainda não estão funcionando confiavelmente. O ato do stub compensa essa dificuldade. (De fato, o stub pode ser utilizado para garantir o funcionamento correto, eliminando toda a dependência no código de terceiros.)

É responsabilidade do desenvolvedor simular corretamente componentes do qual o componente em teste dependa. Simulação correta significa que a funcionalidade de stub deve ser suficientemente precisa para garantir que o êxito ou a falha do componente em teste sempre possa ser rastreado para o componente em si, em vez das informações incorretas produzidas pelos stubs.

O Rational Test RealTime facilita a criação de stubs por meio de linguagens de script de teste suportadas. Especificamente, para obter informações sobre a criação de stubs de teste:

ícone de manual Para obter informações detalhadas sobre as linguagens C e Ada, consulte o capítulo a seguir no Rational Test RealTime User Guide:

  • Automated Testing->Component Testing for C and Ada->C and Ada Test Script->Simulations->Stub Simulation Overview

    ícone de manual e consulte os seguintes capítulos no Rational Test RealTime Reference Guide

  • Component Testing Scripting Languages->C Test Script Language->C Test Script Language Keywords->STUB
  • Component Testing Scripting Languages->Ada Test Script Language->Ada Test Script Language Keywords->STUB

ícone de manual Para obter informações detalhadas relacionadas à linguagem C+, consulte os capítulos a seguir no Rational Test RealTime User Guide:

  • Automated Testing->Component Testing for C++->C++ Testing Overview->C++ Test Driver Script

    ícone de manual e consulte os seguintes capítulos no Rational Test RealTime Reference Guide

  • Component Testing Scripting Languages->C++ Test Script Language->C++ Test Script Keywords->STUB

ícone de manual Para obter informações detalhadas relacionadas à linguagem Java+, consulte os capítulos a seguir no Rational Test RealTime User Guide:

  • Automated Testing->Component Testing for Java->Java Testing Overview->Java Stub Harness

Para Obter Mais Informações

Para obter informações detalhadas sobre como executar a campanha de teste, consulte o Mentor de Ferramenta Executando Testes Utilizando o Rational Test RealTime.