In der jüngeren Vergangenheit habe ich an verschiedenen Stellen über Test Driven Development (TDD), Behaviour Driven Development (BDD) und andere qualitätssichernde Maßnahmen in agilen Projekten diskutiert. Früher oder später kamen wir dann oft zu einer spannenden Fragestellung: Was machen eigentlich die – in größeren Unternehmen meist vorhandenen – klassischen Tester in agilen Projekten? “Was macht eigentlich der klassische Tester in agilen Projekten?” weiter lesen »
Artikel-Schlagworte: „Qualität“
Was macht eigentlich der klassische Tester in agilen Projekten?
Dienstag, 22. Januar 2013SLM in der mobilen Entwicklung
Dienstag, 8. Januar 2013Buildserver, Bugtracking, Versions- und Qualitätsmanagement sind aus der Entwicklung in Enterprise-Projekten nicht mehr wegzudenken. Auch in der mobilen Entwicklung sind sie sinnvoll.
Der Artikel in der web & mobile Developer 01/2013 zum Thema “SLM in der mobilen Entwicklung” wurde von den Holisticon-Mitarbeitern Jan Weinschenker und Sven Bunge verfasst. Er vermittelt, warum Software-Lifecycle-Management (SLM) auch für die mobile Entwicklung verwendet werden sollte. Es hilft, die Komplexität von Software beherrschbar zu machen und über verschiedene Arten von automatischen Tests die Qualität zu gewährleisten. Der Artikel “Androiden kontinuierlich integriert” der web & mobile Developer 12/2012 erklärt Continuous Integration für Android-Apps. Dieser Artikel baut darauf auf und erklärt, wie die Software-Qualität der Apps gemessen und erhöht werden kann.
Ein Themen-Überblick:
- Warum ist SLM auch für die mobile Entwicklung sinnvoll?
- Continuous Integration
- Automatisiertes Testen
- Unit-Tests mit JUnit
- Integrations-Tests mit Robolectric
- BDD mit Cucumber
- UI-Stress-Tests mit Monkey
- Bewertung von Software-Qualität
- Statische Code-Analyse mit PMD und Findbugs
- Einheitlicher Code-Style mit Checkstyle
- Zusammenfassung der Ergebnisse mit Sonar
- Release-Management bei Apps
- Warum sind Versionen wichtig?
- Releasen mit Maven
Die Ausgabe 01/2013 der Zeitschrift ist ab jetzt im Zeitschriften-Handel verfügbar.
Die Bringschuld des Entwicklers
Dienstag, 25. September 2012Eigentlich ist jedem bekannt: Software testet man, bevor sie live geht. Und jeder weiß auch um die Sinnhaftigkeit dieser Maßnahme. Trotzdem wird oft das Testen abgekürzt, wenn das Projekt in Zeitnot gerät. Testen wird plötzlich als Zeitfresser ohne entsprechenden Nutzen wahrgenommen. Doch was passiert, wenn man diese Abkürzung nimmt?
“Die Bringschuld des Entwicklers” weiter lesen »
Professionelles Build-Management für PhoneGap-Apps
Dienstag, 7. August 2012Unser CI-Server baut jetzt eine lauffähige PhoneGap-App. Was dafür zu tun ist, haben wir im Artikel PhoneGap-Entwicklung mit dem Jenkins-CI-Server gezeigt. In diesem Blog wurde bereits die Frage behandelt, wie wichtig professionelles Build-Management ist und welche Vorteile man dadurch erzielt.
Wir wollen nun zeigen, wie man Build-Management auch für PhoneGap-Projekte betreiben kann. Dazu integrieren wir unseren Jenkins CI-Server mit dem Artefakt-Versionierungssystem Artifactory und mit dem Software-Qualitätsmanagement-Werzeug Sonar.
“Professionelles Build-Management für PhoneGap-Apps” weiter lesen »
WiP, Fokus und italienische Küche
Dienstag, 22. Mai 2012Gleich bei uns um die Ecke betreibt seit zwanzig Jahren ein wahrer Zauberer ein italienisches Restaurant. Wir gehen regelmäßig dort hin und lassen uns entführen auf eine kurze Reise nach Italien. Wir nehmen eine kleine Auszeit mit wundervollem Wein, leckerer hausgemachter Pasta und erliegen der Magie des Ortes, die durch den Wirt, nennen wir ihn einfach Luigi, erschaffen wird. “WiP, Fokus und italienische Küche” weiter lesen »
Mobile Apps erstellen mit PhoneGap, Titanium & Co.
Dienstag, 17. April 2012Die Zeiten, in denen man Anwendungen ausschließlich mit Oberflächen ausstattet, die über einen Monitor betrachtet und über Tastatur und Maus bedient werden, sind vorbei. Mittlerweile ist es keine Besonderheit mehr, als Endgerät auch Smartphones und Tablets berücksichtigen zu müssen.
Diese Geräte sind heutzutage vollgepackt mit vielfältigen technischen Gimmicks: GPS-Modul, Beschleunigungssensor, Kontaktverwaltung, Kamera uws. gehören bei iPhone, Android & Co. zum Standard. Eine für mobile Geräte optimierte Webseite hat oft nur eingeschränkten Zugriff auf diese Funktionen.
Für den vollen Zugriff benötigt man eine App, die direkt auf dem mobilen Gerät installiert wird. Als Entwickler muss man sich dann vor seinen Rechner setzen und die App für das iPhone oder für Android entwickeln. Die entsprechenden Entwicklungswerkzeuge sind für sich genommen sehr komfortabel. Nur ist man zunächst einmal an eine der SmartPhone-Welten gebunden.
Das ist natürlich sehr unbefriedigend, wenn man einen großen Anwenderkreis ansprechen will.
Doch wie kommt man zu einer brauchbaren App, die auf vielen mobilen Geräten läuft, ohne sich allzu tief in die speziellen Niederungen der Android- oder iOS-Entwicklung hinab begeben zu müssen?
“Mobile Apps erstellen mit PhoneGap, Titanium & Co.” weiter lesen »
Software-QS-Tag 2011: Test und QS agil
Donnerstag, 1. Dezember 2011
Am 2. und 3. November fand in Nürnberg der Software-QS-Tag statt. Seit 19 Jahren werden auf dieser Konferenz aktuelle Themen rund um Software-Qualitätssicherung und -Test diskutiert. Dieses Jahr hat das Programmkomitee ein Thema aufgegriffen, das in vielen Softwareprojekten mittlerweile angekommen ist und dort tiefgreifende Veränderungen bewirkt. Die Rede ist von agilen Vorgehensweisen, von denen das Projektmanagement-Framework “Scrum” der mit Abstand prominenteste Vertreter ist. “Software-QS-Tag 2011: Test und QS agil” weiter lesen »
Gespart – ein Softwareleben lang
Montag, 14. November 2011
Gespart – ein Softwareleben lang
Entwicklung, Auslieferung und Betrieb von Software durch Automatisierung optimieren
Enno Thieleke und Stefan M. Heldt, Business Technology 4.2011
Waschen Sie Ihre Wäsche per Hand? Sicher ist die Investition in eine Waschmaschine nicht sehr interessant. Dennoch muss sie sein, um Ihnen aufwändige Handarbeit zu ersparen und damit Personalkosten zu reduzieren. Ganz nebenbei hebt es sicher Ihre Stimmung, nur noch die Maschine füllen und starten zu müssen. Ähnlich verhält es sich mit Software Configuration Management, Build Management, Release Management, Qualitätsmetriken und diversen Formen der Testabsicherung. Diese machen es IT-Abteilungen möglich, Software professionell zu entwickeln, auszuliefern und zu betreiben.
Die aufgezählten Aktivitäten werden von den Ausführenden größtenteils als stetig wiederkehrend und wenig kreativ betrachtet. Sie eignen sich damit perfekt, um automatisiert zu werden. Diese Bestrebung wird von den Geldgebern jedoch häufig als reiner Kostenblock interpretiert. Wir zeigen in unserem Beitrag in der aktuellen Ausgabe der Business Technology auf, wie Sie mit der Automatisierung nicht nur Ihre Entwickler glücklich machen, sondern obendrein auch noch Geld sparen. Außerdem legen Sie den Grundstein, um die Qualität Ihres Softwareprodukts konsequent zu messen und zu verbessern. Die Wäsche wird einfach blütenrein.
Zirkuläre Abhängigkeiten mit Sonar orten
Donnerstag, 29. September 2011Komplexe Java-Anwendungen bestehen normalerweise aus einzelnen Komponenten. In diesen sind fachliche Logik, Benutzeroberfläche, die Datenhaltungsschicht oder auch Schnittstellen zu externen Systemen gekapselt.
Den einzelnen Komponenten können dann klar umrissene Verantwortlichkeiten zugeteilt werden. Dies verhindert Redundanzen, da Code für ein und dieselbe Aufgabe nur in genau einer Komponente implementiert werden muss. Diese stellt ihre Funktionalität dann über eine klar definierte Schnittstelle nach außen zur Verfügung. Andere Komponenten nutzen diese Schnittstelle, ohne diese Funktionalität noch einmal selbst implementieren zu müssen. “Zirkuläre Abhängigkeiten mit Sonar orten” weiter lesen »
Was kostet Software Lifecycle Management – wenn man darauf verzichtet?
Donnerstag, 5. Mai 2011Enno Thieleke hat in seinem Post Die Stiefmutter in Software-Projekten einen guten Überblick über Software Lifecycle Management (SLM) gegeben. Er hat u.a. aufgegriffen, dass ein professionelles SLM in vielen Projekten nicht betrieben wird, weil es den Verantwortlichen zu teuer ist. Wenn man ausschließlich die finanzielle Seite betrachtet, ist das ist je nach Laufzeit des Projekt vielleicht noch nachvollziehbar. Denkt man aber an die gesamte Lebenszeit einer Software oder daran, dass man gar mehrere Softwaresysteme betreibt, so stellt sich das schon ganz anders dar. Mir stellt sich da immer die Frage, was etwas kostet, wenn ich darauf verzichte. Ich möchte hier eine Beispielrechnung aufmachen, die Sie leicht auf Ihre eigene Situation anpassen können. “Was kostet Software Lifecycle Management – wenn man darauf verzichtet?” weiter lesen »