Ich habe eine PHP-App, die sehr groß ist. Normalerweise arbeiten 2-3 Entwickler Vollzeit daran und wir kommen an den Punkt, an dem wir Änderungen vornehmen und Fehler erstellen (Hustenfunktionen!). Die Software ist per se nicht komplex, es ist nur viel los (35 ~ Controller, ungefähr die gleichen Modelle usw.).
Selbst wenn Sie vorsichtig sind, kann eine Änderung in dieser Ansicht (Ändern einer ID für ein Element) leicht eine Ajax-Abfrage zerstören, die unter bestimmten Bedingungen stattfindet (abgemeldet, während Sie auf einem Fuß stehen).
Unit-Tests sind die ersten Dinge, die mir in den Sinn kommen, aber wir haben sie in einer anderen App ausprobiert, und es ist so einfach, sie zu vergessen / oder mehr Zeit damit zu verbringen, Tests zu schreiben als Tests durchzuführen. Wir haben eine Staging-Umgebung, in der der Code überprüft wird, bevor er live übertragen wird.
Vielleicht brauchen wir eine Teilzeit-Q / A-Person?
Jeder hat irgendwelche Vorschläge / Gedanken.
quelle
Antworten:
Ja, Sie benötigen Q / A-Mitarbeiter. Einige der vielen Gründe sind
Nichts geht über die produktive Zusammenarbeit zwischen einem Entwickler und einem Tester, um die Systemqualität durch das Dach zu treiben. Ein Entwickler bemerkt häufig Symptome, dass etwas nicht stimmt, bevor der Tester dies tun würde. Ein Entwickler kann einem Tester häufig empfehlen, ein Problem viel effizienter zu reproduzieren und einen ordnungsgemäßen Problembericht zu erstellen, dh die Details anzugeben, die tatsächlich erforderlich sind, um das Problem herauszufinden. All dies erfordert jedoch mindestens einen Tester, mit dem Sie zusammenarbeiten können.
quelle
Sie benötigen höchstwahrscheinlich mehr oder bessere Regressionstests (keine speziellen Unit- Tests). Welche Art von Tests sollten Sie sein, um sich selbst zu analysieren, aber sie sollten die Fehler erkennen, von denen Sie sprechen. Ich schlage vor, Sie erstellen einen Testplan und priorisieren diese Tests. Wenn Sie dies tun, denken Sie zunächst nicht zu viel über die Testautomatisierung nach.
Fragen Sie sich anschließend, ob Sie einige oder die meisten Tests mit angemessenem Aufwand automatisieren können. Wenn die Antwort ja ist, sollten Sie sie programmieren. Wenn die Antwort "Nein" lautet und Sie der Meinung sind, dass die "Teilzeit-Q / A-Person" billiger ist, sollte es offensichtlich sein, was Sie brauchen. In den meisten Fällen ist es eine gute Idee, beides zu haben - eine Q / A-Person zum manuellen Testen und Erfinden neuer Tests sowie viele automatisierte Regressionstests.
quelle
Stellen Sie eine professionelle Qualitätssicherung ein
Dies sollte erfolgen, wenn Sie ein kommerzielles Projekt entwickeln. Ein Produkt ohne eine robuste Teststrategie fertig zu haben, würde Sie mit Fehlerkorrekturen mehr kosten. Darüber hinaus hängt die Gewinnung oder Bindung neuer Kunden davon ab, wie gut Ihre Anwendung getestet wurde.
Im Allgemeinen sollten Unit-Tests auf Ihre Codebasis angewendet werden, Integrationstests und manuelle Tests sollten jedoch nicht verworfen werden.
quelle
Unit-Tests sind eine wirklich gute Idee, insbesondere wenn Ihr Projekt wächst. Wenn das Schreiben von Unit-Tests zur Gewohnheit wird, erleichtert dies Ihre Arbeit erheblich. Auf Youtube gibt es ein Video über das Schreiben von sauberem Code, der einfacher zu warten und zu testen ist.
Auch ein QS-Ingenieur ist ein Muss. Ein guter QS-Tester findet nicht nur Fehler in der Funktionalität, sondern testet auch, ob die App benutzerfreundlich ist (was für Sie selbst fast unmöglich zu testen ist). In diesem schönen Artikel erfahren Sie, wie Sie mit dem QA-Team Zeit und Geld sparen und bessere Software bereitstellen können.
quelle
15 Controller und Modelle sind nicht sehr groß. Es dauert einige Zeit, bis der Schreibtest zur Gewohnheit wird. Es hilft sehr, sich gegenseitig (zuerst auf freundliche Weise) zu treten.
Es gibt Tools, die die Testabdeckung in gewissem Umfang steuern können. Code Coverage Tools für PHP
quelle