Mrz 31

Von MSTest nach xUnit.net

Das in Visual Studio integrierte Testframework von Microsoft verwende ich nun bereits seit zig Jahren – wenn ich mich richtig erinnere seit Visual Studio 2008. Im Grunde war ich meistens auch zufrieden damit. Performance war jetzt nicht schön, aber für meine Anwendungsfälle auch kein Problem. In den letzten Wochen/Monaten habe ich mich aber dazu entschlossen, nun endgültig auf xUnit umzusteigen. Warum? Das offensichtliche ist schon mal, dass von offizieller Seite nix mehr bei MSTest passiert. Weiterhin wird die Performance bei der steigenden Anzahl meiner automatischen Tests immer mehr zum Problem. Die Möglichkeit zur Parametrierung von Testfällen ist für mich kein Must-Have, aber auch dieses Feature macht xUnit schon interessant. Gestern und heute habe ich die Umstellung entsprechend gemacht und bin überrascht, wie wenig Arbeit das letzten Endes gemacht hat. Weiterlesen

Mrz 19

Einstiegs-Tutorial für Seeing#

SeeingSharp TutorialSeitdem ich den Code auf Github hochgeladen habe, bastle ich daran auch relativ viel rum. Ziel ist für mich aktuell, nicht nur einen Haufen Quellcode-Dateien auf Github zu haben, stattdessen sollen auch einige Einstiegshilfen und Wiki-Einträge verfügbar sein, dass sich andere Interessenten möglichst einfach einarbeiten können. Der erste Schritt zu diesem Ziel ist ein kleines Einstiegstutorial bestehend aus vier C#-Projekten, jeweils angelegt als Windows Store Apps. Warum jetzt genau Windows Store war für mich erst einmal Nebensache, wichtig und für alle Plattformen gleich ist der Aufbau der Szene, die Konfiguration der Kamera, die Definition von Animationen oder die Suche nach Objekten unterhalb des Maus-Cursors. Weiterlesen

Mrz 08

3D-Engine Seeing# goes OpenSource #2

Pallet-Sample-SmallEndlich erledigt, heute früh habe ich Seeing# zusammen mit dem Quellcode von RK 2048 auf GitHub unter diesem Link hochgeladen [1]. Wie im letzten Post geschrieben, steht der Code unter GPLv3 und kann somit von jedem frei eingesehen, verwendet und modifiziert werden, sofern man sich an die Bedingungen der GPL hält. Für mich soll die Library in Zukunft als Basis für weitere Hobby-Entwicklungen, meine Vorträge/Artikel und für Posts auf dieser Homepage dienen. Weiterlesen

Mrz 01

3D-Engine Seeing# goes OpenSource

Screenshot SeeingSharp-BeispielSeit einer ganzen Weile schiebe ich das schon vor mir her: Das Grundgerüst, welches ich die letzten Jahre für eigene Test-Entwicklungen, kleine Spiele etc. verwendet habe, möchte ich als OpenSource bereitstellen. Die Feature-Liste kann sich hierbei sehen lassen: Integration Direct3D/Direct2D, Integration in WPF/Win.Forms/WinRT, hohe Parallelisierung (Multithreading), Software-Rendering, Unterstützung mehrerer Grafikkarten und noch vieles mehr. Nun, da ich mein Studium im Januar dieses Jahres abgeschlossen habe, kann ich mich nun um das Thema OpenSource kümmern. ABER: Ganz so einfach wie „ich lads einfach mal hoch..“ ist es leider nicht. Weiterlesen

Feb 23

Vortrag in Nürnberg zu Bewegungssteuerung mit MS Kinect 2.0

Mit der Kinect-Technologie habe ich mich zum ersten Mal intensiver beschäftigt, als zur ersten Kinect das SDK in Version 1.7 veröffentlicht wurde. Das ist natürlich schon ein paar Jährchen her und in der Zwischenzeit ist auch schon einiges mit der Technologie passiert. Ich finde es sehr spannend, wie schnell sich Kinect in eigene Programme integrieren lässt – sei es bei der Oberflächensteuerung mit der KinectRegion, bei der Spracherkennung oder bei eigenen Bilderkennungstechniken mit den zur Verfügung gestellten Streams. Diese Woche donnerstags werde ich bei der .Net Usergroup in Nürnberg einen Vortrag zum Thema halten, worin ich einige Grundlagen der Technologie nebst einigen Stolpersteinen vorstellen werde [1]. Ich bin gespannt drauf und freue mich auch auf die Diskussionen mit den Entwicklern aus Nürnberg und Umgebung 🙂 Weiterlesen

Feb 01

Um was geht es beim Testen?

BugNeulich stand am .Net Usergroup-Treffen in Regensburg das automatisierte Testen auf der Agenda [1]. Grundsätzlich ein wichtiges Thema, nicht nur für mich, sondern auch für viele andere Softwareentwickler – alleine die hohe Teilnehmerzahl macht dies deutlich. An dieser Stelle direkt ein Dank an den Sprecher Kenny Pflug, er hat das Thema gut dargestellt – auch wenn es die eine oder andere Kritik an dem Beispielprogramm gab ;). Bei dem Vortrag konnte ich einige Dinge dazulernen, beispielsweise nennt sich das, was ich normalerweise als „Testdriven Development“ in der Arbeit vorantreibe, in Wirklichkeit „Behavior Driven Development“. Naja.. ich mache mir halt nicht viel aus Schlagworten 😉 Weiterlesen

Nov 16

Direct3D11, WPF und der Energiesparmodus

Direct3D 11 direkt in ein WPF D3DImage zu integrieren ist nicht ganz so einfach – das ist jedem bekannt, der das schon einmal probiert hat. Im Fall meiner 3D-Engine SeeingSharp gehe ich sogar noch etwas weiter: Das Rendering erfolgt komplett verteilt auf dem ThreadPool. Weiterhin werden so Kleinigkeiten wie Kantenglättung unterstützt, die die Integration in WPF auch noch etwas schwieriger machen. Nun habe ich es schon vor einer ganzen Weile geschafft, dass das auf allen getesteten Desktop-Rechnern gut funktioniert – aber irgendwie trifft man immer wieder auf neue Fälle. Neulich habe ich mir das neue Surface Pro 3 gekauft und siehe da… dort gibt es Probleme. Weiterlesen

Nov 09

RK2048 – Universal-App fast fertig

RK 2048 LogoRK2048 ist mein erstes „Abenteuer“ eine App mit weitgehend gleichem Coding auf mehreren Plattformen zu entwickeln und zu veröffentlichen. Genau genommen handelt es sich um (fast alle) aktuellen Windows-Plattformen von Windows Phone (8.1) über Windows RT bzw. Windows Store Apps bis Windows Desktop (Wpf). Es ist überraschend, wie gut das mittlerweile zwischen Phone und Tablet funktioniert, einzig WPF ist bei den Standard-Projekttemplates noch etwas außen vor. Im Windows Store ist die erste Version schon veröffentlicht, Windows Phone folgt (hoffentlich) relativ bald. Auch ein Setup für die Desktop-Version ist bereits verfügbar. Weiterlesen

Aug 24

Kein MEF für Universal Apps?

Das Konzept hinter den Universal Apps finde ich sehr gut, wie in den letzten Beiträgen geschrieben wende ich es gerade testhalber bei RK 2048 an. Ein Negativpunkt für mich ist aber die fehlende Unterstützung für System.Composition. Bei WinRT für Tablets / Desktop gibt es den Umweg über MEF 2, welcher eigentlich auch relativ gut funktioniert. Für das Windows Phone scheint es das aber nach wie vor nicht zu geben, derweil ist die Funktionalität m. E. schon sehr praktisch. Damit ich trotzdem etwas Ähnliches habe, habe ich mir entsprechend selber Klassen dafür geschrieben, die auch mit dem Universal App Template laufen. Weiterlesen

Aug 02

MSTest, oder wie ich es verwende

UnitTests oder Ansätze der testgetriebenen Entwicklung werden aktuell häufig bei Usergroups oder Fachkonferenzen angesprochen. Erst diese Woche war ich auf einem Usergroup-Treffen in Nürnberg genau zu diesem Thema. Ich persönlich beschäftige mich damit schon etwas länger, habe testgetriebene Ansätze bereits mehrmals bei passenden Anwendungsfällen durchgeführt und war damit auch stets sehr zufrieden. Bei dem genannten Vortrag musste ich aber feststellen, dass sich das, was ich persönlich mit diesen Tests mache, mittlerweile schon teils deutlich von der Theorie unterscheidet. Hier in diesem Beitrag möchte ich entsprechend meine Sicht auf UnitTests und testgetriebene Ansätze im Allgemeinen beschreiben. Weiterlesen