Tag Archives: Technologies

Unit-Tests in der Software-Entwicklung

Nach unserer ausführlichen Betrachtung von Akzeptanztests in der Software-Entwicklung widmen wir uns nun dem anderen Ende im Spektrum der Software-Tests: dem Testen von konkretem Code, im Extremfall von einzelnen Zeilen. Ein Unit-Test (auch Modultest oder Komponententest) ist ein ganz basaler Test einer einzelnen konkreten Funktionalität bzw. Funktion oder Methode.

Apache CouchDB: Eine NoSQL-Datenbank zum Entspannen

Für kaum eine Herausforderung in der Informatik wurden und werden so viele unterschiedliche Lösungsansätze entwickelt wie für die effiziente Speicherung und Verwaltung sehr großer Datenmengen. Doch was vor zehn Jahren noch als sehr groß galt, ist heute nicht mehr sonderlich beeindruckend. In großen sozialen Netzwerken sind Datenmengen im Terabyte-Bereich an der Tagesordnung, bei denen klassische Lösungen nicht mehr greifen. NoSQL-Datenbanken wie Apache CouchDB sind genau für solche Szenarien entwickelt worden und werden immer populärer. Wir sehen uns exemplarisch das NoSQL-System CouchDB an.

NoSQL: Eine kurze Einführung in Theorie und Praxis

Kaum etwas verändert sich so rasant wie das moderne World Wide Web. Für Probleme, die man vor kurzem noch nicht einmal kannte, bedarf es plötzlich dringender Lösungen, weil altbewährte Konzepte versagen und das Wachstum nicht gebremst werden soll. In den letzten Jahren war es vor allem das explodierende Datenvolumen großer Seiten wie Amazon, Google und Facebook. Mit NoSQL-Datenbanken wie Apache CouchDB ist man dem Problem riesiger Datenmengen schließlich Herr geworden. Dieser Artikel soll eine kurze Einführung in die Ideen und Konzepte einer solchen Datenbank geben.

JSR 203: Die neuen I/O-Schnittstellen in Java 7

Man mag es kaum glauben, aber manche Probleme, die mit dem neuen Java 7 endlich gelöst wurden, haben Programmierern ein ganzes Jahrzehnt lang Zeit und Nerven geraubt – allen voran die Programmierschnittstellen (APIs) zum Umgang mit Dateien, Verzeichnissen und anderen alltäglichen Bestandteilen eines Computersystems. Doch damit ist jetzt Schluss: Der Java Specification Request (JSR) 203 hat seinen Weg in die siebte Version der Software Edition von Java gefunden und mit ihm eine ganze Reihe neuer Schnittstellen, die die Herzen der Programmierer höher schlagen lassen werden.

Coding-Katas: Steigerung der Produktivität und höhere Code-Qualität

Zurzeit experimentieren einige //SEIBERT/MEDIA-Entwickler gewinnbringend mit Coding-Katas. Hierbei wird durch ständige Wiederholung trainiert: Der Entwickler versucht, dieselbe Aufgabe immer effektiver und effizienter zu erledigen, bis er seine Lösungsansatz schließlich perfektioniert hat. Konsequent betrieben, bieten Coding-Katas eine vielversprechende Möglichkeit, um sich als Entwickler kontinuierlich zu verbessern.

Akzeptanztests in Scrum-Projekten: Theorie und Praxis

Mithilfe von Akzeptanztests wird im Rahmen der Software-Entwicklung geprüft, ob die Software die funktionalen Erwartungen und Anforderungen im Gebrauch erfüllt. In Scrum-Projekten heißt das, dass der Kunde bzw. der Product Owner testet, inwiefern das System die vorweg definierten Anforderungen erfüllt und ob ein Release auslieferbar ist. In diesem Artikel werden die theoretischen Grundlagen von Akzeptanztests beschrieben und Möglichkeiten der Automatisierung diskutiert.

Software-Tests: Notwendigkeit und Arten des Testens

Software-Entwicklung ist ein komplexer Prozess, bei dem zwangsläufig Fehler gemacht werden. Fehler sind nicht dramatisch, solange man sie rechtzeitig genug entdeckt, doch je später sie erkannt werden, desto aufwändiger ist die Behebung. Diese kompakte Einführung befasst sich mit der Notwendigkeit und den Arten des Testens in Software-Projekten.

Agilität durch Kanban: Das Task-Board

Bei //SEIBERT/MEDIA kommt neben Scrum auch die Prozessvisualisierung mit Kanban erfolgreich zur Anwendung. Diese sog. Lean-Management-Methode visualisiert den Produktionsprozess in der Software-Entwicklung mit seinen verschiedenen Stufen. Nachdem im ersten Artikel grundsätzliche Fragen angesprochen worden sind, soll in diesem Beitrag das Kanban-Herz im Mittelpunkt stehen: das Task-Board.

Agilität durch Kanban: Funktionsweise, Elemente, Anwendung

Kanban ist eine sog. Lean-Management-Methode, die den Produktionsprozess in der Software-Entwicklung mit seinen verschiedenen Stufen visualisiert. Vorrangiges Ziel ist, die Anzahl parallel umzusetzender Anforderungen – Aufgaben, User Stories oder auch Projekte – zu reduzieren und so die Durchlaufzeiten der einzelnen Anforderungen zu verkürzen. Im Grunde besteht Kanban aus zwei Ingredienzien: einem analogen Task-Board und den agilen Prinzipien. Eine Einführung.

Der StepStone-Bewerbungsgenerator: Technische Umsetzung in GWT

Ein technisch und inhaltlich anspruchsvolles Projekt ist nach einigen Monaten der Entwicklung Ende 2010 sehr erfolgreich zu Ende gegangen: der Online-Bewerbungsgenerator von StepStone unter www.bewerbung.de. In diesem Artikel soll dargelegt werden, warum und wie GWT in diesem Projekt zum Einsatz gekommen ist, welche Erfahrungen wir gesammelt haben und auf welche Stolperfallen wir getroffen sind.