JUnit - automatisiertes vs. manuelles Testen?

Lucid

Mitglied
hey,

kann mir da mal wer sagen was der unterschied ist? bin etwas verwirrt: habe gerade irgendwo gelesen, dass junit tests z.b. zu den automatisierten gehören?! aber automatisierte machen doch auch z.b. zufallseingaben und man lässt sie über nacht laufen... junit tests schreibt man doch alle selber und sie sind so kurz ... oder sehe ich da was falsch? auch habe ich gehört, dass werkzeuge zum automatisierten testen i.d.R. schon recht teuer sind - also was können sie?

wer kann mir den unterschied deutlich erklären und evtl. nützliche quellen nennen?

danke schonmal 🙂
 
habe gerade irgendwo gelesen, dass junit tests z.b. zu den automatisierten gehören?!
ja (falls das eine Frage sein sollte)
aber automatisierte ... man lässt sie über nacht laufen...
ja, wird in der Praxis so gemacht
junit tests schreibt man doch alle selber und sie sind so kurz ... oder sehe ich da was falsch?
teilweise, es gibt auch generierte Tests...
auch habe ich gehört, dass werkzeuge zum automatisierten testen i.d.R. schon recht teuer sind - also was können sie?
Dann ersetze Höresagen durch Google-Recherche. Dem ist nämlich nicht so.
wer kann mir den unterschied deutlich erklären
Gegenvorschlag: du benutzt erst mal Google
und evtl. nützliche quellen nennen?
Google kann: junit
 
Zuletzt bearbeitet von einem Moderator:
mmhh... ja ok... aber wie sieht dann ein manueller test aus? schreibe ich da eine normale main methode, rufe die methode normal auf, und gucke selber ob das ergebnis stimmt (also so in der art) - ist das manuell? habe ich jetzt so verstanden.
 
Zuletzt bearbeitet:
Das wäre eine Möglichkeit ...

Denk aber dran, dass manuelles und automatisches Testen auf Unit-Ebene nicht nur unterschiedlich durchgeführt werden, sondern auch verschiedene Zielstellungen haben:

Automatische Tests: Dienen dazu, die "Unit" robuster zu machen und ihr Fehlerverhalten in verschiedenen Situationen zu testen. Geben dem Entwickler mehr Sicherheit für Code-Umbauten und verringern die Wahrscheinlichkeit von Bugs / fehlerhaftem Verhalten beim Benutzen der Unit.

Manuelles Testing: Dient auf Unit-Ebene eher dem Auffinden von Fehlern, welche wegen fehlenden automatischen Tests überlebt haben. Mögliche Umsetzung sind manuelle Testklassen, Debugging, Log-Ausgaben an relevanten Code-Stellen. Das ist aber alles sehr aufwändig und fehleranfällig.

Fokus bei der Entwicklung von Units sollte also auf automatischen Tests liegen.
 
mmhh... ja ok... aber wie sieht dann ein manueller test aus? schreibe ich da eine normale main methode, rufe die methode normal auf, und gucke selber ob das ergebnis stimmt (also so in der art) - ist das manuell? habe ich jetzt so verstanden.
Ich verstehs bzgl. manuellem Testen bis dato eher so:

Manuell ist quasi, dass du um etwas zu testen keine Testmethoden schreibst, sondern z.B. in der UI selber rumklickst und guckst, ob die sich so verhält, wie erwartet.

Simples Beispiel:
Du schreibst Code, der folgendes erfüllen soll:
Bei einem Klick auf einen Button "Show all employees", soll sich ein Fester öffnen, das eine Tabelle enthält und alle Mitarbeiter anzeigt. Die Spalten der Tabelle stellen dann interessante Attribute/Stammdaten des Mitarbeiters dar, die man anzeigen will (z.B. Vorname, Nachname, etc.).

Nachdem man mit dem Schreiben des Codes, der das können soll, fertig ist, klickt man halt in der UI diesen Button und guckt, ob alles so fehlerfrei abläuft wie gewünscht, also wie oben beschrieben und ob in der IDE z.B. auch die gewünschten Logger-Infos, etc. angezeigt werden.

Das wäre ein simples Beispiel für einen manuellen Test mittels der UI.
 

Neue Themen


Zurück
Oben