Big Data Anwendungen entwickeln und testen

Intelligente Software und Big Data Anwendungen folgen anderen Paradigmen als „normale“ Softwareanwendungen. Daher erfordert ihre Entwicklung eine besondere Vorgehensweise insbesondere im Bereich der Qualitätssicherung.

ISTQB

ISTQB ist eine anerkannte Zertifizierungsstelle fur Softwaretester. In manchen Bereichen überlappt sich das dort vermittelte Know How mit dem Know How, das im Produktmanagement erforderlich ist.

Anbei („What is the ISTQB Agile Tester Extension Certification?„) finden Sie eine kurze Einführung in den agilen Entwicklung- und Testprozess, und in Begriffen wie den „User Stories“, der „Sprintplanung“, der „Continuous Integration“ oder der „Definition of Done“ einen ersten Hinweis zu diesen überlappenden Bereichen.

In dem Blog der ISTQB Website finden Sie einen tollen Artikel („Big Data Testing – Complete beginner’s guide for Software Testers„), der die einzelnen Phasen eines Big Data Projektes behandelt, und u.a. zeigt, wie diese Anwendungen aufgebaut sind, und wie man solche Anwendungen entwickelt und testet.

Big Data Testing

In Big Data Anwendungen kommt den verarbeiteten Daten neben der eigentlichen Anwendung eine besondere Rolle zu. Oft sind hier die Datenmengen so groß, daß ein hemdsärmeliger Ansatz nicht mehr reicht, um das Gesamtsystem und die Datenlücken zu verstehen. Daher bindet die Datenvalidierung oft einen großen Teil der Entwurfs- und Testkapazitäten.

Um Daten vernünftig validieren zu können, benötigt man neben dem statistischen Grundwissen vor allen Dingen ein sehr gutes Verständnis der Use-Cases, welche die Anwendung abdecken soll, und damit der „Realität“ für die diese Anwendung gemacht ist.

Der erwähnte Blogbeitrag beschränkt sich auf den Big Data Framework „Hadoop„. Es gibt jedoch auch andere solche Frameworks, wie Apache Spark, Cassandra, oder den anderen Anwendungen, die man oft unter dem Kürzel „SMACK-Stack“ zusammenfasst (siehe meine früheren Artikel hierzu).

Für den Fall einer Big Data Anwendung auf Hadoop beschreibt der Blogautor im Detail, wie der Framework funktioniert, in welche Teile sich eine Anwendung gliedert, und wie man diese testet. Dabei sind besonders die Bereiche der „Data Staging Validierung“ und die der „Output Validierung“ kaum ohne Kundenfeedback erfolgreich zu meistern.

Weiterhin ist die Systemperformance speziell im Bereich der Big Data Anwendungen der kritische Faktor. Hier ist Kundenfeedback deshalb essentiell, weil eine optimale Performance ja jeweils auf den Anwendungsfall bezieht – dem einen kommt es auf die Performance Dateneingabe an. Der andere benötigt schnelle Reportingergebnisse.

Weiterführende Informationen

Das Original dieses Artikels ist auf Der Produktmanager erschienen (©Andreas Rudolph). Folgeartikel zum Thema gibt es über die (→Mailingliste), oder indem Sie →mir auf Twitter folgen.

In der Online Version des Artikels finden Sie hier die versprochenen weiterführenden Links:

Comments are closed.