Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

09.11.2011, 21:10

Wie testet ihr euren Code?

Guten Tag/Abend allerseits :)

Wie testet ihr euren Code?
Also z.B. wenn ich eine neue Klasse fertig habt und prüfen wollt ob auch alles funktioniert.
Ich versuche immer alle Fälle zu prüfen, aber dann laufen mir doch immer wieder Bugs über den Weg obwohl ich denke, dass alles korrekt abläuft.
Etwa das Kopierverhalten oder ob alle Methoden auch wirklich 100% funktionieren ohne einen Fehler zu verursachen.
Wie macht ihr es?

Mfg Batzer

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

09.11.2011, 21:14

Unit-Tests, Test-Automatisierung, manuelle Tests. Privat nur letzteres, obwohl die ersten beiden vermutlich gerade bei wachsendem Projekt für Bestandsfunktionalität echt sinnvoll wären. Eigene Faulheit...
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

3

09.11.2011, 22:19

Bei mir wie bei BlueCobold. Testklassen sind super, aber bei privatem Zeug bin ich eigentlich fast immer zu Faul dafür.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

09.11.2011, 22:35

Solange du nicht für die Rüstung programmierst, sind Fehler meist reversibel oder zumindest leidlich gut zu regulieren. Gerade für den Hobbybereich lohnt sich der Aufwand von ausführlichen Tests wohl kaum.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

5

09.11.2011, 22:37

ja, Unittests stellen wohl eine der besten Testmöglichkeiten dar (und auch ich teste privat dennoch meist nicht auf diese Art)

anbei werfe ich auch mal Testgetriebene Entwicklung in den Raum
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

6

09.11.2011, 23:37

Ich machs genauso wie BlueCobold und Schorsch. Unit Tests wären schon super, aber... auch die eigene Faulheit.

Thoran

Alter Hase

Beiträge: 520

Wohnort: Stuttgart

Beruf: Senior Software Engineer

  • Private Nachricht senden

7

10.11.2011, 10:08

Bei mir sind Test auf der ToDO-Liste, war aber bisher auch zu faul. Eigentlich geht das gar nicht, den letzten Endes spart einem das Zeit bei der Fehlersuche :(
Vorerst müssen erstmal noch ein paar Features fertig gemacht werden.

Thoran
Mein Entwicklertagebuch
Aktuelles Projekt: Universum Espionage
Eingestellt:Spieleengine SilverCore
Organisator "Spieleentwickler Stammtisch Stuttgart"

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

10.11.2011, 10:36

Es spart nicht unbedingt Zeit bei der Fehlersuche, aber vielmehr bei der Fehler-Feststellung. Also bei der Detektierung, dass überhaupt ein Fehler vorliegt oder durch ein neues Feature ein altes gebrochen wurde.
Aber ja, ingesamt spart das meist Zeit bei der Betrachtung des Gesamt-Prozesses. Gerade Hobby-Entwickler sehen aber vermutlich eher neue Features als Priorität und Bugfixing wird einfach zwischendrin gemacht. Die gefühlte Entwicklungs-Geschwindigkeit ist ohne Tests höher, was meist aber ein Trugschluss ist.

Ich denke als Spiele-Entwickler gibt es vor allem auch das Problem, dass GUI-Tests nicht trivial sind. Meist sind alle Elemente ja doch OpenGL oder DirectX, was bedeutet, dass die einzelnen Komponten der GUI oder die dargestellten Game-Elemente nicht per Handle extern durch Tests erreichbar und somit Tests der visuellen Komponenten nicht schwer durchführbar sind. Würde mich mal interessieren, wie das bei professionellen Firmen automatisiert wird. Wie testen die den visuellen Output von Engines, Modelle, Beleuchtungen, usw.? Ist das überhaupt automatisierbar und wie weit? Wäre ein netter Vortrag für die Devmania... (Vorträge von externen Professionellen - außer mal TGGC, der ist ja eh intern - wären eine coole Sache und würden mich vielleicht sogar mal dahin bewegen)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

9

10.11.2011, 11:37

Hab das Buch Game Coding Complete hier rumliegen. Kann mich nicht dran erinnern, dass er von automatisierten Tests in dem Buch spricht. Mag aber auch sein, dass ich das einfach verdrängt habe. Sicherlich wird auch in der Spielebranche so getestet. Da er aber zwischendurch immer mal wieder den Prozess der Fehlersuche und auch Fehlerentdeckung bei bestimmten Projekten beschreibt, wirkt es für mich so, dass zumindest nicht alles automatisiert getestet wird. Natürlich sind das jetzt nur Vermutungen. Andererseits gibts dann ja immer noch die QA die sich um sowas kümmern könnte.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

10

10.11.2011, 11:44

Ich denke als Spiele-Entwickler gibt es vor allem auch das Problem, dass GUI-Tests nicht trivial sind. Meist sind alle Elemente ja doch OpenGL oder DirectX, was bedeutet, dass die einzelnen Komponten der GUI oder die dargestellten Game-Elemente nicht per Handle extern durch Tests erreichbar und somit Tests der visuellen Komponenten nicht schwer durchführbar sind. Würde mich mal interessieren, wie das bei professionellen Firmen automatisiert wird. Wie testen die den visuellen Output von Engines, Modelle, Beleuchtungen, usw.? Ist das überhaupt automatisierbar und wie weit?


Ich hab mir da die Tests von Irrlicht abgeguckt. Dort wird einfach etwas gerendert und dann ein Screenshot gespeichert. Beim nächsten rendern wird dann der erzeugte mit dem schon vorhandenen verglichen.
Ist zwar nicht vollständig automatisiert, weil man ja immer beim ersten rendern drüber gucken muss, ob das alles richtig ist, aber danach läuft das ja von alleine.

Werbeanzeige