Teste de dados: requisitos e níveis



Meu nome é Alexey Chumagin, sou testador no Provectus. Neste artigo, mostrarei como os requisitos de qualidade dos dados são formados e quais os níveis de teste de dados.


Upd:
O artigo lida com dados grandes (ou não), com base na análise e agregação, usados ​​para criar diferentes processos; os padrões são derivados para uso em análises adicionais ou para tomada de decisão. Os dados podem ser coletados para um projeto específico do zero ou bancos de dados coletados anteriormente para outros projetos ou para fins comerciais. As fontes desses dados são diversas e incluem não apenas a entrada dos operadores, mas também medições automatizadas e / ou automáticas armazenadas no banco de dados de forma sistemática ou não sistemática (em uma pilha, “então descobriremos o que fazer sobre isso”).

final de atualização.


Por que o teste de dados é importante


Os dados desempenham um papel cada vez mais importante na tomada de decisões, tanto na vida cotidiana quanto nos negócios. Tecnologias e algoritmos modernos permitem processar e armazenar grandes quantidades de dados, convertendo-os em informações úteis.

Que tipo de dados são esses? Por exemplo, o histórico do seu navegador, transações no seu mapa, o ponto de movimento de um dispositivo. Eles são impessoais, mas esses dados ainda pertencem a um dispositivo específico. Se você coletar e processá-los, poderá obter informações bastante interessantes sobre o proprietário deste dispositivo. Por exemplo, onde ele gosta de ir, qual é o seu sexo e idade. Então, gradualmente, “humanizamos” o dispositivo e damos-lhe algumas características.

Em seguida, essas informações podem ser usadas para publicidade direcionada. Se você é uma mulher, com um alto grau de probabilidade, pode dizer que não está interessado em fazer propaganda de aparelhos de barbear para homens. Você precisa exibir anúncios relacionados aos seus interesses. A qualidade da segmentação de publicidade pode ser aprimorada devido ao fato de ser conhecido sobre os dispositivos nos quais é exibido. Você verá o anúncio que deseja ver. Então, você clicará nele. As pessoas que mostrarem esse anúncio receberão dinheiro por isso, e o cliente receberá um lucro com o que você aprender sobre o produto.

Tudo isso é baseado nos dados de propriedade de diferentes empresas e pessoas. O uso efetivo desses dados exige que sejam confiáveis ​​e sabemos que esta transação pertence a esta conta.

Como há muitos dados, armazená-los requer recursos significativos. A limpeza de dados é uma tarefa separada que precisa ser resolvida. Queremos armazenar apenas os dados que realmente precisamos. E não queremos que duplicatas ou registros que não atendam aos nossos critérios sejam armazenados em nosso banco de dados. Por exemplo, registros com campos vazios. Portanto, existem requisitos para a qualidade dos dados e surge a questão de seus testes.

O que é qualidade?


Gosto dessa definição: a qualidade do produto é uma medida da satisfação do usuário. É claro que tudo depende do contexto de uso do produto. Se você usa qualquer produto conhecido, por exemplo, Facebook ou Skype, possui os mesmos requisitos de qualidade. Você tolerará alguns erros, mas continuará a usar este produto. E se você é cliente de um programa e pagou dinheiro por ele, os requisitos de qualidade serão mais altos. Você encontrará falhas, assistirá algumas pequenas coisas. Pessoas diferentes têm idéias diferentes sobre qualidade e programas diferentes também têm seus próprios requisitos de qualidade.

Portanto, antes de desenvolver e testar, as pessoas geralmente determinam o que consideram um produto de qualidade. Tudo isso pode ser descrito formalmente. Por exemplo, consideraremos a qualidade do nosso produto se ele não contiver erros críticos. Ou se ele trabalha por duas semanas sem falhas.

Definir esses requisitos não é uma tarefa fácil. Normalmente, os requisitos de negócios formam requisitos de software e, se perguntarmos à empresa quais devem ser os dados, podemos obter a resposta de que os dados devem ser bons e limpos. A tarefa do testador é descobrir ou esclarecer que tipo de dados são e por quais critérios determinamos sua qualidade e pureza. Esses critérios precisam ser formalizados e fixos, tornados mensuráveis.

Como os requisitos de qualidade de dados são formados?


O testador começa a descobrir o que é incompreensível para ele e o que ele gostaria de saber sobre o objeto de teste. O testador compila uma lista de perguntas e começa a fazer uma "entrevista" do cliente. Ele, em teoria, deve saber quais devem ser os dados. Por exemplo, pergunto: são permitidas células vazias ou linhas duplicadas.

Um exemplo de requisitos é que, se tivermos uma lista de pessoas, o primeiro nome, o sobrenome e o nome do meio poderão ser repetidos. Mas todo o conjunto de linhas não pode ser repetido. Repetições podem ser permitidas em uma célula, mas não mais em uma linha inteira ou no agregado de várias células. Não deve haver uma correspondência completa.

Em seguida, começamos a perguntar sobre o formato dos dados em uma célula específica. Por exemplo, o número de telefone deve ter 12 dígitos e o número do cartão bancário deve ser 16. Podemos ter um critério de que nem toda sequência desses caracteres seja um número de cartão bancário. Ou entendemos que apenas as letras podem estar no sobrenome. Podemos ter muitas perguntas sobre o formato dos dados. Assim, descobrimos tudo o que precisamos saber sobre o assunto do teste.

O que são dados de qualidade?


Os dados qualitativos devem ter várias características.

  • Completude - não há lacunas nos registros, todas as células devem ser preenchidas. Os dados devem conter o máximo de informações possível.
  • Exclusividade - não deve haver registros idênticos entre os dados.
  • Confiabilidade - por isso, tudo é concebido. Ninguém quer trabalhar com dados que não são confiáveis. As células de tabelas com dados de alta qualidade contêm o que devem conter: endereço IP, número de telefone etc.
  • Precisão. Se falamos de dados digitais, deve haver um número exato de caracteres. Por exemplo, 12 casas decimais. Os dados devem estar próximos de algum valor médio.
  • Consistência - os dados devem reter valores, independentemente de como são medidos.
  • Oportunidade - os dados devem ser relevantes, especialmente se forem atualizados periodicamente. Por exemplo, a cada mês, a quantidade de dados deve aumentar. Os dados não devem estar desatualizados. Se estamos falando de transações bancárias, estamos interessados ​​em tê-las, por exemplo, nos últimos seis meses.

Níveis de teste de dados


Podemos agrupar dados pelas chamadas camadas - uma boa analogia com a pirâmide de teste funciona aqui. Essa é a distribuição do número de testes em diferentes níveis do aplicativo.

  • Camada de unidade é quando um módulo de programa é testado, na maioria das vezes é uma função ou método. Esses testes devem ser os mais. Um teste de unidade para dados é quando definimos os requisitos para cada célula. Não faz sentido testar mais se tivermos erros no nível da célula. Se, por exemplo, o sobrenome contiver números, qual é o sentido de verificar algo mais? Talvez deva haver letras semelhantes a esses números. E então precisamos corrigir tudo e verificar o próximo nível para que tenhamos tudo no singular e não haja duplicatas, se isso for indicado nos requisitos.
  • Uma camada de integração é quando várias partes de um programa são testadas juntas. A camada da API de dados é quando falamos sobre a tabela inteira. Suponha que possamos ter duplicatas, mas não mais que cem peças. Se tivermos uma cidade com mais de um milhão, um milhão de pessoas não poderá morar em uma rua. Portanto, se fizermos uma seleção ao longo da rua, o número de endereços deve ser de dez mil ou mil - isso deve ser determinado. E se tivermos um milhão, algo está errado com os dados.
  • A camada do sistema é quando todo o programa é totalmente testado. No caso de dados, essa camada significa que todo o sistema está sendo testado. Isso inclui estatísticas. Por exemplo, dizemos que não podemos ter mais de 30% dos homens nascidos após 1985. Ou dizemos que 80% dos dados devem ser do mesmo tipo.

Concluindo, direi que o teste de dados é uma área que oferece muitas oportunidades para criatividade e desenvolvimento. Não existe uma bala de prata aqui: diferentes abordagens podem ser usadas para testar dados. A verdade, como sempre, está em algum lugar no meio.

Source: https://habr.com/ru/post/pt416183/


All Articles