Softwarequalität
Fehlerfreie Webanwendungen
Qualität ist relativ, denn für jedes Web-Projekt sind etwas andere Qualitätsmerkmale wichtig. Treffen Sie Entscheidungen zur Priorisierung der relevanten Qualitätsziele daher bewusst und möglichst frühzeitig! Wir beraten Sie gerne zu den Möglichkeiten.
Leistungen
- Software-Architektur
- Continous Delivery (CD)
- Manuelles Testing
- Automatisiertes Testing
- Code-Review
- Refactoring
Vorteile
- Hohe Code-Qualität
- Modulare Architektur
- Moderne Frameworks
- Flexible Erweiterbarkeit
- Leichte Wartbarkeit
- Kosteneffiziente Umsetzung
Agile Qualitätssicherung mit Qualitätsplan
Je später Fehler oder geänderte Anforderungen in einer Software entdeckt werden, desto aufwändiger ist deren Behebung. Es genügt daher nicht, erst nach erfolgter Umsetzung mit verschiedenen manuellen und automatisierten Tests zu beginnen. Vielmehr sollten alle agilen Prozesse, die in der Entwicklung durchlaufen werden, auf eine Erhöhung der Produktqualität ausgerichtet sein.
„Qualität muss im gesamten Projektverlauf implementiert werden und kann nicht 'eingetestet' werden.“
- Julia Menger (Qualitätsmanagerin, ion2s)
Bei ion2s ist eine umfassende Qualitätssicherung integraler Bestandteil eines jeden Umsetzungsprozesses. So beinhaltet ein Kanban-Prozess bis zu 4 Schritte zur Qualitätssicherung in der Anforderungserfassung, dem Testing und der Abstimmung mit Auftraggebern. In Scrum-Teams finden Qualitätspläne Verwendung, die sicherstellen, dass eine Anforderung die folgenden Schritte durchläuft:
Scrum Planning: Feedback und Rückfragen zu den User Stories
Funktionsspezifikation: Detailprüfung der User Stories
Abnahmespezifikation: Definition der Abnahmekriterien und Erstellung der Testfälle und E2E-Tests
Entwicklung: Test-Driven-Development, Umsetzung von Unit- und Integrationstests, Umsetzung der Entwicklung und Refaktorisierung des Codes
Software-Integration: Ausführung der Unit- und Integrationstests, Überprüfung der Code-Regeln
Entwicklertests: Manuelle Tests der Implementierung gegen die Anforderung
Softwaretests: Manuelle Tests der Implementierung anhand der Abnahmekriterien und Testfälle, ebenso der Einsatz der End-to-End-Testautomatisierung
Kundenseitige Abnahmetest
Live-Tests
QA Reporting: Erstellung von Testberichten
Die Qualität spielt also im gesamten Projektverlauf eine wichtige Rolle. Spätestens mit steigender Komplexität in Web-Portalen und Web-Anwendungen ist eine durchgängige Qualitätssicherung zu einem Muss geworden. Gerne beraten wir Sie zu den Möglichkeiten, um die Qualität Ihrer Projekte zu überwachen und zu steigern.
QA-Testing
Eine lückenlose Qualitätssicherung ist essenziell, um in funktionsstarken und komplexen Portalen eine zuverlässige Qualität sicherzustellen. Alle agilen Prozesse bei ion2s beinhalten daher vordefinierte und mehrstufige QA-Phasen. So ist zum Beispiel im Kanban Prozess definiert, dass eine Funktionserweiterung die QA sowohl agenturseitig als auch kundenseitig durchläuft, bevor sie live bereitgestellt wird. Nach Livestellung erfolgt ein weiterer abschließender Test nach vordefinierten Akzeptanzkriterien.Auch bereits in der Konzeption und im User Interface Design sind strukturierte QA-Maßnahmen fester Bestandteil der Entwicklungsprozesse. Mittels Akzeptanz- und Usability-Tests lassen sich Geschäftsmodelle und digitale Lösungen frühzeitig abprüfen, um den Bedarf zielgerichtet zu erfassen. Die Erfahrung zeigt, dass dies nicht nur die Qualität des Endproduktes steigert, sondern auch eine Kostenersparnis für den Kunden mit sich bringt.Durch die Zunahme der technischen Möglichkeiten, die zahlreichen Browser-Varianten und die Vielzahl von Endgeräten wird auch die Qualitätssicherung stets komplexer. Themen wie Barrierefreiheit, Hochverfügbarkeit oder maximale Performance stellen die Entwicklung und die Qualitätssicherung vor immer neue Herausforderungen. Je nach Projektanforderungen setzen wir daher auf eine Mischung verschiedener ineinandergreifender Testverfahren.
Continous Integration
Um Weiterentwicklungen möglichst kleinteilig und zeitnah testen zu können, entwickeln wir nach dem Prozess der kontinuierlichen Integration (continuous integration). Der Begriff aus der Software-Entwicklung beschreibt eine Praxis, nach der kleinteilige Änderungen sofort geprüft und anschließend zur Gesamtcodebasis einer Software hinzugefügt werden. Es wird also nicht mehr über eine lange Zeit auf einen späteren Termin hingearbeitet, zu dem alle Umsetzungsbestandteile gemeinsam bereitgestellt werden. Ziel der kontinuierlichen Integration ist es stattdessen, ein unmittelbares Feedback zu erhalten, sodass ein versehentlich integrierter Fehler so schnell wie möglich identifiziert und behoben werden kann. Hierzu richten wir zum Start der Zusammenarbeit standardmäßig die folgenden Komponenten ein:
Arbeitsumgebungen, automatisches Deployment und Testautomatisierung
Arbeitsumgebung/ Development-Umgebung (lokal)
Testumgebung für agenturseitige Tests (Staging)
Abnahmeumgebung für User Acceptance Tests/ Kundenfreigaben (Staging/ UAT)
Produktivumgebung (live)
Deployment-Prozess für automatische Deployments auf die verschiedenen Umgebungen
Testautomatisierung auf verschiedenen Ebenen (optional)
Produktionsnahe Entwicklungsumgebung
Die Development-Umgebung ist eine virtualisierte Umgebung als Abbild der produktiven Betriebssysteme und Dienste auf den jeweiligen Arbeitsplatzrechnern. Somit ist eine parallele Entwicklung durch beliebig viele Mitarbeiter möglich. Da die Umgebung produktionsnah ausgelegt ist, entfallen Konflikte, die durch abweichende Serverkonfigurationen ausgelöst werden könnten.
Dokumentation
Um eine rasche Einarbeitung zu ermöglichen, dokumentieren die Teams wichtige Informationen in einem Projektsteckbrief in Confluence. Der Projektsteckbrief beinhaltet relevante Informationen zum Auftraggeber, zu Ansprechpartnern, den Zielen, Zielgruppen und KPIs des Projektes sowie zum Bestandssystem, anzubindenden Systemen, den Arbeitsumgebungen und den Domains. Denn auch eine zügige und zuverlässige Einarbeitung leistet einen wichtigen Beitrag für die Qualität der Ergebnisse.
Gemeinsame Codebasis und Versionsverwaltung mit Git
Das umsetzende Team arbeitet mit einer gemeinsamen Code-Basis. Entwickelt wird lokal auf dem eigenen Rechner. In einer separaten Versionsverwaltung führen alle an der Entwicklung Beteiligten ihre Entwicklungsstände zusammen. Dieses Vorgehen ermöglicht eine leichte Skalierung des Teams. Zahlreiche EntwicklerInnen können zeitgleich an einem Projekt arbeiten, ohne sich gegenseitig zu überschreiben. Hierzu setzen wir im Haus das Versionsverwaltungstool Git ein.
Jetzt Angebot anfordern
Sie haben eine Frage oder ein konkretes Anliegen? Jetzt Kontakt aufnehmen!
Florian Kasper
E-Mail: florian.kasper@ion2s.com
Telefon: +49 6151 39115-100