Bachelorarbeit, 2011
55 Seiten
1 | Einleitung
2 | Software-Qualität – Fluch oder Segen?
2.1 Qualitätssicherung als Führungsaufgabe (Top-Down)
2.2 Standards und Richtlinien für (Software-) Qualität
2.2.1 CMMI for Development (CMMI-DEV)
2.2.2 IEEE 610.12 (auch →IEEE 1219 und →ISO/IEC 14764)
2.2.3 ISO 9000/9001/9004
2.2.4 ISO/IEC 9126
2.2.5 ISO 9241
2.2.6 ISO/IEC 12207 (Teil der ISO/IEC 14764)
2.2.7 ISO/IEC 15504 (SPICE Norm)
2.2.8 ISO 20000
2.2.9 ISO/IEC 20926
2.2.10 →KVP/→PDCA/→KAIZEN
2.2.11 V-Modell des Bundes
2.3 Softwaremetriken
2.3.1 Lines of code, kurz LOC
2.3.2 Zyklomatische Komplexität von Thomas J. McCabe
2.3.3 Halstead Metriken
2.3.4 Wahl der Metrik(en)
2.4 Dashboards – Unterstützung des Managements
2.5 Release Management
3 | Testgetriebene Entwicklung
3.1 Software as a (Test-) Box
3.2 Testarten – Die Qual der Wahl?
3.2.1 Smoke-Tests (als Komponenten-Tests)
3.2.2 Regressionstests
3.2.3 Integrationstest und funktionaler Systemtest
3.2.4 Benutzbarkeitstest (Usability-Test)
3.2.5 Wiederherstellbarkeitstest (Recovery-Test)
3.2.6 Sicherheitstest (Security-Test)
3.2.7 Last- und Performanztest (Stresstest)
3.2.8 Akzeptanz- bzw. Abnahme-Test
3.3 Ermittlung von Testfällen
3.4 Tools zur Test-Unterstützung
3.4.1 HUDSON
3.4.2 BUGZILLA
3.5 Reviews
4 | Agiles Vorgehen mit modernen Websprachen
4.1 Semantik und HTML 5
4.2 Agile Entwicklung
4.3 Methodik Scrum
5 | Ausgewählte Tools im Test
5.1 Szenario 1 – Oberflächen- und Link-Test
5.2 Umsetzung Szenario 1 mit Selenium 2 und JUnit 4
5.3 Szenario 2 – Performanz-Test
5.4 Umsetzung Szenario 2 mit JMeter 2.4
5.5 Potenzial und Grenzen der vorgestellten Tools
6 | Fazit
Diese Arbeit untersucht die Qualitätssicherung in der agilen Entwicklung von Web-Applikationen. Ziel ist es, Methoden, Standards und Werkzeuge zu analysieren, die eine kontinuierliche Verbesserung und Sicherung der Softwarequalität unter agilen Rahmenbedingungen wie Scrum ermöglichen.
3.1 Software as a (Test-) Box
Man hat schon öfter von Black-Box- und White-Box-Tests gehört, auch wenn dabei die White-Box falsch dargestellt wird. Denn bei diesen beiden Test-Strategien entscheidet man sich, individuell für jeden Testfall, entweder in das Innere der Anwendung zu schauen oder aber wie der spätere Nutzer nur die Oberfläche (Black-Box) und seine Funktionalität zu betrachten. Deshalb redet man anstatt von White-Box (da Weiß, wie Schwarz ebenfalls undurchsichtig ist) eher von einer Glass-Box- oder von Clear-Box-Tests.
Die Entwickler sind in der Regel für die ersten Glass-Box-Tests verantwortlich, da diese die Tests während der Entwicklung mit programmieren. Diese können simple Unit-Tests sein, die überprüfen, ob Methoden richtig aufgerufen werden und entsprechende Rückgabeparameter liefern. Gibt der Entwickler die Software-Komponente frei, können die Test-Ingenieure, je nach Wissen oder Verfahren, den Quellcode nach Fehlern bzw. Optimierungen durchsuchen oder testen. Der Code sollte dabei möglichst umfangreich abgedeckt werden. Dazu kann man auf die Metriken zurückgreifen, die aussagen bzw. messen, welche Code-Abdeckung (code coverage) benötigt wird, um ein Programm zu 100% zu testen. Hierbei ist zu beachten, dass es nicht um die Anforderungen geht, welche meist schnell abgedeckt werden können, sondern um die Programmstruktur, die wesentlich komplexer ist.
Beim Black-Box-Test (Synonyme sind Functional- oder Behavioral-Testing) wird die Software an der Oberfläche getestet und versucht, alle möglichen Pfade die ein Nutzer wählen kann, zu prüfen, was manuell anhand von Checklisten erfolgt. Alternativ nutzt man Test-Tools wie bspw. Selenium um dieses Verhalten zu simulieren, und damit schneller komplexere Anwendungen durchzuprüfen. Wenn ein Fehler gefunden wird, kann und muss man diesen manuell nachstellen können.
Der Gray-Box-Test ist eine Kombination von Black- & Glass-Box-Testmethoden. Dabei hat der Tester den Fokus auf die Spezifikationen und der Programmierer auf den Code.
1 | Einleitung: Die Einleitung beleuchtet die steigende Bedeutung von Softwarequalität in modernen, nutzerorientierten Webanwendungen und stellt die Motivation für das Thema sowie den Aufbau der Arbeit dar.
2 | Software-Qualität – Fluch oder Segen?: Dieses Kapitel definiert Qualität im Softwarekontext, stellt relevante Standards und Normen vor und diskutiert Softwaremetriken sowie die Rolle von Dashboards und Release Management.
3 | Testgetriebene Entwicklung: Hier werden die Ziele des Testens erläutert, verschiedene Testarten (Black-Box, Glass-Box) differenziert und Ansätze zur Ermittlung von Testfällen sowie zur Testautomatisierung diskutiert.
4 | Agiles Vorgehen mit modernen Websprachen: Das Kapitel behandelt die Bedeutung moderner Webstandards wie HTML 5 für die Qualitätssicherung und setzt sich kritisch mit agilen Methoden, insbesondere Scrum, auseinander.
5 | Ausgewählte Tools im Test: Anhand praktischer Szenarien wird der Einsatz von Werkzeugen wie Selenium, JUnit und JMeter zur automatisierten Oberflächen- und Performanzprüfung von Web-Applikationen demonstriert.
6 | Fazit: Das Fazit fasst die Relevanz der Qualitätssicherung für nachhaltige Softwareentwicklung zusammen und betont die Notwendigkeit bereichsübergreifender Zusammenarbeit in agilen Teams.
Qualitätssicherung, Agile Softwareentwicklung, Web-Applikationen, Softwaremetriken, Testgetriebene Entwicklung, Scrum, Selenium, JUnit, JMeter, HTML 5, Release Management, Code-Komplexität, Software-Test, Usability-Test, Automatisierung.
Die Arbeit beschäftigt sich mit der Sicherung der Softwarequalität bei der Entwicklung von Web-Applikationen innerhalb agiler Projektumgebungen.
Die zentralen Themen umfassen Qualitätsmanagement-Standards, den Einsatz von Softwaremetriken, verschiedene Testmethoden, die Anwendung agiler Vorgehensmodelle (Scrum) sowie die Automatisierung von Tests.
Das Ziel ist es, aufzuzeigen, wie durch eine Kombination aus geeigneten Standards, Metriken und Testwerkzeugen eine hohe und effiziente Qualitätssicherung in der agilen Web-Entwicklung erreicht werden kann.
Die Arbeit basiert auf einer theoretischen Fundierung durch Literaturanalyse zu Standards und Normen sowie einer empirischen Komponente durch die praktische Erprobung und Analyse ausgewählter Test-Tools an konkreten Szenarien.
Der Hauptteil gliedert sich in die theoretische Betrachtung von Software-Qualität und Metriken, eine detaillierte Einführung in Teststrategien, die Rolle agiler Ansätze und eine praktische Tool-Evaluation.
Die Arbeit wird durch Begriffe wie Qualitätssicherung, Agile Softwareentwicklung, Testautomatisierung, Scrum und Web-Applikationen geprägt.
Die „3A-Sicht“ ist eine vom Autor eingeführte Methode, bei der Tests aus der Perspektive von drei Rollen durchgeführt werden: Anwender, Administrator und Angreifer.
Das Pattern dient der Entkopplung der Testlogik von der konkreten Webseiten-Struktur, was die Wartbarkeit der automatisierten Tests deutlich erhöht.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

