Mein Rat ist, dass jede Programmier-/Codierungserfahrung für das Testen von Vorteil ist. Je besser ihr verstehen könnt, was die Anwendung vor euch macht, desto besser könnt ihr sie testen. Außerdem kommen und gehen bestimmte Tools und Sprachen in ihrer Verwendung und Beliebtheit: Das Erlernen der Grundlagen wird sich auf lange Sicht als nützlich erweisen.
Programmiersprachen gibt es in allen Formen und Größen, aber sie haben (in der Regel) einige grundlegende Dinge gemeinsam, sodass es gut ist, mehr zu sehen. Und wenn ihr bereit seid zu lernen, dann werden größere Themen wie objektorientierte Programmierung, Web- und Befehlsskripting, Programmierstil und Wiederverwendung von Code insgesamt hilfreich sein. Seht euch auf jeden Fall Skriptsprachen wie Python oder Perl, Javascript an: Sie können für die täglichen Testaufgaben unverzichtbar sein.
Was spezifische Vorschläge betrifft, so ist Python eine gute Sprache für den Anfang. Sie ist leicht verfügbar und plattformunabhängig, was auf lange Sicht von Vorteil ist. Zudem verfügt Python über einige ausgereifte Testwerkzeuge (nose, unittest, pytest) und eine große Auswahl an anderen Bibliotheken und Werkzeugen (BeautifulSoup für die HTML-Verarbeitung, Selenium-Tools). Es hat auch eine gute Community für Hilfe und eine unkomplizierte Syntax. Ich habe aus ähnlichen Gründen auch viel Gutes über Ruby gehört, und vielleicht sind die Testwerkzeuge (insbesondere Watir) ausgereifter.
Ich würde einen etwas anderen Ansatz empfehlen. Anstatt sich zunächst auf eine bestimmte Sprache zu konzentrieren, würde ich empfehlen, sich auf Programmierkonzepte zu konzentrieren.
Einige gute Bücher sind Programming Langugae Concepts von Carlo Ghezzi, oder Prelude to Programming: Concepts and Design von Elizabeth Drake. (Ein weiteres gutes Buch ist Programming in the Key of C Sharp von Charles Petzold. Es verwendet C#, um Programmierkonzepte zu lehren.)
Wenn jemand die Semantik grundlegender Operationen und die Grundlagen von Datentypen, Kontrollstrukturen, Programmdesign und Datenstrukturen lernt, reduziert sich das Erlernen einer bestimmten Sprache auf das Erlernen der Syntax dieser Sprache.
Man lernt nicht, zu denken oder Ideen zu rationalisieren, indem man einfach lernt, wie man Wörter in einer anderen Sprache wiederholt.
Alles hat einen Kontext.
- Werdet ihr an einem Automatisierungsprojekt teilnehmen oder ein solches starten? Folgen Sie der Sprache dieses Projekts.
- Wollen Sie die Grundlagen der Programmierung und Automatisierung schnell erlernen? Schauen Sie sich Python an; machen Sie einen Codeacademy-ähnlichen Kurs und spielen Sie mit jedem Eintrag auf der Website Learn X in Y Minutes - probieren Sie aus und ändern Sie Dinge, um zu sehen, was passiert. Lernen Sie danach das Page-Object-Muster autokritisch und prüfen Sie immer, ob Sie etwas Erweiterbares bauen, indem Sie gute OO-Programmierung anwenden. In den Python-Tutorials und -Kursen fehlt manchmal diese Art von Kritik.
- Wollen ihr euch den Markt ansehen? Java wird von großen Unternehmen mehr genutzt als C#, weil sie Entwickler haben, die mit Java vertraut sind - Javascript ist je nach Region sehr verbreitet. Der Nachteil hier ist, dass die Gemeinschaft für die Automatisierung in diesen Sprachen nicht so stark ist.
- Möchten Sie mit Dutzenden von Open-Source-Tools experimentieren, die auf Selenium aufbauen? Werfen Sie einen Blick auf Ruby; die Cucumber-Umgebung ist äußerst aktiv und die Integration mit Rails steht im Mittelpunkt. Die Javascript-Community ist ebenso aktiv wie die von Ruby. Diese Sprachen haben eine Menge „magische Programmierung“, wenige Zeilen Code, die eine Menge Dinge tun. Ich liebe sie dafür, aber ich weiß, dass diese Art von elegantem Code schwer zu erfassen sein kann, wenn man Anfänger ist und/oder strenge C-ähnliche Programmierung gelernt hat.
Neueste Kommentare