Qualitätssicherung bei TimeTac

TimeTac räumt der Qualitätssicherung einen sehr hohen Stellenwert ein. Diese erfolgt bereits am Beginn jeder Weiterentwicklung. Damit möchte TimeTac sicher stellen, dass die Software bei ihrer tatsächlichen, produktiven Verwendung allen definierten Anforderungen bzw. Kriterien entspricht - also bevor wir unseren Kunden die Produkte und Services bereitstellen. Wir haben mit unseren Kollegen von der Qualitätssicherung gesprochen und für Sie erfragt wie TimeTac die Softwarequalität überprüft und was diese unseren Kunden bringt.

Wozu dient Software-Qualitätssicherung?

Die Qualitätssicherung ist ein Konzept um korrekte Funktionalität, Effizienz und Benutzerfreundlichkeit einer Software sicherzustellen. Sie hilft Probleme zu vermeiden, bevor die Software dem Kunden zur Verfügung gestellt wird.

Das Ziel ist somit, dass die Software bei ihrer tatsächlichen produktiven Verwendung allen definierten Anforderungen bzw. Kriterien entspricht.

Qualitätsmanagement bei TimeTac

Bei TimeTac sind die Scrum-Teams für die Sicherstellung der Qualität verantwortlich. Jedes Team verfügt über speziell dafür ausgebildete Qualitätsexperten. Diese verfügen über viel Erfahrung und haben ein umfassendes Wissen über das Produkt und die Zielrichtung der Software. Um stets über die neuesten Tools und Trends in der Qualitätssicherung bescheid zu wissen, tauschen sich diese Experten regelmäßig in einer Community of Pracitce aus.

Im Gespräch mit dem Team der Qualitätssicherung

Was testen wir und in welchem Entwicklungsstadium?

Die Qualitätssicherung startet schon vor Beginn jedes Sprints. Vor jeder Änderung oder vor Einführung neuer Features in der Software, werden diese detailliert mit dem Product Owner und den Entwicklungsteams diskutiert. So erkennen wir mögliche Fehler früh und vermeiden diese. Alle Hauptfunktionen der Software werden automatisiert getestet und zwar kontinuierlich während der Entwicklung und vor jedem Release.

Welche Methoden verwendet TimeTac zum Testen der Software?

Wir führen einen großen Teil unserer Tests mit speziellen Programmen automatisiert durch. Zusätzlich ergänzen wir bei jedem neuen Feature und jedem Bugfix weitere automatisierte End-to-End-Tests. Das bedeutet, dass jede Änderung am Web-Interface sowie auf den mobilen Plattformen getestet wird. In Bereichen, in welchen die Testautomatisierung noch Lücken beinhaltet, testen wir zusätzlich manuell.

Wir erfassen alle Testergebnisse und Fälle nachvollziehbar. Die Product Owner prüfen Softwareänderungen regelmäßig in Hinblick auf die gewünschten Funktionalitäten sowie deren Benutzerfreundlichkeit.

Wie detailliert bzw. aufwendig sind diese Tests?

Wir testen neue Funktionalitäten manuell, so lange bis deren korrekte Funktionalität sichergestellt ist. Parallel dazu schreiben wir automatisierte Tests, um später auftretenden Mängeln vor zu beugen. Für die Implementierung von signifikant neuen Funktionen kann das Tage in Anspruch nehmen, da dafür manchmal mehrere Feedback-Schleifen notwendig sind. Denn diese durchlaufen den ganzen Test-Prozess – vom Entwerfen formalisierter Testfiles bis hin zur finalen Akzeptanz.

Bevor fertiggestellte und getestete Änderungen in ein Release aufgenommen werden, führen wir eine Testreihe – sogenannte Smoke Tests – durch. Mit diesen Tests überprüfen wir das Produkt in seiner Gesamtheit, um Nebenwirkungen auszuschließen. Daraufhin stellen wir das Update intern zur produktiven Verwendung bereit und unsere Mitarbeiter wenden dieses einen definierten Zeitraum an.

Erst nach erfolgreichem Abschluss dieser Phase, rollen wir Änderungen schrittweise für immer mehr Kunden aus. Dabei überwachen wir das Produkt kontinuierlich um eventuell notwendige Verbesserungen schnellstmöglich durchführen zu können.

Und welche Vorteile haben die Kunden von der Qualitätssicherung?

Die Qualitätssicherung erfolgt durch die Entwickler-Teams wodurch die relevante Expertise bei allen wichtigen Meetings zur Planung und Überprüfung beteiligt ist: das Testen wird direkt zusammen mit der Umsetzung geplant. Alle diese Maßnahmen garantieren, dass der Nutzer ein stabiles, verlässliches und kontinuierlich verbessertes Produkt erhält.

Bei TimeTac ist die Qualitätssicherung ein proaktiver, gelebter Ansatz um Fehler so früh wie möglich zu finden – auf jeden Fall bevor wir das Produkt oder Service veröffentlichen. Wir als Community of Practice der Qualitätssicherung garantierten dafür, dass wir ein Produkt bereitstellen, welches zuverlässig und konsistent hohe Qualitätsstandards beibehält.

Definitionen aus der Software-Entwicklung:

Scrum ist ein Vorgehensmodell des Produktmanagements, das in der agilen Softwareentwicklung zum Einsatz kommt. Kerngedanke hinter agiler Entwicklung ist, ein komplexes Produkt in kurzen Iterationen zu entwickeln. Dies erlaubt schnellstmöglich Wert für Kunden auszuliefern und deren Feedback in zukünftige Entwicklungen einfließen zu lassen. Scrum hilft dabei durch Transparenz, Überprüfung und Anpassung die agilen Entwicklungsprozesse kontinuierlich zu verbessern.

Ein Scrum Sprint bezeichnet eine 2-4 wöchige Periode der Softwareentwicklung. Am Ende jedes Sprints steht ein Paket aus Produktverbesserungen, das Produktinkrement – eine fertig getestete und ausgelieferte Version des Produktes.

Der Product Owner ist eine der Rollen in Scrum. Product Owner sind für die Eigenschaften und den Erfolg des Produkts verantwortlich. Sie gestalteten das Produkt mit dem Ziel, dessen Kundennutzen zu maximieren. Der Product Owner priorisiert zukünftige Arbeiten mittels des sogenannten Product Backlogs, einer sortierten Liste mit den Anforderungen.

Ein Entwicklungsteam besteht aus Experten unterschiedlicher technischer Disziplinen – zB.: Datenbankentwicklung, Frontend Design oder Qualitätssicherung. Gemeinsam ist das Team in der Lage, innerhalb eines Sprints ein hochqualitatives Produktinkrement zu entwickeln.

Ein Software-Release bezeichnet die Veröffentlichung von neuer oder verbesserter Funktionalität. Dabei wird das aktuelle Produktinkrement für Kunden verfügbar gemacht.

Als Bug bezeichnet man einen Fehler in einem Programm. Der kann sich beim Programmieren einer Software einschleichen. Man unterscheidet Darstellungsfehler und funktionale sowie technische Bugs. Technische Bugs beispielsweise führen zu Störungen oder gar Abstürzen. Von funktionalen Bugs spricht man, wenn ein Programm-Feature nicht so arbeitet, wie es eigentlich sollte. Und dann gibt es noch Fehler in der Benutzeroberfläche, hierzu zählen etwa Darstellungsfehler. Wird ein Fehler behoben, nennt man die Lösung Bugfix oder auch Patch. Ein Bugfix korrigiert somit die fehlerhaften Programmteile.

Beim End-to-End-Testen werden realistische Nutzungsszenarien in einer Anwendung durchgespielt. Sie sind darauf ausgerichtet, die Workflows einer Anwendung aus der Perspektive der Endnutzer zu überprüfen. Diese Tests können sowohl manuell als auch vollautomatisiert durchgeführt werden.

Als Web-Interface bezeichnet man eine grafische Benutzeroberfläche, über die ein Benutzer mit Hilfe eines Webbrowsers mit dem System interagieren kann.

Smoke testing/Smoke Tests ist ein Begriff aus dem Englischen, gebräuchlich unter anderem in der Softwareentwicklung. Hiermit bezeichnet man den ersten grundlegenden Probelauf einer Software, der eventuelle verbleibende Probleme offen legen soll. Natürlich wird in diesem Fall das Programm nochmals vor einem Release überarbeitet.

TimeTac ist seit mehr als 10 Jahren erfolgreich am Markt weltweit tätig und zählt zu den führenden Anbietern von Online-Zeiterfassungslösungen im deutschsprachigen Raum. Das Angebot umfasst markterprobte und optimal anpassbare Lösungen zur Arbeitszeiterfassung, Projektzeiterfassung, Urlaubsverwaltung sowie Personaleinsatzplanung.