Wie viele Teams hatten wir früher ein manuelles QA-Mitglied. Nach einer Weile wechselte er in die Position des Entwicklers. Wir haben keine automatisierten Funktions- oder Einheitentests. Was wir haben, ist eine sogenannte Bug-Session. Der springende Punkt ist, das gesamte Team für manuelle Tests zusammenzubringen. Es hilft, das Wissen über das erwartete Verhalten zu teilen, aber ich glaube nicht, dass es ausreicht, weil die Leute es nicht ernst nehmen.
Um die Situation zu verbessern, schlug ich dem Chef vor, eine Teilzeitkraft auszulagern, um die Kosten zu minimieren. Die neue Person kann sich einfach um die zur QA anstehenden Probleme kümmern.
Der Manager sagt, er sehe keinen Wert darin, neue Qualitätssicherung einzuführen, da jeder Ingenieur manuelle Tests durchführen könne. Er bittet mich zu beweisen, dass wir eine neue Person an Bord brauchen. Wie mache ich das? Welche geschäftlichen Vorteile hat es, ein QA-Mitglied im Team zu haben?
Dedizierte Qualitätssicherung
Nun, das ist eine Art "Gotcha" hier. Wenn ich mich für eine ordnungsgemäße Qualitätssicherung einsetze, kämpfe ich normalerweise damit, dass ich pro Sprint XX Stunden für die Qualitätssicherung aufgewendet habe. Normalerweise können Sie die Mathematik auf der Grundlage der Recherchen anderer zusammenstellen, um herauszufinden, was ein ziemlich gutes Gleichgewicht zwischen investierter Zeit und gequetschten Fehlern sein wird.
Diesmal eine Person machen
Meistens können diese Stunden von Ingenieuren übernommen werden und funktionieren tatsächlich gut genug. Ein dedizierter QA-Mitarbeiter ist effizienter, aber wenn Ihr Bedarf nicht ausreicht, um ihn zu rechtfertigen, reicht die Zeit der Ingenieure aus.
Damit Sie Ihrem Chef eine engagierte QA-Person verkaufen können, müssen Sie wirklich nachweisen, dass Sie genügend Zeit für die QA benötigen, um eine Vollzeitstelle zu besetzen. Das Outsourcing einer Teilzeit-QA-Zeit ist ein WIRKLICH harter Verkauf, und meiner Erfahrung nach einer, der normalerweise mehr schadet als hilft.
QA-Zeit optimal nutzen
Sie lassen also Ihr gesamtes Entwicklerteam seine Arbeit fallen lassen und manuelle Qualitätssicherung durchführen ... Das ... ist schlecht. Wenn Sie viel Zeit darauf verwenden können, alles manuell zu testen, sollten Sie in der Lage sein, Zeit für die Durchführung ordnungsgemäßer Komponenten- und Integrationstests aufzuwenden! Normalerweise ist das beste Preis-Leistungs-Verhältnis 15 % bis 20 % Ihrer Entwicklungszeit, die für die Bereinigung von altem Code, Fehlerkorrekturen und nicht produktionsbezogenen Projekten wie das Erstellen von Tests, das Aufräumen von Datenbanken, die Optimierung usw. aufgewendet wird. (Der Mist das muss getan werden, das bringt nicht direkt Geld)
Als Entwickler kann ein gutes TDD von unschätzbarem Wert sein und Ihnen STUNDEN an Debugging-Problemen ersparen. Sie können sich zuverlässig darauf verlassen, dass jeder Teil Ihres Codes seine Aufgabe erfüllt, und für den Fall, dass etwas kaputt geht, haben Sie einen Test, der sagt, was und wo es kaputt gegangen ist, noch bevor Sie die Benutzeroberfläche hochfahren, um zu sehen, dass es kaputt ist. Dies verkürzt Ihre erforderliche QA-Zeit WEIT. Anstatt "alle Dinge zu testen", stellen Sie jetzt wirklich nur sicher, dass die Benutzeroberfläche in Ordnung ist ... (was eigentlich dagegen spricht, dass Sie eine QA-Person bekommen, es sei denn, Sie bauen einfach automatisierte Tests für diese Person aus ... was ist nicht ideal, aber VIEL besser als keine Automatisierung)
Zusammenfassung
Eine dedizierte QA-Person ist schwer zu verkaufen, und Sie müssen Ihrem Chef zeigen, dass die gesamte Zeit des Ingenieurs, die dem Testen gewidmet ist, in den Händen einer QA-Person weiter gehen würde ...
Aber das ist wirklich nicht Ihr Problem ... Sie müssen Ihre Tests automatisieren, um Ihre QA-Zeit vollständig zu reduzieren.
Kronax
Thorbjørn Ravn Andersen