Ich mache QA für einen großen kommerziellen Code, dieses irritierende Szenario taucht viel zu oft auf. Normalerweise deutet dies darauf hin, dass auf allen von uns unterstützten Plattformen keine gekapselten Prozeduren zum Erstellen der Binärdatei vorhanden sind. Wenn der Entwickler also seinen eigenen Code erstellt (den er zum Debuggen und Reparieren ausführen muss) und nicht denselben Erstellungsprozeduren wie im Brief folgt, besteht die Möglichkeit, dass systemabhängige Fehler auf magische Weise verschwinden (oder auftreten). . Natürlich werden diese Dinge normalerweise mit "Funktioniert für mich" in der Fehlerdatenbank geschlossen. Wenn sie beim nächsten Ausführen des Problems fehlschlagen, kann der Fehler erneut geöffnet werden. Wann immer ich vermute, dass ein Fehler systemabhängig ist, versuche ich, ihn auf verschiedenen Plattformen zu testen und zu melden, unter welchen Bedingungen er auftritt. Häufig tritt ein Speicherbeschädigungsproblem auf, wenn die beschädigten Daten groß genug sind, um einen Absturz zu verursachen. Einige Plattformen (Hardware- und Betriebssystemkombinationen) stürzen möglicherweise näher an der eigentlichen Ursache der Beschädigung ab, und dies kann für den armen Kerl, der das Problem beheben muss, sehr wertvoll sein.
Der Tester muss einen Mehrwert schaffen, der über die bloße Meldung eines Systemfehlers hinausgeht. Ich verbringe viel Zeit damit, Fehlalarme auszusortieren. Möglicherweise war die betreffende Plattform überlastet oder das Netzwerk hatte einen Defekt. Und ja, manchmal kann man etwas bekommen, das wirklich von zufälligen Timing-Ereignissen betroffen ist. Hardwarefehler können oft wie Protobeispiele sein: Wenn zwei Datenanforderungen mit genau der gleichen Taktperiode zurückkommen und die Hardwarelogik zur Behandlung des potenziellen Konflikts fehlerhaft ist. dann wird der Fehler nur zeitweise angezeigt. Ebenso kann es bei der parallelen Verarbeitung zu Fehlern kommen, die nur einmal in einem blauen Mond auftreten, und deren statistische Unwägbarkeit macht das Debuggen zu einem Albtraum.
Außerdem wird unser Code in der Regel mehrmals täglich aktualisiert. Das Aufspüren einer genauen Versionsnummer des Quellcodes, wenn er nach Süden ging, kann eine sehr nützliche Information für das Debuggen sein. Der Tester sollte nicht in einer kontroversen Beziehung zu den Debuggern und Entwicklern stehen, er ist als Teil eines Teams da, um die Qualität des Produkts zu verbessern.