Hausarbeiten logo
Shop
Shop
Tutorials
De En
Shop
Tutorials
  • How to find your topic
  • How to research effectively
  • How to structure an academic paper
  • How to cite correctly
  • How to format in Word
Trends
FAQ
Go to shop › Computer Science - Software

Qualitätssicherung in der agilen Softwareentwicklung von Web-Applikationen

Title: Qualitätssicherung in der agilen Softwareentwicklung von Web-Applikationen

Bachelor Thesis , 2011 , 55 Pages

Autor:in: Martin Schlesier (Author)

Computer Science - Software

Excerpt & Details   Look inside the ebook
Summary Excerpt Details

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.

Excerpt


Inhaltsverzeichnis

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

Zielsetzung & Themen

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.

  • Qualitätsmanagement und relevante Industriestandards
  • Anwendung von Softwaremetriken zur Messung von Code-Komplexität
  • Testgetriebene Entwicklung und verschiedene Testarten
  • Agiles Vorgehen unter Nutzung moderner Webstandards wie HTML 5
  • Praktischer Einsatz von Test-Tools (Selenium, JUnit, JMeter)

Auszug aus dem Buch

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.

Zusammenfassung der Kapitel

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.

Schlüsselwörter

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.

Häufig gestellte Fragen

Worum geht es in dieser Bachelorarbeit grundsätzlich?

Die Arbeit beschäftigt sich mit der Sicherung der Softwarequalität bei der Entwicklung von Web-Applikationen innerhalb agiler Projektumgebungen.

Was sind die zentralen Themenfelder der Arbeit?

Die zentralen Themen umfassen Qualitätsmanagement-Standards, den Einsatz von Softwaremetriken, verschiedene Testmethoden, die Anwendung agiler Vorgehensmodelle (Scrum) sowie die Automatisierung von Tests.

Was ist das primäre Ziel oder die Forschungsfrage?

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.

Welche wissenschaftliche Methode wird verwendet?

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.

Was wird im Hauptteil der Arbeit behandelt?

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.

Welche Schlüsselwörter charakterisieren die Arbeit?

Die Arbeit wird durch Begriffe wie Qualitätssicherung, Agile Softwareentwicklung, Testautomatisierung, Scrum und Web-Applikationen geprägt.

Was ist die „3A-Sicht“ im Kontext von Sicherheitstests?

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.

Warum ist das „Page Object Pattern“ für die Testautomatisierung mit Selenium wichtig?

Das Pattern dient der Entkopplung der Testlogik von der konkreten Webseiten-Struktur, was die Wartbarkeit der automatisierten Tests deutlich erhöht.

Excerpt out of 55 pages  - scroll top

Details

Title
Qualitätssicherung in der agilen Softwareentwicklung von Web-Applikationen
College
University of Applied Sciences Berlin
Course
Wirtschaftsinformatik
Author
Martin Schlesier (Author)
Publication Year
2011
Pages
55
Catalog Number
V181016
ISBN (eBook)
9783656039556
ISBN (Book)
9783656039860
Language
German
Tags
Qualität Selenium Software Entwicklung Software-Entwicklung agil Scrum JMeter Web Applikation HTW Berlin Bachlor Softwaremetriken Metriken LoC Lines of Code Dashboard Release Management Release Smoke-Test Testgetriebene Entwicklung Tools Test Tests Testen HTML HTML5 CSS JavaScript
Product Safety
GRIN Publishing GmbH
Quote paper
Martin Schlesier (Author), 2011, Qualitätssicherung in der agilen Softwareentwicklung von Web-Applikationen, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/181016
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  55  pages
Hausarbeiten logo
  • Facebook
  • Instagram
  • TikTok
  • Shop
  • Tutorials
  • FAQ
  • Payment & Shipping
  • About us
  • Contact
  • Privacy
  • Terms
  • Imprint