Tatsächliche Erfahrung von nicht-technischen Teammitgliedern beim Schreiben von Selenium-Code: Es lief nicht gut
Wir hatten genau diese Situation, in der wir ein nicht technisches Teammitglied hatten (in diesem Fall eine SQA ohne Programmierhintergrund). Das lief leider nicht sehr gut.
Durch Aufzeichnen und Abspielen wurden nicht wartbare Tests erstellt
Zuerst hatte unser Team die Aufnahme- und Spielwerkzeuge ausprobiert, aber wie andere gesagt haben, sind die Tests, die es generiert, sehr spröde und schwer zu warten. Unsere SQA geriet schließlich in das Muster, einen Test jedes Mal neu aufzuzeichnen, wenn er sich änderte, was nicht wirklich so effizient war, insbesondere wenn eine Änderung die meisten unserer Tests durchbrach (wir hatten eine Änderung an der Hauptseite unserer Website, die ungefähr 60 durchbrach % unserer Tests).
Ohne die Hilfe von Personen mit Programmierhintergrund war der manuell geschriebene Code schrecklich
Wir haben unsere Selenium-Tests in Java geschrieben und die SQA hatte Java noch nie zuvor verwendet, also lernte er es selbst. Wir haben festgestellt, dass die Tests mit einigen wirklich schlechten Programmierpraktiken abgeschlossen wurden:
- Verwendung öffentlicher statischer Variablen, wenn es sich eigentlich um private Instanzvariablen handeln sollte
- Codeblöcke haben, die nichts bewirken
- Viele Thread.sleep () anstelle von WebDriverWait, da er nicht herausfinden konnte, wie benutzerdefinierte Bedingungen geschrieben werden
- Wirklich umständlicher Unit-Test: Ich habe einige
assertTrue(false)
Zeilen gesehen, um einen Test zu beenden
- Schlechte Variablennamen
- Unterdrückung von Ausnahmen, die hätten behandelt werden sollen (oder von vornherein verhindert werden sollten)
- Tests, die unabhängig von der verwendeten Eingabe bestanden wurden
- Ein Code, den wir nie herausgefunden haben und den wir gerade neu geschrieben haben
Als ich im Team ankam, war die ursprüngliche SQA gegangen und das Ausführen eines Tests führte zu einer Reihe von Konsolenausnahmen, die wir einfach ignorieren sollten. Danach haben wir Entwickler involviert und einen Großteil des Codes massiv neu geschrieben, damit er tatsächlich richtig funktioniert und wartbar und leicht verständlich ist.
Wenn nicht-technische Mitarbeiter Selen-Code schreiben sollen, lassen Sie sich von einer technischen Person helfen
Ich denke, dass einige dieser Probleme vermieden worden wären, wenn wir jemanden gehabt hätten, der technisch versiert war, um ihnen zu helfen. Wenn sie erklärt hätten, warum öffentliche statische Variablen stattdessen private Instanzvariablen sein sollten, wie JUnit funktioniert, wie WebDriverWait verwendet wird oder warum es schlecht ist, Thread.sleep () überall zu verteilen, hätten wir möglicherweise besseren Code.
Aber so wie es ist, haben wir Code gefunden, der letztendlich nicht zu warten war, und am Ende haben wir nur das meiste neu geschrieben, was zu einer großen Zeit- und Geldverschwendung geführt hat.