
Mein Name ist Alexey Chumagin, ich bin Tester bei Provectus. In diesem Artikel werde ich Ihnen erklären, wie Datenqualitätsanforderungen gebildet werden und welche Ebenen von Datentests sein können.
Aktualisieren:
Der Artikel befasst sich mit großen (oder nicht so) Daten, basierend auf Analyse und Aggregation, die zum Aufbau verschiedener Prozesse verwendet werden. Muster werden zur Verwendung in der weiteren Analyse oder zur Entscheidungsfindung abgeleitet. Daten können für ein bestimmtes Projekt von Grund auf neu erfasst werden, oder Datenbanken, die zuvor für andere Projekte oder für kommerzielle Zwecke erfasst wurden, können verwendet werden. Die Quellen dieser Daten sind vielfältig und umfassen nicht nur Eingaben von Bedienern, sondern auch automatisierte und / oder automatische Messungen, die systematisch oder unsystematisch in der Datenbank gespeichert werden (auf einem Haufen "dann werden wir herausfinden, was damit zu tun ist").
Ende der Aktualisierung.
Warum Datentests wichtig sind
Daten spielen sowohl im Alltag als auch im Geschäftsleben eine immer wichtigere Rolle bei der Entscheidungsfindung. Mit modernen Technologien und Algorithmen können Sie große Datenmengen verarbeiten, speichern und in nützliche Informationen umwandeln.
Um welche Art von Daten handelt es sich? Zum Beispiel den Verlauf Ihres Browsers, Transaktionen auf Ihrer Karte, den Bewegungspunkt eines Geräts. Sie sind unpersönlich, aber diese Daten gehören immer noch zu einem bestimmten Gerät. Wenn Sie sie sammeln und verarbeiten, erhalten Sie interessante Informationen über den Besitzer dieses Geräts. Zum Beispiel, wohin geht er gerne, was ist sein Geschlecht und Alter. So „humanisieren“ wir das Gerät nach und nach und verleihen ihm einige Eigenschaften.
Diese Informationen können dann für gezielte Werbung verwendet werden. Wenn Sie eine Frau sind, können Sie mit hoher Wahrscheinlichkeit sagen, dass Sie nicht daran interessiert sind, Rasierapparate für Männer zu bewerben. Sie müssen Anzeigen schalten, die Ihren Interessen entsprechen. Die Qualität der Werbeausrichtung kann verbessert werden, da bekannt ist, auf welchen Geräten sie angezeigt wird. Ihnen wird die Anzeige angezeigt, die Sie sehen möchten. Sie werden also darauf klicken. Personen, die Ihnen diese Anzeige zeigen, erhalten Geld dafür, und der Anzeigenkunde erhält einen Gewinn aus dem, was Sie über das Produkt erfahren.
All dies basiert auf den Daten verschiedener Unternehmen und Personen. Eine effektive Nutzung dieser Daten setzt voraus, dass sie zuverlässig sind und wir wissen, dass diese Transaktion zu diesem Konto gehört.
Da es so viele Daten gibt, erfordert das Speichern dieser Daten erhebliche Ressourcen. Die Datenbereinigung ist eine separate Aufgabe, die angegangen werden muss. Wir möchten nur die Daten speichern, die wir wirklich benötigen. Und wir möchten nicht, dass Duplikate oder Datensätze, die nicht unseren Kriterien entsprechen, in unserer Datenbank gespeichert werden. Zum Beispiel Datensätze mit leeren Feldern. Daher gibt es Anforderungen an die Datenqualität und es stellt sich die Frage nach deren Prüfung.
Was ist Qualität?
Ich mag diese Definition: Produktqualität ist ein Maß für die Benutzerzufriedenheit. Es ist klar, dass alles vom Verwendungskontext des Produkts abhängt. Wenn Sie ein bekanntes Produkt verwenden, z. B. Facebook oder Skype, haben Sie dieselben Qualitätsanforderungen. Sie werden einige Fehler in Kauf nehmen, dieses Produkt aber weiterhin verwenden. Und wenn Sie Kunde eines Programms sind und dafür Geld bezahlt haben, sind die Qualitätsanforderungen höher. Sie werden Fehler finden, einige kleine Dinge beobachten. Unterschiedliche Menschen haben unterschiedliche Vorstellungen von Qualität, und unterschiedliche Programme haben auch ihre eigenen Qualitätsanforderungen.
Daher bestimmen die Mitarbeiter vor der Entwicklung und dem Testen in der Regel, was sie als Qualitätsprodukt betrachten. All dies kann formal beschrieben werden. Zum Beispiel werden wir unsere Produktqualität berücksichtigen, wenn sie keine kritischen Fehler enthält. Oder wenn er zwei Wochen ohne Probleme arbeitet.
Diese Anforderungen zu definieren ist keine leichte Aufgabe. In der Regel bilden Geschäftsanforderungen Softwareanforderungen. Wenn wir das Unternehmen nach den Daten fragen, können wir die Antwort erhalten, dass die Daten gut und sauber sein sollten. Die Aufgabe des Testers ist es herauszufinden oder zu klären, um welche Art von Daten es sich handelt und anhand welcher Kriterien wir deren Qualität und Reinheit bestimmen. Diese Kriterien müssen formalisiert und festgelegt und messbar gemacht werden.
Wie entstehen Datenqualitätsanforderungen?
Der Tester beginnt herauszufinden, was für ihn unverständlich ist und was er über das Testobjekt wissen möchte. Der Tester stellt eine Liste mit Fragen zusammen und beginnt, ein „Interview“ vom Kunden zu führen. Theoretisch sollte er wissen, wie die Daten aussehen sollten. Zum Beispiel frage ich: Sind leere Zellen oder doppelte Zeilen zulässig?
Ein Beispiel für Anforderungen ist, wenn wir eine Liste von Personen haben, dann können der Vorname, der Nachname und der zweite Vorname wiederholt werden. Der gesamte Satz von Zeilen kann jedoch nicht wiederholt werden. Wiederholungen sind in einer Zelle zulässig, jedoch nicht mehr in einer ganzen Zeile oder in der Summe mehrerer Zellen. Es sollte keine vollständige Übereinstimmung geben.
Als nächstes fragen wir nach dem Datenformat in einer bestimmten Zelle. Zum Beispiel sollte die Telefonnummer 12 Ziffern haben und die Bankkartennummer sollte 16. Wir haben möglicherweise ein Kriterium, dass nicht jede Folge dieser Zeichen eine Bankkartennummer ist. Oder wir verstehen, dass nur Buchstaben in einem Nachnamen stehen können. Möglicherweise haben wir viele Fragen zum Datenformat. So finden wir alles heraus, was wir über das Thema Testen wissen müssen.
Was sind Qualitätsdaten?
Qualitative Daten sollten mehrere Merkmale aufweisen.
- Vollständigkeit - Es gibt keine Lücken in den Aufzeichnungen, alle Zellen müssen gefüllt sein. Die Daten sollten so viele Informationen wie möglich enthalten.
- Eindeutigkeit - Es sollten keine identischen Datensätze zwischen den Daten vorhanden sein.
- Zuverlässigkeit - dafür ist alles konzipiert. Niemand möchte mit Daten arbeiten, denen nicht vertraut werden kann. Zellen von Tabellen mit hochwertigen Daten enthalten, was sie enthalten sollten: IP-Adresse, Telefonnummer usw.
- Genauigkeit. Wenn wir über digitale Daten sprechen, muss es eine genaue Anzahl von Zeichen geben. Zum Beispiel 12 Dezimalstellen. Die Daten sollten nahe an einem Durchschnittswert liegen.
- Konsistenz - Daten müssen Werte behalten, unabhängig davon, wie sie gemessen werden.
- Aktualität - Daten sollten relevant sein, insbesondere wenn sie regelmäßig aktualisiert werden. Beispielsweise sollte sich die Datenmenge jeden Monat erhöhen. Daten sollten nicht veraltet sein. Wenn wir über Bankgeschäfte sprechen, dann sind wir daran interessiert, diese beispielsweise in den letzten sechs Monaten zu haben.
Datenteststufen
Wir können Daten nach sogenannten Ebenen gruppieren - eine gute Analogie zur
Testpyramide funktioniert hier. Dies ist die Verteilung der Anzahl der Tests auf verschiedenen Ebenen der Anwendung.
- Unit Layer ist, wenn ein Programmmodul getestet wird, meistens eine Funktion oder Methode. Solche Tests sollten am meisten sein. Ein Komponententest für Daten ist, wenn wir die Anforderungen für jede Zelle definieren. Es macht keinen Sinn, weiter zu testen, ob wir Fehler auf Zellebene haben. Wenn zum Beispiel der Nachname Zahlen enthält, wozu dann etwas weiter prüfen? Vielleicht sollte es Buchstaben geben, die diesen Zahlen ähnlich sind. Und dann müssen wir alles korrigieren und das nächste Level überprüfen, damit wir alles im Singular haben und es keine Duplikate gibt, wenn dies in den Anforderungen angegeben ist.
- Eine Integrationsschicht ist, wenn mehrere Teile eines Programms zusammen getestet werden. Die Daten-API-Schicht ist, wenn wir über die gesamte Tabelle sprechen. Angenommen, wir können Duplikate haben, aber nicht mehr als hundert Stück. Wenn wir eine Stadt mit mehr als einer Million Menschen haben, können eine Million Menschen nicht in einer Straße leben. Wenn wir also entlang der Straße eine Auswahl treffen, sollte die Anzahl der Adressen zehntausend oder tausend betragen - dies muss bestimmt werden. Und wenn wir eine Million haben, stimmt etwas mit den Daten nicht.
- Die Systemschicht ist, wenn das gesamte Programm vollständig getestet ist. Bei Daten bedeutet diese Schicht, dass das gesamte System getestet wird. Dies beinhaltet Statistiken. Zum Beispiel sagen wir, dass wir nicht mehr als 30% der Männer haben können, die nach 1985 geboren wurden. Oder wir sagen, dass 80% der Daten vom gleichen Typ sein müssen.
Abschließend möchte ich sagen, dass Datentests ein Bereich sind, der viele Möglichkeiten für Kreativität und Entwicklung bietet. Hier gibt es keine Silberkugel: Zum Testen von Daten können verschiedene Ansätze verwendet werden. Die Wahrheit liegt wie immer irgendwo dazwischen.