segunda-feira, 20 de janeiro de 2014

Roteiros de Teste integrado - "Consolidando Relacionamentos"

Após dissertarmos à respeito dos rtu's (roteiros de teste unitário), passaremos a explicar de forma macro todos os conceitos referentes 
ao teste de integração entre componentes, os RTI's. Aparentemente, parece simples porém na prática percebemos no mercado uma real dificuldade na identificação do que deve ser testado em nível de integração que ainda não tenha sido testado em nível unitário e não será posteriormente testado em nível funcional.

Sendo assim, inicialmente necessitamos ter bem definido em nossas mentes o conceito de teste integrado. Teste de integração é a fase do teste de software em que módulos são combinados e testados em grupo. Ela sucede o teste de unidade, em que os módulos são testados individualmente, e antecede o teste de sistema, em que o sistema completo (integrado) é testado num ambiente que simula o ambiente de produção (Origem: Wikipédia, a enciclopédia livre).

Nesta fase da elaboração do Roteiro de Teste Integrado, podemos utilizar ainda as técnicas de teste caixa-branca (Considerar a estrutura interna do componente) e caixa preta (Considerar a estrutura externa, front-end), pois em muitos casos é essencial sabermos os valores de entrada e saída de "n" variáveis distintas bem como a chamada de módulos específicos, liberação de marcas e mudança de status em flags do sistema.

É importante ressaltar que nesta fase, o resultado final da funcionalidade ainda não interessa, pois esta validação será feita na fase do Roteiro de Teste Funcional, por exemplo.: "Verificar se após o usuário digitar seu nome e senha, seus dados foram retornados corretamente conforme o esperado pela funcionalidade e definido anteriormente na fase de levantamento de requisitos junto ao cliente".

Basicamente, podemos testar componentes do sistema de forma integrada de acordo com as seguintes técnicas abaixo listadas (Lembrando que todas as integrações possíveis entre componentes devem ser consideradas e inseridas no roteiro).:

Teste Incremental.: Componentes ou sistemas são integrados e testados sozinhos ou em pequenos grupos por vez, até que todos os componentes ou sistemas sejam testados (Glossário de Termos de Teste - ISTQB, CTFL, Versão 1.3 ). Sendo assim, consideramos que os testes são construídos e testados pequenos incrementos, em que erros são mais fáceis de corrigir (Ex.: Top Down e Bottom Up).

Top Down.: Componente na parte superior da hierarquia de componentes é testado primeiro, e os componentes nos níveis mais baixos são simulados por stubs(Glossário de Termos de Teste - ISTQB, CTFL, Versão 1.3 ).

Bottom up.: Componentes de nível mais baixo são testados em primeiro lugar, e, então utilizados para facilitar o teste de componentes de nível mais alto(Glossário de Termo de Teste - ISTQB, CTFL, Versão 1.3 ).

Big bang.: Elementos de um software ou hardware, ou ainda de ambos, são combinados todos de uma vez, ao invés de em estágios, em um componente ou sistema geral(Glossário de Termos de Teste - ISTQB, CTFL, Versão 1.3 ). 

Teste de Regressão.: Quando um novo componente for integrado ao sistema, o mesmo pode apresentar erros que anteriormente não ocorriam. Portando, deve-se testar novamente os casos que já foram conduzidos anteriormente visando a descoberta de novas falhas.

Em muitos casos há a integração entre plataformas distintas (Ex.: Camada Front-End.NET e camada de negócios e acesso em Mainframe), e nestas situações também devem ser consideradas as interações entre os componentes para garantir a real eficácia e vínculo entre os argumentos e parâmetros dos mesmos. Além disso, também é importante testarmos situações de erro exceção, ou seja, casos em que a chamada do componente não é realizada com sucesso.

Um Roteiro de Teste Integrado estruturado de maneira simples, deve conter informações como.:
  • Número do Caso de Teste.: Número Sequencial ou Código específico
  • Condição ou Cenário.: Integração a ser testada
  • Pré-Condições de execução.: Situações necessárias para que o teste seja executado (Ex.: Perfis, Acessos, Configurações, Execuções anteriores)
  • Dados de Entrada.: Informações ou passos necessários para execução do teste
  • Resultado Esperado.: Saídas geradas após a execução do teste
  • Status do Teste.: Indicação da realização do teste (Ex.: Ok, Nok, Não testado)
  • Local de Execução do Teste.: Local ou ferramenta em que a integração será testada
  • Ciclo/Etapa do Teste.: Indicação do ciclo de teste a ser testado
  • Observações.: Comentários pontuais pertinentes ao caso de teste
Para finalizar, vejamos na imagem abaixo todas as possibilidades e técnicas de integração que podem ser testadas no projeto "CalculoSimples".:



Testar é garantir a informação!

Nenhum comentário:

Postar um comentário