Was ist es und warum wird es verwendet / nützlich?
Antworten:
Ein Sanity Test ist in keiner Weise auf den Kontext der Programmierung oder Softwareentwicklung beschränkt. Ein Vernunfttest ist nur ein gelegentlicher Begriff, der bedeutet, dass Sie etwas testen / bestätigen / validieren, das einer sehr klaren und einfachen Logik folgen sollte. Es wird jemand anderes gebeten, zu bestätigen, dass Sie nicht verrückt sind und dass das, was für Sie sinnvoll erscheint, auch für ihn Sinn macht ... oder haben Sie in den letzten 4 Stunden viel zu viele Energy-Drinks getrunken, um die geistige Gesundheit aufrechtzuerhalten?
Wenn Sie Ihren Kopf völlig ratlos gegen die Wand schlagen, warum etwas sehr Einfaches nicht funktioniert, würden Sie jemanden bitten, einen schnellen Gesundheitstest für Sie durchzuführen. Lassen Sie sie sicherstellen, dass Sie dieses Semikolon am Ende Ihrer for
Schleife die letzten 15 Male, in denen Sie es durchgesehen haben, nicht übersehen haben . Ein extrem einfaches Beispiel sollte eigentlich nicht passieren, aber manchmal sind Sie zu nah an etwas, um zurückzutreten und das Ganze zu sehen. Eine andere Perspektive hilft manchmal dabei, sicherzustellen, dass Sie nicht völlig verrückt sind.
Ein gutes Beispiel ist eine Überprüfung der Integrität einer Datenbankverbindung.
SELECT 1 FROM DUAL
Es ist eine einfache Abfrage zum Testen der Verbindung, siehe:
Es testet keine Deep-Funktionalität, nur, dass die Verbindung in Ordnung ist, um fortzufahren.
Ein Sanity-Test oder eine Sanity-Prüfung ist ein grundlegender Test, um schnell zu bewerten, ob ein Anspruch oder das Ergebnis einer Berechnung möglicherweise wahr sein kann @ http://en.wikipedia.org/wiki/Sanity_testing
Der Unterschied zwischen Rauch und Vernunft besteht, zumindest so wie ich es verstehe, darin, dass der Rauchtest ein schneller Test ist, um festzustellen, dass die Anwendung nach einem Build gut genug zum Testen ist . Anschließend führen Sie einen Vernunfttest durch, bei dem festgestellt wird, ob ein bestimmter Funktionsbereich gut genug ist, um tatsächlich Tests in diesem Bereich durchzuführen .
Beispiel:
Rauchtest: Ich kann die Anwendung starten und durch alle Bildschirme navigieren, und die Anwendung stürzt nicht ab.
-Wenn die Anwendung abstürzt oder ich nicht auf alle Bildschirme zugreifen kann, stimmt etwas nicht. Es gibt ein "Feuer", das so schnell wie möglich gelöscht werden muss, und die Version ist nicht zum Testen geeignet.
Sanity Test (Bildschirm "Benutzerverwaltung"): Ich kann zum Bildschirm "Benutzerverwaltung" gelangen, einen Benutzer erstellen und ihn löschen.
Der Rauchtest dient zum schnellen Testen eines neuen Builds auf seine Stabilität. Der Sanity-Test ist ein Test der neu bereitgestellten Umgebung.
Das Grundkonzept einer Überprüfung der Integrität besteht darin, sicherzustellen, dass die Ergebnisse der Ausführung Ihres Codes mit den erwarteten Ergebnissen übereinstimmen. Abgesehen davon, dass es sich um etwas handelt, das weitaus seltener verwendet wird als es sollte, hilft eine ordnungsgemäße Überprüfung der geistigen Gesundheit sicherzustellen, dass das, was Sie tun, nicht völlig außerhalb der Grenzen liegt und etwas tut, das es nicht tun sollte. Die häufigste Verwendung für eine Überprüfung der Integrität ist das Debuggen von Code, der sich schlecht verhält, aber selbst ein Endprodukt kann davon profitieren, dass einige vorhanden sind, um zu verhindern, dass unerwünschte Fehler infolge von GIGO (Müll rein, Müll raus) auftreten.
Unterschätzen Sie daher niemals die Fähigkeit Ihrer Benutzer, etwas zu tun, von dem Sie nicht erwartet hatten, dass es tatsächlich jemand tun würde. Dies ist eine Lektion, die viele Programmierer nie lernen, egal wie oft sie unterrichtet wird, und Sanity Checks sind ein hervorragendes Werkzeug, um sich damit abzufinden. "Ich würde das niemals tun" ist keine gültige Entschuldigung dafür, warum Ihr Code kein Problem behandelt hat, und eine gute Überprüfung der geistigen Gesundheit kann dazu beitragen, dass Sie diese Entschuldigung nie vorbringen müssen.
Für eine Softwareanwendung besteht ein Sanity-Test aus einer Reihe von Tests, mit denen eine Softwareversion nach der Integration neuer Funktionen und Fehlerkorrekturen für die Öffentlichkeit freigegeben werden kann. Ein Vernunfttest bedeutet, dass zwar viele Probleme bestehen bleiben könnten, die sehr kritischen Probleme, die beispielsweise dazu führen könnten, dass jemand Geld oder Daten verliert oder das Programm zum Absturz bringt, behoben wurden. Wenn keine kritischen Probleme mehr bestehen, besteht die Version den Sanity-Test. Dies ist normalerweise der letzte Test, der vor der Veröffentlichung durchgeführt wurde.
Es ist ein grundlegender Test, um sicherzustellen, dass etwas einfach funktioniert.
Zum Beispiel: Herstellen einer Verbindung zu einer Datenbank. Oder pingen Sie eine Website / einen Server an, um festzustellen, ob sie aktiv oder inaktiv ist.
Das Überprüfen eines Codes (oder irgendetwas anderem, z. B. eines Usenet-Postings) auf völlig dumme Fehler.
Dies bedeutet, dass mit der Überprüfung sichergestellt werden soll, dass der Autor beim Schreiben gesund war.
Wenn sich beispielsweise eine wissenschaftliche Software auf eine bestimmte Formel stützte und unerwartete Ergebnisse lieferte, könnte man zuerst die Verschachtelung von Klammern oder die Codierung der Formel als Überprüfung der geistigen Gesundheit betrachten, bevor man sich die komplexeren E / A oder Routinen zur Manipulation von Datenstrukturen, geschweige denn der Algorithmus selbst.