[JAVA] [Buchbesprechung] Unit-Test am Programmierstandort, der ohne Erfahrung durchgeführt werden kann

Ich wollte schon immer ein Testbuch lesen, aber ich habe dieses Buch zufällig in einem Buchladen gefunden, also habe ich es gekauft. Obwohl ich viele Möglichkeiten habe, Unit-Tests vor Ort durchzuführen, habe ich nicht viel gelernt, und ich dachte, es wäre eine gute Gelegenheit, sie zu lesen.

http://www.shoeisha.co.jp/book/detail/9784798118918

[Zusammensetzung und Inhalt]

Dieses Buch besteht aus drei Teilen. In jedem Teil gibt es detaillierte Kapitel. Ich werde eine kurze Erklärung zu jedem Teil (Kapitel) und den Eindrücken und Notizen nach dem Lesen schreiben, die ich darin empfunden habe.

** <Teil 1 Unit Test ist nicht zu unterschätzen> **

――Kapitel 1: Warum empfehlen Sie einen Komponententest für einen stark frequentierten Standort? --Kapitel 2: Machen Sie sich mit Unit-Tests von Webanwendungen vertraut

・ Teil 1 gibt einen Überblick über Unit-Tests unter dem Thema "Unit-Tests sind nicht zu unterschätzen".   Überprüfen Sie in Kapitel 1 die Arten und Zwecke der in der Systementwicklung durchgeführten Tests. Nachdem er bestätigt hat, dass es neben dem Komponententest viele andere Tests wie Integrationstests, Systemtests / Lasttests, Sicherheitstests usw. gibt, erklärt er, dass die Qualität des ersten Komponententests wichtig ist.

Darüber hinaus wird als Methode zum Ausführen eines Komponententests empfohlen, "eine Testklasse zu erstellen und diese automatisch auszuführen / zu bestätigen". (In diesem Buch wird in den folgenden Abschnitten (Kapitel) die Einheitentestmethode zum Erstellen einer Testklasse erläutert.)

↑↑ In diesem Dokument wird erläutert, wie Sie mit JUnit Unit-Tests von Java-Programmen durchführen.

In Kapitel 2 werden die Punkte vorgestellt, die beim Testen einer Webanwendung zu beachten sind, sowie die wichtigsten Methoden zum Testen von Einheiten. Der Autor empfiehlt, den Test zu unterteilen, da "Testen nach dem Erstellen von allem = es braucht Zeit". Bei mit MVC erstellten Webanwendungen wird der zu testende Bereich jedoch wie folgt reduziert. Ich empfehle Ihnen, es zu testen. (① → ②)

① Erstes Testmodell (2) Testen Sie die Webanwendung (Ansicht / Modell / Controller) auf dem Webcontainer

In Bezug auf die Unit-Test-Methode werden der White-Box-Test und der Black-Box-Test kurz vorgestellt. Da jedoch nicht beschrieben wird, wie detaillierte Testfälle erstellt werden, sollten Sie sich auf andere Bücher als dieses Buch beziehen. Teil 1 konzentriert sich eher auf die Überprüfung der Testperspektiven in der Systementwicklung als auf bestimmte Unit-Test-Methoden. Persönlich dachte ich, dass ** ich die gesamte MVC erstellen und dann einen Komponententest durchführen würde **, daher war die Perspektive, in kleinen Teilen testen zu können **, eine neue Entdeckung.

** <Teil 2 Hochwertiger Einheitentest> **

--Kapitel 3: Mit Eclipse und JUnit erstellte Testklasse --Kapitel 4: Unit-Test des DB-Zugriffs --Kapitel 5: Reduzieren von DB-Zugriffstestfällen --Kapitel 6: Testen der Geschäftslogik und des Zugriffs auf externe Ressourcen --Kapitel 7: Externe Systemverknüpfung und bildschirmseitiger Test

・ Das Thema von Teil 2 lautet "High-Value Unit Test". Der Unit-Test des Java-Programms wird anhand eines Beispiels erläutert. (Eclipse + JUnit + DbUnit-Umgebung)   In Kapitel 3 wird eine Testklasse mit Beispielcode erstellt und ausgeführt. Einführung in die Verwendung von JUnit4-Annotationen und -Methoden zur Beurteilung von Testergebnissen (assertXXX / fail usw.). Ich konnte die Quelle mithilfe des Beispiels tatsächlich verschieben, sodass ich praktisch etwas über die Testklasse gelernt habe. Es enthält alle Annotationsmethoden, die zum Erstellen einer Testklasse erforderlich sind. Ich denke, es wird ein nützliches Kapitel als Lehrbuch beim Erstellen einer JUnit sein.

In den Kapiteln 4 und 5 wird der DB-Zugriff getestet. Ich habe DBUnit zum ersten Mal in diesem Buch kennengelernt. Ich war beeindruckt, dass es sehr praktisch war, ein Test-Framework zu haben. Es gibt auch viele praktische Informationen wie die Verwendung von DBUnit und Anmerkungen. Ich habe es noch nicht im Feld verwendet, daher möchte ich diese Gelegenheit auf jeden Fall nutzen, um es zu verwenden. Da es in der JUnit-Umgebung verwendet wird, scheint es vertraut zu sein. DBUnit ist sehr praktisch, da Sie den Status vor dem Test (@Before) sichern und die Sicherungsdaten nach dem Test an die DB (@After) zurückgeben können. (Tests können effizient ablaufen!) In diesem Kapitel sind auch Beispiele enthalten, sodass Sie die Methode überprüfen können, während Sie Ihre Hände tatsächlich bewegen.

Kapitel 6. Über Scheinobjekte. Ich habe das nie wieder benutzt. (Ich bin mir des Mangels an Studien sehr bewusst ...) Es wird angegeben, dass es zum Erstellen eines Mock-Objekts erforderlich ist, die Spezifikationen zu verstehen, um das Verhalten nachzuahmen. (Wenn Sie andererseits eine Mock-Klasse erstellen, wird geschrieben, dass es effizienter ist, eine echte Klasse zu erstellen und sie dann zu testen.) Ich denke, es lohnt sich, sie als Methode zu lesen, die Sie möglicherweise in Zukunft verwenden werden. * Mock = Pseudo.

In Kapitel 7 wird erläutert, wie Sie eine Bildschirmabdeckung erhalten. Sie können lernen, wie Sie mit einem Tool namens EMMA Berichterstattung erhalten. Ich hatte EMMA vor Ort eingesetzt, daher war es genau richtig für eine erneute Bestätigung.

Im zweiten Teil wurden alle Punkte vorgestellt, die beim Testen im Java-Bereich unterdrückt werden sollten. Was die Testmethode betrifft, habe ich keine Chance zu studieren, daher wäre ich sehr dankbar, wenn ich ein Buch wie dieses hätte.

** <Teil 3 Für kontinuierliche Tests> **

--Kapitel 8: Beachten Sie die Tests vor der Implementierung ――Kapitel 9: Entwicklungspunkte mit Blick auf den Test ――Kapitel 10: Punkte, um beim Testen weitere Arbeit zu sparen --Kapitel 11: Erstellen einer Umgebung, die das Erstellen und Testen automatisiert

・ In Teil 3 geht es darum, den Test bereits in der Fertigungsphase zu kennen, um den Test effizienter durchführen zu können. Außerdem wird erläutert, wie Sie eine Umgebung für kontinuierliche Tests erstellen, indem Sie einen Build-Server vorbereiten.

Zu Beginn von Kapitel 8 haben wir den Ausdruck "Qualität wird dabei aufgebaut" eingeführt. Es wird betont, dass es eine gute Testbedingung ist, den Test ab dem Stadium der Betrachtung der Softwarearchitektur zu betrachten und ein gemeinsames Verständnis innerhalb des Projekts zu haben. In Kapitel 9 heißt es außerdem, dass es wichtig ist, unnötige Tests zu reduzieren, während mit der Entwicklung fortgefahren wird. Machen Sie die Argumenttypen aussagekräftig, testen Sie Methoden, die mit Systemdaten umgehen, usw. Außerdem wird erläutert, wie statische Tools wie CheckStyle und FindBugs als Tools zum Auffinden von Fehlern verwendet werden. In Kapitel 10 und den folgenden Kapiteln geht es darum, eine Umgebung zur Verbesserung der Testeffizienz und -automatisierung zu schaffen.

[Eindruck] ・ Ich arbeite normalerweise als Java-Ingenieur, aber es gab viele Tools, die ich erst kannte, als ich dieses Buch las. Es war also sehr hilfreich. Bisher habe ich nur vage getestet, aber ich möchte effektive Tests üben, um die Qualität zu verbessern. Dieses Buch ist auch für Anfänger leicht zu lesen. Wenn Sie also nicht gut testen können, lesen Sie es bitte.

Recommended Posts

[Buchbesprechung] Unit-Test am Programmierstandort, der ohne Erfahrung durchgeführt werden kann
[Buchbesprechung] Unit-Test am Programmierort, der ohne Erfahrung durchgeführt werden kann (Fortsetzung 1-JUnit-)
Zusammenfassung der JDKs, die mit Homebrew installiert werden können (Stand November 2019)
Organisieren Sie Methoden, die mit StringUtils verwendet werden können
"Vererbung", die auch Anfänger der Objektorientierung verstehen können
Polymorphismus, den auch Anfänger der Objektorientierung verstehen können