{"id":71,"date":"2015-09-01T18:28:08","date_gmt":"2015-09-01T16:28:08","guid":{"rendered":"https:\/\/www.it-4ever.de\/blog\/?p=71"},"modified":"2021-03-28T14:55:26","modified_gmt":"2021-03-28T12:55:26","slug":"warum-unit-tests","status":"publish","type":"post","link":"https:\/\/it-4ever.de\/blog\/warum-unit-tests\/","title":{"rendered":"Warum Unit-Tests in der Programmierung?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Ja die Frage warum man Unit-Tests verwenden sollte ist recht spannend, da es viele Gr\u00fcnde daf\u00fcr aber auch einige wenige Gr\u00fcnde dagegen gibt. Aber fangen wir erstmal von vorne an:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was ist ein Unit-Test?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mit einem Unit-Test kann man kleinere Bereiche (Funktionen) eines Programms automatisiert testen. Dies hat den&nbsp;Vorteil, dass man so sicherstellen kann, dass immer das erwartete Ergebnis, bei der getesteten Funktion, zur\u00fcck&nbsp;kommt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aber warum sollte man dies tun? Ganz einfach man muss nicht jedes Mal alle Funktionen neu testen und das Ergebnis h\u00e4ndisch \u00fcberpr\u00fcfen. Wenn ein Unit-Test korrekt implementiert ist kann man davon ausgehen, dass hier der erw\u00fcnschte Wert, geschweige denn das erw\u00fcnschte Verhalten aus einer Funktion zur\u00fcck gegeben wird.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tools<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Damit man Unit-Tests durchf\u00fchren kann braucht man ein Tool, welches diese ausf\u00fchrt. Hier gibt es in jeder Programmiersprache verschieden Tools. Unter PHP ist dies <a href=\"https:\/\/phpunit.de\/\">PHPUnit<\/a> und unter Java zum Beispiel <a href=\"http:\/\/junit.org\/\">JUnit<\/a>. Auch f\u00fcr Javascript es hier Tools wie <a href=\"http:\/\/jasmine.github.io\/\">Jasmine<\/a>, <a href=\"https:\/\/qunitjs.com\/\">QUnit<\/a> und so weiter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es gibt hier auch noch verschiedene Arten von Tests. Manchmal ist es sinnvoll nicht kleinere Units zu testen, sondern die Abl\u00e4ufe einer Software. Am Beispiel eines Shops w\u00e4re dies, dass man beispielsweise eine Bestellung ausf\u00fchrt. Hierzu muss man den Prozess durchlaufen und alle ben\u00f6tigten Felder f\u00fcllen. Hierf\u00fcr bietet sich eine Kombination aus Selenium und einem Unit-Test Tool an. Meist gibt es hier auch schon Schnittstellen um beides miteinander zu verbinden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bestehende Projekte\/Code testen?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn man so an das Agenturleben denkt kommt es hier ja eher vor, dass man bestehende Projekte hat, die gewachsen sind und teilweise noch prozedural programmiert sind. Diese lassen sich in der Regel schlecht testen, da es hier keine kleineren Teile (Units) gibt, die man auch gut testen kann. Sollte das Projekt Klassen und Funktionen verwenden, kann man eines der Tools von oben w\u00e4hlen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Manchmal ist es hier auch sinnvoll nachtr\u00e4glich verschiedene Teile in Klassen und Funktionen auszulagern, um diese testen zu k\u00f6nnen und die Strukturen ein wenig aufzur\u00e4umen und zu verbessern.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unit-Tests k\u00f6nnen einem sehr das Leben erleichtern, da man bestehende Funktionen testen und absichern kann. Dies ist sehr hilfreich wenn man gr\u00f6\u00dfere Teile eines Projektes umbauen muss. Nach den Umbauarbeiten kann man durch die Tests weiterhin sicherstellen, dass die Funktionen das korrekte Ergebnis liefern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein weiterer Vorteil ist, dass man beim Schreiben der Unit-Tests tiefer \u00fcber die Funktionen nachdenkt und teilweise weitere Fehler findet und diese direkt beheben kann.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ja die Frage warum man Unit-Tests verwenden sollte ist recht spannend, da es viele Gr\u00fcnde daf\u00fcr aber auch einige wenige Gr\u00fcnde dagegen gibt. Aber fangen wir erstmal von vorne an: Was ist ein Unit-Test? Mit einem Unit-Test kann man kleinere Bereiche (Funktionen) eines Programms automatisiert testen. Dies hat den&nbsp;Vorteil, dass man so sicherstellen kann, dass &hellip; <a href=\"https:\/\/it-4ever.de\/blog\/warum-unit-tests\/\" class=\"more-link\"><span class=\"screen-reader-text\">Warum Unit-Tests in der Programmierung?<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-71","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/it-4ever.de\/blog\/wp-json\/wp\/v2\/posts\/71","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it-4ever.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/it-4ever.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/it-4ever.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/it-4ever.de\/blog\/wp-json\/wp\/v2\/comments?post=71"}],"version-history":[{"count":10,"href":"https:\/\/it-4ever.de\/blog\/wp-json\/wp\/v2\/posts\/71\/revisions"}],"predecessor-version":[{"id":230,"href":"https:\/\/it-4ever.de\/blog\/wp-json\/wp\/v2\/posts\/71\/revisions\/230"}],"wp:attachment":[{"href":"https:\/\/it-4ever.de\/blog\/wp-json\/wp\/v2\/media?parent=71"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/it-4ever.de\/blog\/wp-json\/wp\/v2\/categories?post=71"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/it-4ever.de\/blog\/wp-json\/wp\/v2\/tags?post=71"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}