Test des données: exigences et niveaux



Je m'appelle Alexey Chumagin, je suis testeur chez Provectus. Dans cet article, je vais vous expliquer comment les exigences de qualitĂ© des donnĂ©es sont formĂ©es et quels niveaux de tests de donnĂ©es peuvent ĂȘtre.


Mise Ă  jour:
L'article traite de donnĂ©es volumineuses (ou pas), basĂ©es sur l'analyse et l'agrĂ©gation, qui sont utilisĂ©es pour construire diffĂ©rents processus, les modĂšles sont dĂ©rivĂ©s pour une utilisation dans une analyse plus approfondie ou pour la prise de dĂ©cision. Les donnĂ©es peuvent ĂȘtre collectĂ©es pour un projet spĂ©cifique Ă  partir de zĂ©ro, ou des bases de donnĂ©es collectĂ©es plus tĂŽt pour d'autres projets ou Ă  des fins commerciales peuvent ĂȘtre utilisĂ©es. Les sources de ces donnĂ©es sont diverses et comprennent non seulement des saisies par les opĂ©rateurs, mais aussi des mesures automatisĂ©es et / ou automatiques stockĂ©es dans la base de donnĂ©es de maniĂšre systĂ©matique ou non systĂ©matique (dans un tas, "alors nous trouverons quoi en faire").

fin de mise Ă  jour.


Pourquoi le test des données est important


Les données jouent un rÎle de plus en plus important dans la prise de décision, à la fois dans la vie quotidienne et dans les affaires. Les technologies et algorithmes modernes vous permettent de traiter et de stocker d'énormes quantités de données, en les convertissant en informations utiles.

De quel type de donnĂ©es s'agit-il? Par exemple, l'historique de votre navigateur, les transactions sur votre carte, le point de mouvement d'un appareil. Ils sont impersonnels, mais ces donnĂ©es appartiennent toujours Ă  un appareil spĂ©cifique. Si vous les collectez et les traitez, vous pouvez obtenir des informations assez intĂ©ressantes sur le propriĂ©taire de cet appareil. Par exemple, oĂč aime-t-il aller, quel est son sexe et son Ăąge. Petit Ă  petit, nous «humanisons» le dispositif et le dotons de certaines caractĂ©ristiques.

Ces informations peuvent ensuite ĂȘtre utilisĂ©es pour une publicitĂ© ciblĂ©e. Si vous ĂȘtes une femme, alors avec une forte probabilitĂ©, vous pouvez dire que vous n'ĂȘtes pas intĂ©ressĂ© par la publicitĂ© des rasoirs pour hommes. Vous devez afficher des annonces liĂ©es Ă  vos centres d'intĂ©rĂȘt. La qualitĂ© du ciblage publicitaire peut ĂȘtre amĂ©liorĂ©e du fait qu'il est connu des appareils sur lesquels il est diffusĂ©. Vous voyez l'annonce que vous souhaitez voir. Vous cliquerez donc dessus. Les personnes qui vous montreront cette annonce recevront de l'argent pour cela, et le client de l'annonce recevra un profit de ce que vous en apprendrez sur son produit.

Tout cela est basé sur les données détenues par différentes entreprises et personnes. L'utilisation efficace de ces données nécessite qu'elles soient fiables et nous savons que cette transaction appartient à ce compte.

Puisqu'il y a tellement de donnĂ©es, leur stockage nĂ©cessite des ressources importantes. Le nettoyage des donnĂ©es est une tĂąche distincte qui doit ĂȘtre traitĂ©e. Nous voulons stocker uniquement les donnĂ©es dont nous avons vraiment besoin. Et nous ne voulons pas que les doublons ou les enregistrements qui ne rĂ©pondent pas Ă  nos critĂšres soient stockĂ©s dans notre base de donnĂ©es. Par exemple, des enregistrements avec des champs vides. Par consĂ©quent, il existe des exigences pour la qualitĂ© des donnĂ©es et la question se pose de leurs tests.

Qu'est-ce que la qualité?


J'aime cette dĂ©finition: la qualitĂ© du produit est une mesure de la satisfaction des utilisateurs. Il est clair que tout dĂ©pend du contexte d'utilisation du produit. Si vous utilisez un produit bien connu, par exemple Facebook ou Skype, vous avez les mĂȘmes exigences de qualitĂ©. Vous tolĂ©rerez quelques erreurs, mais continuerez Ă  utiliser ce produit. Et si vous ĂȘtes client d'un programme et que vous l'avez payĂ©, les exigences de qualitĂ© seront plus Ă©levĂ©es. Vous trouverez des dĂ©fauts, regardez quelques petites choses. DiffĂ©rentes personnes ont des idĂ©es diffĂ©rentes sur la qualitĂ© et diffĂ©rents programmes ont Ă©galement leurs propres exigences de qualitĂ©.

Par consĂ©quent, avant de dĂ©velopper et de tester, les gens dĂ©terminent gĂ©nĂ©ralement ce qu'ils considĂ©reront comme un produit de qualitĂ©. Tout cela peut ĂȘtre dĂ©crit formellement. Par exemple, nous considĂ©rerons la qualitĂ© de notre produit s'il ne contient pas d'erreurs critiques. Ou s'il travaille pendant deux semaines sans problĂšme.

La dĂ©finition de ces exigences n'est pas une tĂąche facile. En rĂšgle gĂ©nĂ©rale, les exigences commerciales constituent des exigences logicielles, et si nous demandons Ă  l'entreprise quelles devraient ĂȘtre les donnĂ©es, nous pouvons obtenir la rĂ©ponse selon laquelle les donnĂ©es doivent ĂȘtre bonnes et propres. La tĂąche du testeur est de dĂ©couvrir ou de clarifier de quel type de donnĂ©es il s'agit et selon quels critĂšres nous dĂ©terminons leur qualitĂ© et leur puretĂ©. Ces critĂšres doivent ĂȘtre formalisĂ©s et fixĂ©s, rendus mesurables.

Comment sont formulées les exigences de qualité des données?


Le testeur commence Ă  dĂ©couvrir ce qui lui est incomprĂ©hensible et ce qu'il aimerait savoir sur l'objet Ă  tester. Le testeur Ă©tablit une liste de questions et commence Ă  prendre une «interview» du client. Il devrait, en thĂ©orie, savoir quelles devraient ĂȘtre les donnĂ©es. Par exemple, je demande: les cellules vides ou les lignes en double sont-elles autorisĂ©es.

Un exemple d'exigences est que si nous avons une liste de personnes, le prĂ©nom, le nom et le deuxiĂšme prĂ©nom peuvent ĂȘtre rĂ©pĂ©tĂ©s. Mais l'ensemble des lignes ne peut pas ĂȘtre rĂ©pĂ©tĂ©. Les rĂ©pĂ©titions peuvent ĂȘtre autorisĂ©es sur une cellule, mais plus sur une ligne entiĂšre ou dans l'ensemble de plusieurs cellules. Il ne devrait pas y avoir de correspondance complĂšte.

Ensuite, nous commençons Ă  poser des questions sur le format des donnĂ©es dans une cellule spĂ©cifique. Par exemple, le numĂ©ro de tĂ©lĂ©phone doit comporter 12 chiffres et le numĂ©ro de carte bancaire doit ĂȘtre 16. Nous pouvons avoir un critĂšre selon lequel toutes les sĂ©quences de ces caractĂšres ne sont pas un numĂ©ro de carte bancaire. Ou nous comprenons que seules les lettres peuvent ĂȘtre dans un nom de famille. Nous pouvons avoir de nombreuses questions sur le format des donnĂ©es. Ainsi, nous dĂ©couvrons tout ce que nous devons savoir sur le sujet des tests.

Qu'est-ce que les données de qualité?


Les données qualitatives devraient avoir plusieurs caractéristiques.

  • ExhaustivitĂ© - il n'y a pas de lacunes dans les enregistrements, toutes les cellules doivent ĂȘtre remplies. Les donnĂ©es doivent contenir autant d'informations que possible.
  • UnicitĂ© - il ne devrait pas y avoir d'enregistrements identiques parmi les donnĂ©es.
  • FiabilitĂ© - pour cela, tout est conçu. Personne ne veut travailler avec des donnĂ©es qui ne sont pas fiables. Les cellules des tableaux contenant des donnĂ©es de haute qualitĂ© contiennent ce qu'elles doivent contenir: adresse IP, numĂ©ro de tĂ©lĂ©phone, etc.
  • PrĂ©cision. Si nous parlons de donnĂ©es numĂ©riques, il doit y avoir un nombre exact de caractĂšres. Par exemple, 12 dĂ©cimales. Les donnĂ©es devraient ĂȘtre proches d'une certaine valeur moyenne.
  • CohĂ©rence - les donnĂ©es doivent conserver des valeurs, quelle que soit la façon dont elles sont mesurĂ©es.
  • ActualitĂ© - les donnĂ©es doivent ĂȘtre pertinentes, surtout si elles sont pĂ©riodiquement mises Ă  jour. Par exemple, chaque mois, la quantitĂ© de donnĂ©es devrait augmenter. Les donnĂ©es ne doivent pas ĂȘtre obsolĂštes. Si nous parlons de transactions bancaires, nous souhaitons les avoir, par exemple, au cours des six derniers mois.

Niveaux de test des données


Nous pouvons regrouper les données par couches dites - une bonne analogie avec la pyramide de test fonctionne ici. Il s'agit de la répartition du nombre de tests à différents niveaux de l'application.

  • La couche unitaire est lorsqu'un module de programme est testĂ©, le plus souvent c'est une fonction ou une mĂ©thode. Ces tests devraient ĂȘtre le plus. Un test unitaire pour les donnĂ©es consiste Ă  dĂ©finir les exigences pour chaque cellule. Cela n'a aucun sens de tester davantage si nous avons des erreurs au niveau de la cellule. Si, par exemple, le nom de famille contient des chiffres, Ă  quoi sert de vĂ©rifier quelque chose de plus? Il devrait peut-ĂȘtre y avoir des lettres similaires Ă  ces chiffres. Et puis nous devons tout corriger et vĂ©rifier le niveau suivant afin que nous ayons tout au singulier et qu'il n'y ait pas de doublons, si cela est indiquĂ© dans les exigences.
  • Une couche d'intĂ©gration est lorsque plusieurs Ă©lĂ©ments d'un programme sont testĂ©s ensemble. La couche API de donnĂ©es est lorsque nous parlons de la table entiĂšre. Supposons que nous puissions avoir des doublons, mais pas plus d'une centaine de piĂšces. Si nous avons plus d'un million de villes, alors un million de personnes ne peuvent pas vivre dans une seule rue. Par consĂ©quent, si nous faisons une sĂ©lection le long de la rue, le nombre d'adresses doit ĂȘtre de dix mille ou mille - cela doit ĂȘtre dĂ©terminĂ©. Et si nous en avons un million, alors quelque chose ne va pas avec les donnĂ©es.
  • La couche systĂšme correspond au moment oĂč l'ensemble du programme est entiĂšrement testĂ©. Dans le cas des donnĂ©es, cette couche signifie que l'ensemble du systĂšme est testĂ©. Cela inclut les statistiques. Par exemple, nous disons que nous ne pouvons pas avoir plus de 30% d'hommes nĂ©s aprĂšs 1985. Ou nous disons que 80% des donnĂ©es doivent ĂȘtre du mĂȘme type.

En conclusion, je dirai que le test de donnĂ©es est un domaine qui offre de nombreuses opportunitĂ©s de crĂ©ativitĂ© et de dĂ©veloppement. Il n'y a pas de solution miracle ici: diffĂ©rentes approches peuvent ĂȘtre utilisĂ©es pour tester les donnĂ©es. La vĂ©ritĂ©, comme toujours, se situe quelque part entre les deux.

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


All Articles