Die Zuverlässigkeit von Tests in einer Testsuite

Das Problem

In einer kontinuierlichen Integrationsumgebung werden Tests idealerweise mindestens einmal pro Tag ausgeführt, um den täglichen Build zu testen und die Qualität der zu testenden Anwendung zu sichern. Um zu verstehen, wie zuverlässig Ihr Test-Set für die Messung der Qualität Ihrer AUT ist, ist es notwendig gelegentlich zu überprüfen, wie sich die Testergebnisse im Laufe der Zeit verändern. Vielleicht haben Sie beispielsweise Tests in Ihrem Test-Set, die ständig ihren Status verändern, was bedeutet, dass sie kein echtes Maß für Qualität sind.

Die Lösung

Verwenden Sie die Data-Mart Ansicht RV_TestStatusExtended um einen Bericht zu erstellen, der die Ergebnisse für einen bestimmten Test im Rahmen von einer bestimmten Testsuite auflistet. Dadurch können Sie sehen, wie sich die Testergebnisse im Laufe der Zeit verändert haben. Der Einfachheit halber beschränken wir die Ergebnisliste auf Tests von markierten Builds, damit wir nur bestimmte Meilenstein-Builds der zu testenden Anwendung in Betracht ziehen. Dieser Bericht sammelt Testergebnisdaten für Tests im Rahmen von Testsuiten und Builds. In der folgenden Abfrage

  • Wählen wir die Spalten aus, die wir von dieser Ansicht anzeigen möchten.
  • Beschränken wir das Ergebnis auf die ID des Tests, den wir untersuchen möchten, und die ID der Testsuite, zu dem der Test gehört.
  • Fügen wir eine Einschränkung hinzu, damit nur markierte Builds in Betracht gezogen werden.
SELECT TestName, ExecutionPlanName, VersionName, BuildName, TestRunID, 
  PassedCount, FailedCount, NotExecutedCount
FROM RV_TestStatusExtended
WHERE TestID = ${TESTID|1|Test ID} AND ExecutionPlanID = ${EXECUTIONPLANID|1|Execution Plan ID} AND BuildIsTagged = 1
ORDER BY BuildOrderNumber
Das Ergebnis der SQL-Abfrage liefert alle Testläufe für den ausgewählten Test in der ausgewählten Testsuite. Im folgenden Beispiel sehen Sie, dass der Test für den Build 579_Drop2 wiederholt wurde:
TestName Execution PlanName Version Name BuildName TestRunID Passed Count FailedCount NotExecutedCount
UI Tests EN|SQL2012|IE9|IIS 3.0 579_Drop02 7741797 59 5 0
UI Tests EN|SQL2012|IE9|IIS 3.0 579_Drop02 7745078 63 1 0
UI Tests EN|SQL2012|IE9|IIS 3.0 593_Drop03 7787437 63 1 0
UI Tests EN|SQL2012|IE9|IIS 3.0 605_Drop04 7848720 63 1 0