Wann sollte die Automatisierung beginnen?

8

Ich möchte mit der Automatisierung beginnen. Ich weiß nur nicht, ob dies eine gute Ressource ist. Die Anwendung wächst mit einer exponentiellen Rate, aber ich weiß nicht, an welchem ​​Punkt die Automatisierung das Testen begünstigt.

Können Sie mir Gründe nennen, wenn Sie automatisieren würden, obwohl Sie manuelle Tester haben?

    
onesith 27.04.2010, 23:24
quelle

12 Antworten

2

Ich denke, es hängt von den Leuten ab, die im Unternehmen arbeiten. Manche Leute lieben Automatisierung, manche lieben es weniger. Wenn Ihr Unternehmen es noch nicht implementiert hat, könnte es schwierig werden.

Ich bevorzuge Automatisierung, wegen der Stunden (die bereits erwähnt wurden) und weil Sie größtenteils wissen, was Sie damit erreichen werden.

Sie sollten beides haben, aber ohne Automatisierung und Test wird es sehr schwierig, wenn das Produkt wächst.

    
dan_vitch 27.04.2010, 23:53
quelle
5

Automatisierung ist fast immer ein guter Weg zum Testen. Manuelles Testen ist immer noch wichtig, aber es ist viel fehleranfälliger. Wenn der manuelle Testprozess Tage oder Wochen in Anspruch nimmt, wird es schwierig, Updates mit hoher Geschwindigkeit bereitzustellen. In der Regel ist es einfacher, die Automatisierung zu Beginn eines Projekts einzurichten, da Sie weniger Dinge automatisieren müssen. Sobald Sie Ihr Automatisierungsframework installiert haben, sollte es einfach erweiterbar sein, wenn Ihr Projekt wächst.

Der Versuch, das Testen eines bereits vollständig implementierten Projekts zu automatisieren, wird wahrscheinlich mehr Arbeit erfordern als die Automatisierung von Anfang an. Daher würde ich empfehlen, so bald wie möglich einzusteigen.

    
Andy White 27.04.2010 23:38
quelle
4

Sie automatisieren, weil das Drücken von "go" und das Warten auf 10 Minuten für die Ergebnisse bedeutet, dass Ihr Tester während dieser 10 Minuten andere nützliche Arbeit leisten kann, anstatt die Anwendung zu babysitten.

Beachten Sie, dass ein automatisierter Test jede Nacht während des Schlafs ausgeführt werden kann. Ihre Tester können dann ihre Arbeitszeiten nutzen, um neue nützliche Tests zu schreiben, anstatt dieselben alten Tests immer wieder auszuführen.

Der größte Grund ist, dass wenn Sie ein kleines Ding kurz vor dem Versand geändert haben, mit automatisierten Tests Sie nicht zögern werden, die Tests durchzuführen, obwohl "die Änderung einfach war und nichts gebrochen haben sollte" - und dann atmen Sie ein erleichterter Seufzer, als die automatisierten Tests den Bug auffingen, den Sie eingeführt hatten und kurz vor dem Versand standen.

    
redtuna 27.04.2010 23:35
quelle
2

Mein Grund für die Automatisierung von Tests besteht darin, dass ich konsistente, wiederholbare und zeitnahe Rückmeldungen erhalten kann, dass das, was ich gerade getan habe, korrekt ist.

Manuelles Testen hat auch seinen Platz, aber es ist schwer, genauso überzeugt zu sein, dass es alles richtig abdeckt und das sicher nicht so schnell wie das automatisierte Testen.

Zum Beispiel ist Teil eines meiner Projekte ein Optimierungsalgorithmus, der einige Heuristiken verwendet, um im Suchraum nach guten Lösungen zu suchen. Es gibt jetzt ungefähr 40 verschiedene Heuristiken, die einzeln oder in verschiedenen Kombinationen verwendet werden können, und jedes Treffen mit einem Kunden beinhaltet das Hinzufügen einer neuen Heuristik oder das Erweitern einer bestehenden. Ich muss absolut sicher sein, dass nichts von dieser Arbeit für einen Kunden eine Regression für einen anderen Kunden verursacht, was beinhaltet, dass der Algorithmus in einigen hundert verschiedenen Fällen ausgeführt wird und überprüft wird, ob die Ausgabe (nicht schlechter als) ist / p>

Es wäre unpraktisch, einen manuellen Tester zu bitten, alle diese Testfälle auszuführen, indem er die GUI lädt, die Eingabedatei öffnet und auf "Ausführen" klickt, zumindest nicht oft genug, um ein nützlicher Feedback-Mechanismus zu sein. Die Tests werden typischerweise zehn Mal pro Tag für die kurzen Tests und jede Nacht für die schwereren Tests durchgeführt. Bei einem manuellen Prozess würde das vollständige Feedback wahrscheinlich ein paar Tage dauern, und das Beheben eines Fehlers, der vor ein paar Tagen eingeführt wurde, ist viel schwieriger als das Beheben eines Fehlers, der innerhalb der letzten halben Stunde eingeführt wurde.

Es wäre auch sehr schwierig, sicherzustellen, dass alle "Augen-zu-Auge" -Überprüfungen der Ergebnisse so gut sind wie früher, so dass die Ergebnisüberprüfungen automatisiert werden müssen. Aber wenn Sie das automatisieren wollen, können Sie das Ganze auch automatisieren. Es ist nicht schwer.

Ein weiterer Vorteil des automatisierten Testens, aus der Erfahrung mit der Arbeit mit einem Projekt, das keine hatte, ist, dass wenn Sie manuelle Tests haben, die nicht ausführlich dokumentiert sind, dann wenn das Projekt ruht (anscheinend im "Wartungsmodus") Ein Jahr später startet die aktive Entwicklung wieder. Niemand kann sich daran erinnern, wie man die Tests durchführt oder was die erwarteten Ergebnisse sind, und man führt einen ganzen Haufen alberner Regressionen ein, die ewig dauern. Wenn Sie andererseits Ihre Tests so detailliert dokumentieren, dass sie ein Jahr später abgerufen werden können, haben Sie diese im Wesentlichen bereits automatisiert: Sie müssen die Dokumentation lediglich ausführbar machen.

Meiner Erfahrung nach müssen Sie ungefähr 2 Stunden vor dem Punkt beginnen, an dem Sie plötzlich bemerken, dass Sie vor zwei Stunden mit dem Testen beginnen sollten:)

    
Dave Turner 27.04.2010 23:48
quelle
2
  

Können Sie mir Gründe nennen, wenn Sie automatisieren würden, obwohl Sie manuelle Tester haben?

Ich würde alles automatisieren, was automatisiert werden kann. Was ist der Mehrwert, wenn man ein menschliches Gehirn für etwas verwendet, das von einer Maschine wiederholbar ausgeführt werden kann? Und was ist mit persönlicher Entwicklung? Ich bevorzuge es, menschliche Gehirne für etwas zu verwenden, das sie besser können als Maschinen: denken.

    
Pascal Thivent 28.04.2010 21:16
quelle
1

Das Wiederholen von Tests ist bei manuellen Tests schmerzhaft und fehleranfällig. Wenn die Anwendung geändert wird, müssen Tests wiederholt werden.

    
Don Roby 27.04.2010 23:39
quelle
0

Machen Sie Tests effizienter - selbst wenn Sie manuelle Tester haben, wenn sie (oder Sie) automatisierte Tests implementieren können, dann können viel mehr Fälle untersucht werden. Wenn Sie Ihre eigenen automatisierten Tests schreiben, erhalten Sie möglicherweise auch einen Einblick in Ihren eigenen Code.

    
Pete Schlette 27.04.2010 23:34
quelle
0

automatische Tests können auch Benchmarks und Probleme mit der Benutzeroberfläche identifizieren ... das konnte manuell nicht einmal schnell gemacht werden:)

    
user184365 27.04.2010 23:44
quelle
0

Stellen Sie sich vor, dass die Größe des Programms und die Anzahl der Tests linear mit der Zeit zunimmt und dass Sie kontinuierliche (tägliche) Integrations- und Regressionstests durchführen möchten. In diesem Fall testen Sie am ersten Tag eine Sache, am zweiten Tag testen Sie zwei, am dritten Tag testen Sie drei usw.

Der gesamte Testaufwand für manuelle Tests steigt mit dem Quadrat der Größe des Programms: aufgrund von erneuten Tests und erneuten Tests.

Wenn Sie nicht automatisieren, werden Sie keine regelmäßigen, vollständigen Regressionstests durchführen.

    
ChrisW 27.04.2010 23:47
quelle
0

Sie sollten so schnell wie möglich automatisieren. Viele Studien haben gezeigt, dass je später ein Defekt im Entwicklungszyklus gefunden wird, desto teurer ist eine Reparatur. Die Automatisierung ermöglicht es, Defekte zum frühestmöglichen Zeitpunkt zu finden (vorausgesetzt, Sie führen diese automatisierten Tests so schnell wie möglich durch).

Je früher Sie mit dem Schreiben automatisierter Tests beginnen, desto schneller können Ihre Entwickler mit der Ausführung dieser automatisierten Tests beginnen und / oder sie können in einer Umgebung mit kontinuierlicher Integration ausgeführt werden. Und sobald das passiert, finden Sie Fehler früher, was dem Unternehmen Geld spart und die Entwickler glücklich macht, weil es ihnen ermöglicht, Code mit höherer Qualität zu veröffentlichen. Es gibt ihnen auch das Vertrauen, Änderungen vorzunehmen, weil sie schnell sehen können, ob es eine Regression verursacht.

Außerdem macht es Ihre Qualitätsingenieure viel mehr zu einem Teil des Gesamtprozesses, anstatt zu glauben, dass ihre Bemühungen etwas angehängt sind, nachdem die meiste Arbeit bereits getan wurde.

    
Bryan Oakley 28.04.2010 22:30
quelle
0

Es gibt einige Faustregeln, bevor Sie mit der Automatisierung beginnen. Stellen Sie sicher, dass Ihre Anwendung stabil genug ist. Versuchen Sie zweitens, die Automatisierung mit z. Erstellen eines Smoke-Testskripts, das anfänglich nur wichtige (nur kritische Teile der Funktionalität) Teile berührt. Zum Beispiel, wenn es eine Bank-Anwendung ist, zunächst nur automatisieren, wenn der Benutzer in der Lage ist, sich anzumelden und seinen Kontostand usw. und nichts mehr oder weniger überprüfen. Auf diese Weise versuchen Sie, das Script-Repository zu erweitern, da die Anwendung mit der Zeit stabiler wird. Aber vor allem fragen Sie sich, was genau der Zweck ist, den Sie mit Automatisierung lösen wollen.

Unter Link kann auch helfen:

Voraussetzungen zum Starten des Automatisierungstests

So planen Sie die Testautomatisierung

    
Sachin 25.12.2014 06:18
quelle
0
  1. Jedes Unternehmen sollte seine Testfälle automatisieren.
  2. Automatisieren Sie Regressionstestfälle.
  3. Befolgen Sie die BDD- und POM-Methodik.
  4. Code sollte wiederverwendbar sein.
  5. -Code sollte immer maschinenunabhängig sein.
  6. Die Berichterstattungsmethode sollte einfach genug sein, damit die Projekteigentümer leicht davon erfahren können.
  7. integriere CI durch JENKINS / cron.
  8. Automatisierung erfordert Hardwarekosten und Zeit für die Automatisierung.
akhilesh gulati 14.02.2017 16:37
quelle

Tags und Links