In der Softwareentwicklung ist eine Testsuite, die weniger als "Validierungssuite" bekannt ist, eine Sammlung von Testfällen, die zum Testen eines Softwareprogramms verwendet werden sollen, um zu zeigen, dass es bestimmte Verhaltensweisen aufweist. Eine Testsuite enthält häufig detaillierte Anweisungen oder Ziele für jede Sammlung von Testfällen und Informationen zur Systemkonfiguration, die während des Tests verwendet werden soll. Eine Gruppe von Testfällen kann auch vorausgesetzte Zustände oder Schritte sowie Beschreibungen der folgenden Tests enthalten.
Sammlungen von Testfällen werden manchmal fälschlicherweise als Testplan, Testskript oder sogar als Testszenario bezeichnet.
Gelegentlich werden Testsuiten verwendet, um ähnliche Testfälle zu gruppieren. Ein System verfügt möglicherweise über eine Rauchtestsuite, die nur aus Rauchtests besteht, oder über eine Testsuite für bestimmte Funktionen im System. Es kann auch alle Tests enthalten und angeben, ob ein Test als Rauchtest oder für eine bestimmte Funktionalität verwendet werden soll.
Beim modellbasierten Testen unterscheidet man zwischen abstrakten Testsuiten, bei denen es sich um Sammlungen abstrakter Testfälle handelt, die aus einem übergeordneten Modell des zu testenden Systems abgeleitet wurden, und ausführbaren Testsuiten, die aus abstrakten Testsuiten abgeleitet werden, indem die konkreten Informationen bereitgestellt werden. Details auf niedrigerer Ebene, die zum Ausführen dieser Suite durch ein Programm erforderlich sind. Eine abstrakte Testsuite kann nicht direkt auf dem tatsächlich getesteten System (SUT) verwendet werden, da abstrakte Testfälle auf einem hohen Abstraktionsniveau bleiben und keine konkreten Details über das SUT und seine Umgebung enthalten. Eine ausführbare Testsuite arbeitet auf einem ausreichend detaillierten richtig kommuniziert mit dem SUT und eine Testumgebung ist in der Regel vorhanden, um die ausführbare Testsuite mit dem SUT zu verbinden.
Eine Testsuite für eine Subroutine zum Testen der Primalität kann aus einer Liste von Zahlen und ihrer Primalität (Primzahl oder zusammengesetzt) zusammen mit einer Subroutine zum Testen bestehen. Die Testunterroutine würde dem Primalitätstester jede Nummer in der Liste liefern und überprüfen, ob das Ergebnis jedes Tests korrekt ist.