Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O teste orientado por dados é uma metodologia de teste em que os valores de entrada e saída de um teste são separados do código. Esse formalismo normalmente significa que um pequeno investimento em tornar o código de teste um pouco mais genérico permite que um grande número de casos de teste seja escrito simplesmente identificando os dados envolvidos.
O teste orientado por dados é ótimo para áreas de teste que trabalham com um conjunto de valores de entrada que definem seu comportamento - por exemplo, ao testar uma API, os parâmetros de entrada e saída podem ser definidos como uma fonte de dados, e o código de teste consome os dados, faz as chamadas de API e valida os resultados.
Suporte a testes orientados por dados no TAEF
O TAEF oferece uma variedade de opções para a criação de testes orientados por dados. Vamos entender essas opções para que você possa escolher qual delas se encaixa melhor no seu cenário de teste.
A solução de teste orientada por dados baseada em tabela permite controlar detalhadamente as variações de parâmetros de dados, bem como definir os tipos de parâmetros. O DataSource, neste caso, é uma tabela definida em um arquivo XML. Você pode especificar os tipos de parâmetros (int, unsigned int, size_t, bool, double, DWORD, __int64 etc e sua variante de matriz homogênea), ou ter o tipo padrão para WEX::Common::String (nativo) ou string (gerenciado). Cada Linha na tabela é um conjunto de variação nos valores dos parâmetros. O método de teste será invocado novamente para cada Linha na tabela. Aqui está um trecho de uma fonte de dados XML para testes controlados por dados baseados em tabela:
1 <?xml version="1.0"?>
2 <Data>
3 <Table Id ="Table1">
4 <ParameterTypes>
5 <ParameterType Name="Size">Int32</ParameterType>
6 <ParameterType Name="Color">String</ParameterType>
7 </ParameterTypes>
8 <Row>
9 <Parameter Name="Size">12</Parameter>
10 <Parameter Name="Color">Blue</Parameter>
11 </Row>
12 <Row>
13 <Parameter Name="Size">4</Parameter>
14 <Parameter Name="Color">White</Parameter>
15 </Row>
16 <Row>
17 <Parameter Name="Size">9</Parameter>
18 <Parameter Name="Color">Black</Parameter>
19 </Row>
20 </Table>
21 </Data>
Para ler mais: Testes baseados em tabela, orientados por dados.
O suporte a testes leves orientados por dados não fornece a fidelidade total que a solução de teste orientada por dados baseada em tabela oferece. Para esclarecer: O teste leve orientado por dados restringe os parâmetros de dados a serem WEX::Common::String(nativo) ou String(gerenciado) em comparação com os vários tipos suportados pela solução de teste orientada por dados baseada em tabela. Mas se você estiver procurando uma variação de dados rápida e de baixo custo (por exemplo, um ou dois parâmetros) para tornar um método de teste orientado por dados, e adicionar um arquivo XML como DataSource parece não valer a pena, o teste orientado por dados leves pode ser exatamente o que você está procurando. Um ótimo exemplo disso é um desenvolvedor escrevendo um teste de unidade para uma API dizer OpenThemeData(...) e quer verificar a API contra "Button", "Listbox" e "ScrollBar". Pode ser uma sobrecarga demais criar um arquivo XML DataSource para isso, mas com suporte a testes leves orientados por dados, isso pode ser feito de forma eficiente no próprio código-fonte. Se mais de um parâmetro for especificado, o TAEF gerará uma expansão combinatória n-way de parâmetros nos bastidores e o método de teste será invocado para cada combinação. Para ler mais: Testes leves orientados por dados.
A expansão combinatória n-way que os testes orientados por dados de baixo peso oferecem pode tornar-se dispendiosa e resultar em retornos decrescentes à medida que o cenário de testes se torna mais complexo. Em um cenário de teste tão complexo, o Pairwise Independent Combinatorial Testing (PICT) oferecido pela solução de teste orientada por dados baseada em PICT pode ser exatamente o que procura. O PICT fornece muito valor gerando um conjunto compacto de resultados de parâmetros para obter uma cobertura abrangente sobre os parâmetros. Descubra links para saber mais sobre o PICT e como usar essa solução na solução de teste orientada por dados baseada em PICT .
Usando o suporte a testes controlados por dados baseados em WMI , você também pode adicionar pré-condição aos testes, bem como obter informações (dados) com base nos recursos disponíveis na máquina de teste. Por exemplo, se você quiser executar o teste somente se a máquina estiver associada ao domínio e você também precisar das informações do nome de domínio quando executar o teste. O DataSource, neste caso, é uma consulta WQL. Saiba mais sobre como aproveitar os testes orientados por dados baseados em WMI em seu cenário de teste.
Estando atento a todas as opções listadas acima, você também pode criar um design onde uma combinação das opções acima pode parecer adequada. Por exemplo, você pode querer usar uma consulta WMI para obter informações sobre todas as impressoras conectadas à máquina de teste, mas pode haver outro conjunto de parâmetros que podem ser definidos antecipadamente usando uma construção de teste orientada por dados baseada em tabela. A especificação de várias fontes de dados também pode ser útil, se você quiser que os dados do teste venham de duas tabelas separadas, permitindo que cada tabela seja reutilizável em outros testes. Leia os detalhes sobre como especificar várias DataSources para um teste e quais restrições se aplicam ao fazer isso: Especificando várias fontes de dados
Nesta seção
- Teste orientado por dados em linguagens de script
- Fonte de dados da tabela
- Tipos de parâmetros em fontes de dados de tabela
- Exemplo de teste simples orientado por dados
- Exemplo de teste orientado por dados com substituição de metadados
- Exemplo de teste orientado por dados com suporte de array
- Classe orientada por dados
- Fonte de dados PICT
- Fonte de dados WMI
- Testes leves orientados por dados
- Execução de testes orientados por dados
- Várias fontes de dados