Wie erfolgt die Arbeit als „QA Engineer“ an einem Projekt im Gegensatz zu einem Mitglied einer „Test Driven Development Team“?

StackOverflow https://stackoverflow.com/questions/3577009

Frage

Since Entschuldigung, wenn ich diese Frage an der falschen Stelle bin gefragt. (Möglicherweise eine des Mini-Stack überläuft spezifisch für Karriereberatung und QA) Ich habe eine erhebliche Menge an Zeit ist vor kurzem für das Lernen über und Umsetzung von Unit-Tests Rahmen für unsere Projekte.

Vor der Einführung eines Einheit Test-Framework, unsere Methode war, um Code, Test manuell, verpflichten, Hoffnung Dinge nicht brechen oder stromaufwärts. Ein sehr reaktives System.

Nun, wir alle verstehen, dass die Dinge müssen getestet werden und dass automatisierte Tests ist effizient und gut. Derzeit wird jedoch die Rolle zu sein scheint „Sie tun, um die Prüfung“ und „Schreib automatisierte Tests“

manuelle Tests zu tun, ist möglich, aber fühlt sich überwältigend (da es Fehler die ganze Zeit) und ein viel wie eine Unterauslastung der meine Fähigkeiten.

Ich habe Schwierigkeiten in dem zweiten Teil des Antrags erreichen. Schreiben automatisierte Tests ist schwierig, wenn der Code nicht ausgelegt ist prüfbar sein.

Ich habe die Verantwortung für QA bekam - aber - ich kann nur Ressourcen auf Test Driven Development finden.

Was Methoden kann ich effektiver in meiner QA Rolle werden, wo die anderen Entwickler noch nicht mit Sorge Schreiben prüfbaren Codes zu erstellen?

War es hilfreich?

Lösung

Ich würde denken, dass die Entwickler immer bis zu Geschwindigkeit, mit Unit-Tests Ihr Hauptanliegen sein würde! Auf diese Weise ist jeder ein Gewinner.

Bis zu diesem Punkt, wie Sie sind in der Tat der Arbeit mit Legacy-Code, Michael Feder Buch Arbeiten mit effektiv Legacy-Code offenbar viele nützliche Ratschläge enthält ein solcher Code auf die Prüfung.

Sie wahrscheinlich wissen das bereits, aber auch Verhalten überprüfen Driven Development (BDD), die über das Erstellen von automatisierten Integrationstests eine Menge enthält, die ich denke, für Sie von Interesse sein würde.

Andere Tipps

Das Problem mit den Namen Testgetriebene Entwicklung und unit-testing , ist, dass sie bedeuten, sie sind über die Software zu testen. Sie sind nicht . TDD und Unit-Tests sind über Design , und sie sind im Wesentlichen in der Verantwortung der Entwickler.

Die Rolle des QA Analyst ist nach wie vor von größter Bedeutung für jedes Team TDD üben und es wird ein lang, lang Zeit, bevor Sie mich selbst aus der Arbeit als Krieg QA!

sein

Werfen Sie einen Blick auf Acceptance Test Driven Development und prüft, bekommen mehr an den Anforderungen Phase beteiligt durch automatisierte Akzeptanztests schreiben, vielleicht mit einem Werkzeug wie FitNesse .

Handbuch, explorative Tests haben immer noch seinen Platz, natürlich. Aber Sie sollten als Verletzung Ihrer grundlegenden Menschenrechte zu wiederholen Regressionstests betrachten!

Ich denke, die Entwickler sollten mindestens Schreib Unit-Tests (möglicherweise mit TDD). Dies ist der Mindeststandard zu garantieren, dass der Code, den sie überprüfen in potenziell arbeiten.

Ich verstehe die QA Rolle als jemand höhere Level-Tests bereitstellt, um sicherzustellen, dass die Software der Kunden Anforderungen erfüllt, so dass Sie nicht wirklich einzelne Klassen testen würden, aber Module oder die gesamte Anwendung. Auch wenn die Entwickler nicht Unit-Tests zur Verfügung stellen, sollten Sie noch in der Lage sein, End-to-End-Tests zu automatisieren (das in der Regel beinhaltet die Einrichtung von Testumgebung zu automatisieren, etc.) - Ihre Arbeit frustrierend sein wird, aber:)

Nach meiner Erfahrung Menschen drehen sich um nicht über Nacht über das Schreiben tests-- davon zu überzeugen, ist ein Prozess. Programmierer werden versuchen, schließlich widerstrebend, aber es ist noch Wochen oder Monate, bevor sie Anwälte sind und regelmäßige Praxis. Das bedeutet nicht, dass Sie aufgeben sollen, nur erkennen, dass es ein harter Kampf, und braucht Unterstützung von oben, und einige guten Anwälte aus dem Team.

Sie können tauchen Sie ein in Schreiben von Tests selbst:

Da etwa die Hälfte der Fehler sind „Regressionen“ früherer Fehler, in Ihrer Situation, die ich auf das Schreiben Regressionstests für neue und kritische Fehler konzentrieren. Dadurch werden Sie deutlich in Ihrem normalen Q.A. helfen Arbeit, sondern auch ein ausgezeichnetes Sicherheitsnetz für zukünftige Fehler sein.

Auch wenn Sie nicht sofort Entwickler Schreibtests überzeugen können, werden Sie einige wertvolle Tests haben, dass sie bald den Wert sehen. Diese Arbeit kann in dem Verkauf die Idee der Entwickler Schreiben von Unit-Tests helfen.

Ich war vor einigen Jahren in einer ähnlichen Rolle arbeiten, so dass ich Ihre Probleme verstehen kann. Für die Entwickler immer mit Unit-Tests zu beschleunigen, schlage ich vor, Mentoring und Paarprogrammierung Sitzungen. Das Schreiben die erste Einheit Test für eine schlecht gestaltete Klasse kann ein echten Schmerzen. Es ist einfacher und macht mehr Spaß, wenn es zwei von Ihnen ist -. Nicht die Chance, dumme Fehler in den ersten Refactorings Senkung zu erwähnen

Die Federn Buch, wie bereits von @Grant erwähnt, ist eine unschätzbare Ressource für diesen. Seien Sie geduldig und beharrlich durch die ersten Monate, bevor die Ergebnisse (sowohl in der Testabdeckung und im Team Haltung) langsam zu zeigen beginnen.

Sie müssen auch starke Management-Unterstützung haben - ohne dass dies, gibt es versucht keinen Sinn. Das Management muss verstehen, dass der Aufbau von Unit-Tests ist ein Investitionen , die einen bedeutenden Teil Ihrer Zeit und Energie verbraucht jetzt , und es wird nur in den kommenden Jahren zurückzahlen. Wenn sie den gleichen Termindruck wie eh und je auf mitzuhalten bestehen, werden Sie unweigerlich scheitern. Entwickler können nicht lernen und neue Fähigkeiten und Denkweisen üben, wenn sie sehr gestresst sind und / oder demotiviert.

(Die andere Seite der Medaille ist natürlich, dass man denken muss, ob die Investition Gewinn bringen wird. Gebäude Unit-Tests für Legacy-Code ist es nur wert, wenn die Verwaltung sieht vor, dass das Produkt erhalten und verwendet wird für viele Jahre zu kommen.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top