2009-08-21 5 views
3

An meinem Arbeitsplatz verwenden wir szenariobasierte Tests. Wenn jedoch etwas behoben oder ein neuer Patch hinzugefügt wird, werden neue Szenarien hinzugefügt, wodurch die Liste immer länger wird und es 3 Tage dauert, die Anwendung zu testen. Gibt es eine Möglichkeit, die richtigen Tests durchzuführen, ohne lange zu warten? Was verwenden Sie?Softwaretest

Danke

Antwort

5

Nur 3 Tage, um Ihre Anwendung zu testen! Wir haben Testjobs, die vielleicht 15 Tage lang laufen. Und ich denke, andere Lurker hier können Ihnen sagen, dass sie noch größere Testaufgaben haben; Sie kennen den Bohrer - als ich ein Junge war, hatten wir nicht einmal ein Loch in''' Straße zu leben.

Aber ernsthaft, 3 Tage, um einen Release-Kandidaten mit einem Nutzenstrom im Wert von O (USD10^7) scheint mir nicht unverschämt. Auf der anderen Seite, wenn es dauert 3 Tage zu testen, ändern Sie ein Feld auf einer GUI von 12 Zeichen auf 24 Zeichen, dann scheint das ein bisschen zu viel. Ich denke, Ihre Frage könnte besser formuliert werden als "Wie viel unserer Entwicklungszeit sollte für Tests verwendet werden?" und die Antwort könnte etwas von 10% - 50% sein (möglicherweise höher für sicherheitskritische Systeme). Wenn Sie 2 Tage mit der Entwicklung eines Patches verbringen, sollte der Test wahrscheinlich nicht länger als einen halben Tag dauern.

Und ja, das Szenario, in dem Ihre Anwendung Ihre Testsuite erweitert, ist ebenfalls sehr bekannt. Wenn wir jedoch ein neues Stück Funktionalität hinzufügen, neigen wir dazu, neue Tests hinzuzufügen. Ein besserer Ansatz, für den wir nie Zeit haben, obwohl wir immer Zeit haben, damit umzugehen, ihn nicht zu nehmen, ist es, bestehende Tests zu modifizieren. Code ändern -> Tests modifizieren; füge neuen Code hinzu -> füge neue Tests hinzu.

Ja, wir verwenden so viele automatisierte Tests wie möglich; Wir verwenden eine Reihe von Bash-Skripten, Python-Programmen und make, um unsere automatisierten Tests zu steuern. Die Prozessoren, die wir benutzen, beklagen sich nie, dass Tests langweilig und sich wiederholend sind, so dass wir keine ethischen Bedenken haben, die armen Dawgs in der Nähe von Hitzetod zu arbeiten. Leider verhindern lokale Arbeitsgesetze die Anwendung der gleichen robusten Managementprinzipien auf die kohlenstoffbasierten Lebensformen in unseren Büros.

+0

+1 Sie sollten ein Buch schreiben. –

+0

Also, was Sie sagen, ist auf der Business- (Benutzer) Ebene die einzige Möglichkeit zu testen ist Fall Szenarien/Testfälle? –

+2

Nein, das sage ich nicht; Ich mache nur selten aussagekräftige Aussagen darüber, wie Sie in Ihrem Geschäft arbeiten sollten. Ich biete nur eine Perspektive an, wie wir bei unserem Geschäft arbeiten. Ich würde sagen, dass, da Sie sich auf Benutzertests beziehen, ich oft gesehen habe und weiterhin sehe, dass es Benutzern im Allgemeinen angenehm ist, Testszenarien zu durchlaufen. –

4

CI kann Ihnen dabei helfen, Automatisierung ist das Schlüsselwort. Für den Testprozess müssen Sie Automatisierungstests, UT, Schnittstellentests, UI-basierte Tests und Leistungstests durchführen. Aber es muss ein Wurzelkonzept akzeptiert werden, Qualität ist nicht gleich Testen. UT kann von RD erstellt werden, bevor die Codierung abgeschlossen ist; UI-basiertes Testen und Interface-Testing werden von QA im gesamten Codierungsprozess entwickelt. Wenn die neue Feder fertig ist, gibt es eine Testsuite, um die Qualität zu gewährleisten. Das einzige, was Sie tun müssen, ist ein Funktionstest, bei dem die Automatisierungsprüfung nicht abgedeckt werden kann.

1

Ich glaube, Sie sollten Agile Methodology gehen, das wird Ihnen helfen, kleine Releases zu erstellen und die Szenarien werden nicht so lange sein, wie sie jetzt bekommen. Außerdem können Sie einige Szenarien automatisieren, die wiederholt für Regressionstests verwendet werden.

0

Ich glaube auch, dass Sie für Agile gehen sollten. Als Agile ist eine Kombination von iterativen & inkrementellen Prozess daher die Story-Punkte von Client-Anforderungen geteilt, d. H. Anforderungen & Updates. Sie können die Anforderung in der Reihenfolge der Priorität sortieren & können für Sprints planen, d. h. alle Anforderungen sollten in hoher bis niedriger Reihenfolge als Produkt Rückstand bestellt werden und Sprints können aus dem Produkt Backlog vorbereitet werden. Wenn also für Sprint 1 die Entwicklung läuft, können Sie Szenarien für das Testen von Sprint 1 in diesem Bereich vorbereiten. nach der Sprint-Lieferung, wenn es eine Änderungsanforderung in einem Prozess gibt das gleiche kann leicht verwaltet werden und mit Hilfe von Gedränge & Sprint retrospektiven Sitzungen kann der Prozess in den kommenden Projekten verbessert werden.Somit kann Projekt in den Sprints leicht & geliefert werden in kurzer Zeit.

0

Warum automatisieren Sie Ihre Anwendung nicht Testanzug? Wann immer es eine Lücke zwischen der aktuellen und der nächsten Version gibt, können Sie die bestehenden Testfälle in der Zwischenzeit automatisieren. Dies spart nicht nur die Testzykluszeit, sondern auch die Regressionstests werden genauer, ohne ein Testszenario zu überspringen oder zu verpassen.
Sie können mindestens 60-70% Ihrer gesamten Testfälle automatisieren, was die Testdurchlaufzeit erheblich verkürzt und über Nacht ausgeführt werden kann.