Testes de integração em uma solução .NET de 3 camadas

5

Eu tenho uma solução .NET de três camadas.

  1. Banco de dados (SQL SERVER 2008)
  2. Serviço da Web (Serviço SOAP - * .asmx)
  3. Cliente WPF

Estou escrevendo confortavelmente testes de unidade dentro de (3) o cliente.
Atualmente estou trabalhando em escrever testes entre (1) Database & (2) Serviço.

Minha pergunta é, quais são algumas maneiras úteis de executar testes de integração em todas as três camadas. Eu gostaria que isso fosse executado localmente no meu Test Runner, bem como parte do teste de integração.

Primeiramente, estou empenhado em como ter um Web Service & transitório (setup-teardown-able) (2) (1) Banco de dados que pode ser testado com (3) código do cliente como parte de um teste de integração completa.

    
por Sheldon Warkentin 14.09.2011 / 23:05
fonte

1 resposta

2

Dependendo do seu ferramental, isso pode ser muito fácil, mas não muito 'livro didático'.

Nós usamos:

  • VS
  • Microsoft Test Manager
  • Recursos de gerenciamento de laboratório do SCVMM + do MTM

No nosso caso (eu sou um SDET no controle de qualidade), nosso aplicativo leva cerca de 30 minutos para instalar, e nós temos uma arquitetura semelhante (DB, nível de aplicativo, camada de apresentação - web e aplicativos). Como uma instalação / configuração completa seria intratável para testes, temos um conjunto de testes de instalação / configuração que é essencialmente OrderedUnitTests que irá ativar uma VM, confirmar pré-requisitos, instalar o produto e configurar tudo.

De lá, temos as suítes de teste. Alguns são direcionados para a camada de aplicativos (serviços) onde é um "teste de unidade" normal (linguagem virtual, testes de unidade reais fazem parte da compilação e nem sequer passam pelo controle de qualidade a menos que passem) que cria qualquer configuração necessária, chama o (s) serviço (s) e confirma os resultados - limpando as alterações do DB no desdobramento como de costume.

Para o nível de apresentação, temos webtests que executarão ou codificarão testes que iniciarão qualquer aplicativo ou site que esteja sendo testado, executarão as ações, farão os resultados e, em seguida, fecharão tudo novamente na área de trabalho.

É bastante direto e funciona bem.

    
por 14.09.2011 / 23:24
fonte