Manuelle End-to-End-Tests (E2E-TEsts)
Während es auf Komponentenebene sehr leicht ist, die implementierte Funktionalität durch automatisierte Tests abzudecken, wird die über die Benutzeroberfläche erreichbare Funktionalität des Gesamtsystems in den meisten Fällen manuell getestet. Die Automatisierung ist hier häufig nicht wirtschaftlich, weil der Aufwand dafür den für manuelle Tests selbst dann deutlich übersteigt, wenn die manuellen Tests immer wieder durchgeführt werden müssen.
Ein Grund dafür ist, dass die Anpassung an Änderungen von UI und Bedienablauf bei einem manuellen Tester meist viel weniger Zusatzaufwand verursacht als bei automatisierten Testabläufen. Manche Testaspekte sind sogar grundsätzlich nicht automatisierbar. Beispiele dafür sind Usability-Tests bzw. ganz allgemein die Validierung von Software, also die Prüfung, ob das entwickelte Produkt auch tatsächlich für den geplanten Einsatzzweck geeignet ist.
Manuelle Tests werden in der Regel auf Basis von Konzepten oder Spezifikationen ausgeführt, bei hochagilen Projekten ist zuweilen auch nur ein explorativer Test möglich, der jedoch ein höheres Maß an projektindividuellem Fachwissen voraussetzt.
Wir orientieren uns bei der Konzeption, Planung und Durchführung von Tests an den Standards und Methoden des International Software Testing Qualifications Board (ISTQB®):
- Erstellung und kontinuierliche Fortschreibung eines Testkonzepts auf Basis von Testzielen (gewünschte Testtiefe und -breite, zu überprüfende Qualitätsmerkmale, etc.) und testbaren Umfängen
- Entwurf und Priorisierung von Testfällen
- Erstellung von Testplänen und Vorbereitung der Testdurchführung
- Durchführung der Tests mit Erstellung von präzisen Fehlerbeschreibungen
- Erstellung von Testabschlussberichten mit einer Zusammenfassung der Testaktivitäten und Bewertung der Testergebnisse
Case Study lesen
Sie möchten wissen, wie wir vielleicht auch Ihr Projekt durch professionelles Testen unterstützen könnten?
Erfahren Sie mehr dazu in unserer Case Study "Strukturiertes Software-Testing"
Testautomatisierung
Die Implementierung automatisierter Tests auf Komponentenebene ist aus der modernen Software-Entwicklung nicht mehr wegzudenken und gehört zum Standard-Repertoire jeden Entwicklers.
Schwieriger wird es schon auf Ebene der Integrationstests und die Automatisierung von Tests auf Systemebene (E2E) erzeugt fast immer einen relativ hohen Initialaufwand für die Bereitstellung der notwendigen Infrastruktur und geeigneter Testdaten.
|
|
Anwendungsgebiete, bei denen die Automatisierung trotzdem sinnvoll oder oder vielleicht sogar zwingend erforderlich ist, sind zum Beispiel:
- komplexe Verarbeitungsverfahren
- Schnittstellen zu Partnersystemen
- UI-basierte Regressionstests
Die sorgfältige Abwägung von Aufwand und Nutzen, sowie die Auswahl der geeigneten Methoden und Automatisierungstiefe sind entscheidende Erfolgsfaktoren für einen nutzbringenden und wirtschaftlichen Einsatz der Testautomatisierung auf Integrations- und Systemebene.
Sie möchten wissen, in welchen Bereichen und in welchem Umfang eine Testautomatisierung für Ihr Projekt sinnvoll ist?
Dann kommen Sie auf uns zu und treten Sie mit uns in Kontakt.
Last- und Performancetests
Die Erwartungshaltung an die Performance von IT-Systemen ist hoch, nicht performante Software wird nicht gerne genutzt oder gar durch alternative Lösungen ersetzt. Gleichzeitig stellt die zunehmende Komplexität der Systeme und die Verlagerung vieler Dienste in die Cloud immer höhere Anforderungen an die Rechen- und Netzwerkleistung.
Bei Last- und Performance-Tests (kurz „LuP-Tests“) wird mittels unterschiedlicher Werkzeuge eine realitätsnahe Belastung erzeugt, um das Verhalten von IT-Systemen unter Last zu untersuchen. Damit lassen sich performancerelevante Designschwächen und Ressourcenengpässe gezielt aufspüren, so dass entsprechende Maßnahmen ergriffen werden können.
Meist werden LuP-Tests automatisiert ausgeführt. Wichtig dabei ist zum einen die Auswahl der richtigen Lastprofile, bei denen Parameter wie zum Beispiel
- die Anzahl gleichzeitiger User-Zugriffe
- die zu verarbeitenden Datenmengen
- die Anzahl parallel laufender (Hintergrund-)Prozesse
- die Netzwerk-Bandbreite und -Latenz
geeignet variiert werden. Zum anderen müssen die Messpunkte geeignet gesetzt werden, so dass die ermittelten Ergebnisse das subjektive Erleben des Anwenders möglichst gut widerspiegeln.
Wie so häufig bei der Software-Entwicklung. gilt auch für die Performance-Optimierung, dass eine frühzeitige Betrachtung im Projektverlauf die besten Chancen bietet, das Verhalten des Gesamtsystems unter Last gut zu gestalten.
Case Study lesen
Sie möchten wissen, wie wir Sie bei der Durchführung von LuP-Tests in Ihrem Projekt unterstützen können?
Lesen Sie in unsere Case Study "Konzeptarbeit LuP-Tests" wie wir in einem anderen Projekt vorgegangen sind.
Testautomatisierung
Die Implementierung automatisierter Tests auf Komponentenebene ist aus der modernen Software-Entwicklung nicht mehr wegzudenken und gehört zum Standard-Repertoire jeden Entwicklers.
Schwieriger wird es schon auf Ebene der Integrationstests und die Automatisierung von Tests auf Systemebene (E2E) erzeugt fast immer einen relativ hohen Initialaufwand für die Bereitstellung der notwendigen Infrastruktur und geeigneter Testdaten.
|
|
Anwendungsgebiete, bei denen die Automatisierung trotzdem sinnvoll oder oder vielleicht sogar zwingend erforderlich ist, sind zum Beispiel:
- komplexe Verarbeitungsverfahren
- Schnittstellen zu Partnersystemen
- UI-basierte Regressionstests
Die sorgfältige Abwägung von Aufwand und Nutzen, sowie die Auswahl der geeigneten Methoden und Automatisierungstiefe sind entscheidende Erfolgsfaktoren für einen nutzbringenden und wirtschaftlichen Einsatz der Testautomatisierung auf Integrations- und Systemebene.
Sie möchten wissen, in welchen Bereichen und in welchem Umfang eine Testautomatisierung für Ihr Projekt sinnvoll ist?
Dann kommen Sie auf uns zu und treten Sie mit uns in Kontakt.
Last- und Performancetests
Die Erwartungshaltung an die Performance von IT-Systemen ist hoch, nicht performante Software wird nicht gerne genutzt oder gar durch alternative Lösungen ersetzt. Gleichzeitig stellt die zunehmende Komplexität der Systeme und die Verlagerung vieler Dienste in die Cloud immer höhere Anforderungen an die Rechen- und Netzwerkleistung.
Bei Last- und Performance-Tests (kurz „LuP-Tests“) wird mittels unterschiedlicher Werkzeuge eine realitätsnahe Belastung erzeugt, um das Verhalten von IT-Systemen unter Last zu untersuchen. Damit lassen sich performancerelevante Designschwächen und Ressourcenengpässe gezielt aufspüren, so dass entsprechende Maßnahmen ergriffen werden können.
Meist werden LuP-Tests automatisiert ausgeführt. Wichtig dabei ist zum einen die Auswahl der richtigen Lastprofile, bei denen Parameter wie zum Beispiel
- die Anzahl gleichzeitiger User-Zugriffe
- die zu verarbeitenden Datenmengen
- die Anzahl parallel laufender (Hintergrund-)Prozesse
- die Netzwerk-Bandbreite und -Latenz
geeignet variiert werden. Zum anderen müssen die Messpunkte geeignet gesetzt werden, so dass die ermittelten Ergebnisse das subjektive Erleben des Anwenders möglichst gut widerspiegeln.
Wie so häufig bei der Software-Entwicklung. gilt auch für die Performance-Optimierung, dass eine frühzeitige Betrachtung im Projektverlauf die besten Chancen bietet, das Verhalten des Gesamtsystems unter Last gut zu gestalten.
Case Study lesen
Sie möchten wissen, wie wir Sie bei der Durchführung von LuP-Tests in Ihrem Projekt unterstützen können?
Lesen Sie in unsere Case Study "Konzeptarbeit LuP-Tests" wie wir in einem anderen Projekt vorgegangen sind.