Angenommen, ich habe eine App geschrieben, die wie folgt aufgerufen werden kann:
my_magic_app --foo=yes --bar=5003 --baz=best_baz_ever
Nehmen wir nun an, ich möchte es testen, indem der Balkenbereich von einer Zahl zur anderen reicht, foo entweder ja oder nein ist und baz entweder alle Zeichenfolgen bis zu einer bestimmten Länge oder Zeichenfolgen aus einem bestimmten Wörterbuch sind, das ich in einer Datei habe. Außerdem möchte ich nicht alle Kombinationen, sondern nur unter einer bestimmten Bedingung (z. B. bar kann nicht über 5000 sein, wenn foo negativ ist).
Ich könnte ein Skript schreiben, um diese Generierung durchzuführen, die Bedingung anzuwenden usw. - aber ich habe mich gefragt, ob es so etwas schon gibt.
Anforderungen:
Die Category-Partition -Methode beschreibt diese Art der Constraint-basierten Testgenerierung. TSLGenerator ist ein Dienstprogramm, das unter bestimmten Einschränkungen Tests für Sie generieren kann. Die Ausgabe erfolgt in Form einer Testspezifikation; Sie sind einfach zu lesen, wenn Sie sie auf Ihre eigene Art und Weise in Unit-Test-Stubs oder Befehle umwandeln möchten.
Methode und Software werden in diesem Modul aus einem GATech Graduiertenkolleg beschrieben.
Sie könnten eine Kombination aus All-Pair-Tests und Boundary-Tests in Betracht ziehen. Das Testen aller Paare ist ein Verfahren zum Reduzieren der Anzahl von Testvektoren auf diejenigen, die alle Kombinationspaare ausüben. Es kann die Anzahl der Testfälle stark reduzieren, während die Testabdeckung nicht nennenswert reduziert wird. Natürlich müssen Sie Ihre Testanforderungen erfüllen, aber dies ist wirklich eine großartige Methode, wenn Sie sie verwenden können. Beim Testen von Zahlenbereichen ist es meist nur wirklich interessant, die Grenzen zu prüfen. Wenn eine Eingabe beispielsweise 0-5000 sein kann, dann sind die interessanten Testfälle -1, 0, 1, 4999, 5000 und 5001.
Was ich in der Vergangenheit zum Testen getan habe, war ein Skript zusammenzustellen, das alle Paare für Parameter verwendet, die unterschiedliche Auswahlmöglichkeiten haben, und Grenztests für numerische Parameter.
Ich glaube nicht, dass Sie es vermeiden werden, eine Art Skript zu schreiben, aber Sie können sicherlich Tools verwenden, die andere Leute entwickelt haben. James Bach, ein „berühmter“ Softwaretester, hat ein All-Pairs-Tool geschrieben, das Sie verwenden könnten.
CPerkins
einpoklum
dramatisch
einpoklum