Noch vor einigen Jahren haben statische HTML-Seiten genügt, um Informationen zu präsentieren. Heute hat sich das World Wide Web (WWW) zu einem nicht mehr wegzudenkenden multimedialen Informationssystem entwickelt. Soziale Netzwerke wie Facebook oder Twitter und Videoportale wie YouTube sind allgegenwärtig. Jeder ist mit Hilfe einer Web-Anwendung mit seinen Freunden oder Kollegen vernetzt. Dieses moderne Medium ist nutzerorientiert und stellt ein interaktives Dokument dar. Wenn man im Internet ein Produkt im Sinne von „Software as a Service“ (SaaS) anbietet, kommt man um Maßnahmen zur kontinuierlichen Verbesserung und Sicherung der Software-Qualität nicht herum. Unternehmen in der Softwareentwicklung verwenden immer mehr agile Vorgehensmodelle wie beispielsweise →Scrum, um Prozesse und Projekte flexibel durchführen zu können. Immerhin über ein Drittel der Befragten IT-Professionals wählen eine agile Methode bei der Softwareentwicklung.
Ob die Qualität einer Software schlecht ist, merkt man oftmals erst wenn es bereits zu spät ist. Dann müssen die Entwickler im Nachhinein nachbessern, was einen hohen zeitlichen und finanziellen Aufwand nach sich zieht. Daher ist es wichtig, bei der Entwicklung den geschriebenen Code systematisch zu testen und ggf. zu optimieren.
Ein weiter Grund für die Wahl dieses Themas ist die immer schneller wachsende Datenmenge und die damit verbundene Komplexität, die es zu beherrschen geht. Insbesondere im Bereich eingebetteter Software gibt es einen stark wachsenden Forschungsbedarf, der durch den immer höheren Software-Anteil in solchen eingebetteten Systemen verursacht wird.
Beispielsweise betrug 2003 die Datenmenge in PKWs mit gehobener Ausstattung ca. 70 MB, dieses Jahr überschreiten wir bereits die Gigabyte-Grenze. Der neue Web-Standard HTML 5 wird lt. dem W3C erst 2014 erhoben.4 Doch moderne Browser unterstützen bereits jetzt viele Features dieses Standards. Um gegenüber den Mitbewerbern eine möglichst hohe Effizienz zu erreichen, ist es notwendig sich an die erarbeiteten Qualitätsmaßnahmen zu halten und stetig zu verbessern um nachhaltig in der Branche erfolgreich zu sein.
Dieses Thema verbindet die Informatik mit wirtschaftlichen Faktoren, und stärkt somit die Brisanz der Wirtschaftsinformatik. In der Software-Entwicklung, gerade in der Cloud, müssen ökonomische Aspekte immer mehr beachtet werden, um nachhaltige Software zu entwickeln und damit die Marktposition zu sichern.
Inhaltsverzeichnis
- Einleitung
- Software-Qualität – Fluch oder Segen?
- Qualitätssicherung als Führungsaufgabe (Top-Down)
- Standards und Richtlinien für (Software-) Qualität
- CMMI for Development (CMMI-DEV)
- IEEE 610.12 (auch →IEEE 1219 und →ISO/IEC 14764)
- ISO 9000/9001/9004
- ISO/IEC 9126
- ISO 9241
- ISO/IEC 12207 (Teil der ISO/IEC 14764)
- ISO/IEC 15504 (SPICE Norm)
- ISO 20000
- ISO/IEC 20926
- KVP/→PDCA/→KAIZEN
- V-Modell des Bundes
- Softwaremetriken
- Lines of code, kurz LOC
- Halstead Metriken
- Zyklomatische Komplexität von Thomas J. McCabe
- Wahl der Metrik(en)
- Dashboards - Unterstützung des Managements
- Release Management
- Testgetriebene Entwicklung
- Software as a (Test-) Box
- Testarten - Die Qual der Wahl?
- Smoke-Tests (als Komponenten-Tests)
- Regressionstests
- Integrationstest und funktionaler Systemtest
- Benutzbarkeitstest (Usability-Test)
- Wiederherstellbarkeitstest (Recovery-Test)
- Sicherheitstest (Security-Test)
- Last- und Performanztest (Stresstest)
- Akzeptanz- bzw. Abnahme-Test
- Ermittlung von Testfällen
- Tools zur Test-Unterstützung
- HUDSON
- BUGZILLA
- Reviews
- Agiles Vorgehen mit modernen Websprachen
- Semantik und HTML 5
- Beispielhafter Vergleich von Semantik in HTML 4.01/XHTML 1.0 zu HTML 5
- Agile Entwicklung
- Methodik Scrum
- Ausgewählte Tools im Test
- Szenario 1 – Oberflächen- und Link-Test
- Umsetzung Szenario 1 mit Selenium 2 und JUnit 4
- Szenario 2 - Performanz-Test
- Umsetzung Szenario 2 mit JMeter 2.4
- Potenzial und Grenzen der vorgestellten Tools
- Fazit
Zielsetzung und Themenschwerpunkte
Diese Bachelorarbeit untersucht die Qualitätssicherung in der agilen Softwareentwicklung von Web-Applikationen. Ziel ist es, Methoden und Werkzeuge zur effektiven Qualitätssicherung in diesem Kontext zu beleuchten und zu evaluieren.
- Agile Methoden und deren Einfluss auf die Qualitätssicherung
- Anwendbarkeit von etablierten Qualitätsstandards im agilen Umfeld
- Einsatz von Softwaremetriken zur Qualitätsüberwachung
- Testgetriebene Entwicklung und geeignete Testmethoden
- Evaluierung von Software-Testing-Tools
Zusammenfassung der Kapitel
Einleitung: Die Einleitung führt in die Thematik der Qualitätssicherung in der agilen Softwareentwicklung von Web-Applikationen ein und skizziert den Aufbau der Arbeit. Sie benennt die Relevanz des Themas im Kontext der schnelllebigen Webentwicklung und der damit verbundenen Herausforderungen an die Qualitätssicherung.
Software-Qualität – Fluch oder Segen?: Dieses Kapitel definiert den Begriff Software-Qualität und diskutiert seine Bedeutung. Es beleuchtet die unterschiedlichen Perspektiven auf Software-Qualität, die sowohl die technischen Aspekte als auch die Benutzerfreundlichkeit und Wirtschaftlichkeit berücksichtigen. Es werden verschiedene Qualitätsmodelle und -attribute vorgestellt und ihre Relevanz für die agile Softwareentwicklung analysiert.
Qualitätssicherung als Führungsaufgabe (Top-Down): Das Kapitel analysiert die Rolle des Managements bei der Implementierung und Aufrechterhaltung einer effektiven Qualitätssicherung. Es betont die Notwendigkeit einer klaren Führungsrolle und einer strategischen Planung, um die Qualitätsziele zu erreichen. Verschiedene Führungsansätze und ihre Eignung für agile Teams werden diskutiert, wobei der Fokus auf der Integration von Qualitätssicherung in den agilen Entwicklungsprozess liegt.
Standards und Richtlinien für (Software-) Qualität: Dieses Kapitel stellt eine Auswahl relevanter Standards und Richtlinien für die Software-Qualität vor, wie z.B. CMMI, ISO 9000 und IEEE Standards. Für jeden Standard werden die wichtigsten Aspekte und deren Anwendbarkeit im Kontext der agilen Softwareentwicklung erläutert. Der Fokus liegt auf der Identifizierung von geeigneten Standards, die sich in die agile Methodik integrieren lassen und trotzdem einen hohen Qualitätsstandard gewährleisten.
Softwaremetriken: Das Kapitel befasst sich mit der Auswahl und Anwendung von Softwaremetriken zur Messung und Überwachung der Software-Qualität. Verschiedene Metriken wie LOC, Halstead-Metriken und die zyklomatische Komplexität werden vorgestellt und hinsichtlich ihrer Aussagekraft und Anwendbarkeit im agilen Kontext bewertet. Der Fokus liegt auf der Auswahl von Metriken, die einen schnellen Überblick über den Qualitätszustand des Codes ermöglichen und somit die agile Entwicklung unterstützen.
Dashboards - Unterstützung des Managements: Dieses Kapitel behandelt die Verwendung von Dashboards zur Visualisierung von Softwaremetriken und anderen Qualitätsindikatoren. Es wird erläutert, wie Dashboards dem Management einen schnellen Überblick über den Projektfortschritt und die Software-Qualität ermöglichen und so fundierte Entscheidungen unterstützen. Verschiedene Dashboard-Konzepte und ihre Vorteile für agile Projekte werden analysiert.
Release Management: Das Kapitel beleuchtet die Bedeutung eines effektiven Release-Managements in agilen Projekten. Es beschreibt die verschiedenen Phasen des Release-Prozesses, von der Planung bis zur Auslieferung, und hebt die Bedeutung von Automatisierung und kontinuierlicher Integration hervor. Schließlich werden bewährte Praktiken für ein erfolgreiches Release-Management im agilen Kontext vorgestellt.
Testgetriebene Entwicklung: Dieses Kapitel behandelt die Testgetriebene Entwicklung (TDD) als eine Schlüsselmethode zur Qualitätssicherung in der agilen Softwareentwicklung. Es werden verschiedene Testarten, wie z.B. Unit-Tests, Integrationstests und Systemtests, vorgestellt und deren Anwendung in einem TDD-Prozess erläutert. Die Auswahl geeigneter Testwerkzeuge und -methoden spielt eine zentrale Rolle. Das Kapitel beleuchtet zudem die Bedeutung von automatisierten Tests und deren Integration in den agilen Entwicklungsprozess.
Agiles Vorgehen mit modernen Websprachen: Hier wird der Einfluss von modernen Websprachen (insbesondere HTML5) auf die Qualitätssicherung betrachtet. Der Fokus liegt auf der Verwendung von semantischen HTML-Strukturen, um die Testbarkeit und Wartbarkeit von Web-Applikationen zu verbessern. Die Integration von agilen Entwicklungsmethoden wie Scrum wird behandelt.
Ausgewählte Tools im Test: Dieses Kapitel beschreibt die praktische Anwendung ausgewählter Tools zur Qualitätssicherung. Konkrete Szenarien (z.B. Oberflächen- und Performanztests) werden vorgestellt, und deren Umsetzung mit Hilfe der Tools Selenium und JMeter wird detailliert beschrieben. Die Kapitel analysiert schließlich das Potential und die Grenzen der ausgewählten Tools.
Schlüsselwörter
Qualitätssicherung, Agile Softwareentwicklung, Web-Applikationen, Software-Metriken, Testgetriebene Entwicklung, Testmethoden, Agile Methoden (Scrum), HTML5, Selenium, JMeter, Qualitätsstandards.
Häufig gestellte Fragen (FAQ) zur Bachelorarbeit: Qualitätssicherung in der agilen Softwareentwicklung von Web-Applikationen
Was ist der Gegenstand dieser Bachelorarbeit?
Die Bachelorarbeit untersucht die Qualitätssicherung in der agilen Softwareentwicklung von Web-Applikationen. Sie beleuchtet Methoden und Werkzeuge für eine effektive Qualitätssicherung in diesem Kontext und evaluiert deren Anwendbarkeit.
Welche Themen werden in der Arbeit behandelt?
Die Arbeit behandelt agile Methoden und deren Einfluss auf die Qualitätssicherung, die Anwendbarkeit etablierter Qualitätsstandards im agilen Umfeld, den Einsatz von Softwaremetriken zur Qualitätsüberwachung, testgetriebene Entwicklung und geeignete Testmethoden sowie die Evaluierung von Software-Testing-Tools. Konkrete Standards wie CMMI, ISO 9000 und IEEE Standards werden ebenso betrachtet wie Tools wie Selenium und JMeter.
Welche Ziele verfolgt die Arbeit?
Ziel der Arbeit ist es, Methoden und Werkzeuge zur effektiven Qualitätssicherung in der agilen Softwareentwicklung von Web-Applikationen zu beleuchten und zu evaluieren. Es soll gezeigt werden, wie agile Methoden und etablierte Qualitätsstandards kombiniert werden können, um einen hohen Qualitätsstandard zu gewährleisten.
Welche Kapitel umfasst die Arbeit?
Die Arbeit gliedert sich in Kapitel zur Einleitung, Software-Qualität, Qualitätssicherung als Führungsaufgabe, Standards und Richtlinien, Softwaremetriken, Dashboards, Release Management, testgetriebene Entwicklung, agiles Vorgehen mit modernen Websprachen (inkl. HTML5 und Scrum), ausgewählte Tools (Selenium und JMeter) im Test und einem Fazit. Jedes Kapitel behandelt einen spezifischen Aspekt der Qualitätssicherung im Kontext der agilen Webentwicklung.
Welche Softwaremetriken werden behandelt?
Die Arbeit behandelt verschiedene Softwaremetriken, darunter Lines of Code (LOC), Halstead-Metriken und die zyklomatische Komplexität. Es wird analysiert, welche Metriken im agilen Kontext am aussagekräftigsten und anwendbarsten sind, um einen schnellen Überblick über den Qualitätszustand des Codes zu ermöglichen.
Welche Testmethoden werden beschrieben?
Die Arbeit beschreibt verschiedene Testmethoden, darunter Smoke-Tests, Regressionstests, Integrationstests, funktionale Systemtests, Benutzbarkeitstests, Wiederherstellbarkeits-Tests, Sicherheitstests, Last- und Performanztests sowie Akzeptanztests. Der Fokus liegt auf der Anwendung dieser Methoden im Kontext der testgetriebenen Entwicklung (TDD).
Welche Tools werden in der Arbeit verwendet und evaluiert?
Die Arbeit evaluiert die Tools Selenium (für Oberflächen- und Link-Tests) und JMeter (für Performanztests). Es werden konkrete Szenarien vorgestellt, die die Anwendung dieser Tools veranschaulichen. Die Arbeit analysiert zudem das Potential und die Grenzen der verwendeten Tools.
Wie wird das Thema HTML5 behandelt?
Die Arbeit betrachtet den Einfluss von modernen Websprachen, insbesondere HTML5, auf die Qualitätssicherung. Der Fokus liegt dabei auf der Verwendung semantischer HTML-Strukturen zur Verbesserung der Testbarkeit und Wartbarkeit von Web-Applikationen.
Welche Rolle spielt Scrum in der Arbeit?
Die Arbeit behandelt die agile Entwicklungsmethodologie Scrum und deren Integration in den Prozess der Qualitätssicherung. Es wird analysiert, wie Scrum die Anwendung von Methoden und Werkzeugen der Qualitätssicherung beeinflusst.
Wie ist die Arbeit aufgebaut?
Die Arbeit beinhaltet neben einer Einleitung und einem Fazit Kapitel zu den zentralen Themen der Qualitätssicherung in der agilen Webentwicklung, gefolgt von einer Zusammenfassung der Kapitel und einer Liste mit Schlüsselbegriffen. Ein Inhaltsverzeichnis ermöglicht die einfache Navigation durch den Text.
- Quote paper
- Martin Schlesier (Author), 2011, Qualitätssicherung in der agilen Softwareentwicklung von Web-Applikationen, Munich, GRIN Verlag, https://www.grin.com/document/181016