Wenn ich eine Web-App erstelle, teste ich meine Arbeit im Browser, um festzustellen, ob ich Fehler erhalte, und behebe sie. Ich habe komplexe Anwendungen erstellt und das Testen auf diese Weise war einfach und schnell. Ich habe auf youtube viele Videos über phpunit gesehen und kann keinen Zweck dafür finden. Warum ist diese Bibliothek nützlich? Ist phpunit mehr für PHP-Framworks wie cakephp oder zend? Ich benutze kein Framework, nur Core-PHP. Wäre oder kann phpunit für mich nützlich sein? Wenn ja wie
Es gibt auch xdebug, aber ich bin mir nicht sicher, ob es damit zusammenhängt.
php
unit-testing
web-applications
Sarmen B.
quelle
quelle
Antworten:
Ja auf jeden Fall.
phpunit gehört zur Familie der xUnit-Testbibliotheken . Mit diesen Bibliotheken erstellen Sie automatisch ausführbare Tests, die das Verhalten Ihrer Anwendung überprüfen. Dies ist unter anderem wichtig, um sicherzustellen, dass Ihre Änderungen die vorhandene Funktionalität nicht beeinträchtigen.
Alle Gründe für automatisierte Tests aufzulisten, die verschiedenen Arten und Technologien wären zu viel. Lesen Sie die folgenden Links:
quelle
Angenommen, Sie wollten Ihre Anwendung bei jeder Bereitstellung manuell testen. Wie würden Sie das machen?
Zunächst einmal könnten Sie eine Liste aller Dinge erstellen, die Sie testen möchten, damit Sie später nicht vergessen, etwas zu testen. Dann würden Sie wahrscheinlich die Schritte für jeden Test aufschreiben, um sicherzustellen, dass Sie sie jedes Mal auf die gleiche Weise durchgeführt haben. Wenn Sie nicht sicherstellen würden, dass der von Ihnen verwendete Testprozess konsistent ist, wären Ihre Ergebnisse nicht konsistent.
Nun, da Sie die Liste der Tests haben, die Sie durchführen müssen, öffnen Sie Ihren Browser, lesen Sie die Schritte des ersten Tests, führen Sie sie durch und notieren Sie sich das Ergebnis. Sie würden diesen Vorgang für jeden Test in Ihrer Liste wiederholen.
Die Anzahl der Tests, die Sie durchführen, würde mit der Zunahme Ihrer Anwendung und dem Auffinden neuer Fehler weiter zunehmen. Sie können diese Tests natürlich nur mit menschlicher Geschwindigkeit durchführen, was sie ziemlich langsam macht.
Die Ironie dabei ist, dass Sie beim mechanischen Durchlaufen einer Liste von Operationen rechnen. Du machst es einfach viel langsamer als zum Beispiel ein Computer.
Dies ist neben vielen anderen guten Gründen der Grund, warum wir Komponententests schreiben: Sie überlassen es dem Computer, das Rechnen zu erledigen, damit Sie es nicht müssen.
Ich kann eine umfassende Unit-Test-Suite schnell genug ausführen, um sie während der Entwicklung häufig zu verwenden, nicht nur einmal pro Woche vor der Bereitstellung. So kann ich Fehler schneller erkennen und Zeit und Geld sparen.
Ich kann sogar Tests schreiben, die das Verhalten des Systems vorhersagen, und dann dieses Verhalten schreiben (von dem ich bereits weiß, dass es richtig ist, weil ich es gerade getestet habe), ein Prozess, der als Test Driven Development bekannt ist.
quelle
Manuelle Tests (dh Klicken auf die Anwendung im Browser) werden eigentlich als Funktionstests bezeichnet. Funktionstests und Komponententests sind zwei verschiedene Methoden, die in der Qualitätssicherung verwendet werden. Warum denkst du, kannst du sie nicht beide benutzen?
Unit-Tests werden verwendet, um zu testen, ob Ihr Code wie erwartet funktioniert (z. B. ob Ihr Web-Service Fehler angemessen behandelt oder die Ergebnisse wie erwartet zurückgibt).
Wenn Sie auf Ihre Anwendung klicken, testen Sie die Funktionalität Ihrer Anwendung.
Unit-Tests haben viele Vorteile - sie können beim Refactoring sehr nützlich sein, da Sie bestätigen können, dass der Code wie erwartet funktioniert. Wenn jemand Ihren Code liest, kann es auch sehr hilfreich sein, die beabsichtigte Verwendung des Codes in den Komponententests zu überprüfen.
quelle
Ja!
Ja. Absolut ja.
Eigentlich braucht das Qualifikation. Unit-Testing-Frameworks wie PHPunit sind nützlich, wenn Sie eine Anwendung schreiben und warten, die von anderen Personen verwendet werden soll.
Die Gründe, warum Unit-Tests nützlich sind, umfassen
Regressionstests für bestimmte Fehler, die Sie aufgedeckt haben, und
Das Ausführen von Komponententests ist viel schneller als das manuelle Testen und kann daher viel gründlicher sein.
In der Firma, für die ich arbeite, schreiben wir Unit-Tests, bevor wir den Code schreiben, der sie übergibt. Dies hilft uns dabei, vernünftige, testbare Designs zu erstellen (da wir überlegen müssen, was wir schreiben, bevor wir es tun!) Und es bietet eine einfache Möglichkeit, zu behaupten, dass unser Code den Anforderungen des Benutzers entspricht.
quelle