Software richtig entwickeln: Die zehn größten Fehler im Software-Test-Management Detail - Computerwelt

Computerwelt: Aktuelle IT-News Österreich


08.06.2011 Sven Schirmer*

Software richtig entwickeln: Die zehn größten Fehler im Software-Test-Management

Fehlerhafte Software kann das Geschäft jeder Firma ins Stolpern bringen. Nur wer seine Anwendungen richtig testet, vermindert das Risiko und sorgt damit für mehr Stabilität.

Software muss heute höchsten Anforderungen genügen: die zugrunde liegenden IT-Infrastrukturen werden immer komplexer, die Qualitätsansprüche wachsen, und der Zeitdruck steigt. Obwohl der Geschäftserfolg immer stärker von der eingesetzten IT abhängt, kämpfen viele Unternehmen mit fehlerhafter Software, überschrittenen Kostenbudgets oder nicht eingehaltenen Projektlaufzeiten.

Mit Hilfe eines Software-Test-Managements lassen sich diese Probleme vermeiden. Fehler können zu jedem Zeitpunkt des Software-Lebenszyklus erkannt und behoben werden. Die folgenden Erfahrungswerte zeigen Ihnen, welche Fehler Sie vermeiden sollten:

KEIN TEST-MANAGEMENT Der erste Fehler, den Unternehmen in Sachen Test-Management machen, ist so einfach wie nahe liegend: Sie haben keines. Test-Management wird in den meisten Fällen weder methodisch geplant noch umgesetzt. Oft denkt sich der verantwortliche Projektleiter erst am Ende des Entwicklungsvorhabens eine Handvoll Testfälle aus und überprüft lediglich stichprobenartig und unsystematisch einige Funktionen der Software.

Meist werden an diesem Punkt zu viele Fehler gefunden, um diese rechtzeitig zu korrigieren und das Projekt noch innerhalb der geplanten Laufzeit fertig zu stellen. Obwohl die Software längst eingeführt werden sollte, müssen nun erst noch Fehleranalysen und Fehlerkorrekturen betrieben werden. Dies erzeugt deutlich mehr Aufwand als ursprünglich geschätzt. Zudem bleibt meist keine Zeit mehr, die Korrekturen sowie die gesamte Software erneut zu testen. Das Ergebnis bleibt somit weiterhin risikobehaftet.

Manche IT-Abteilungen setzen zwar das Thema Test auf ihre Agenda, vergessen in ihrer Kalkulation aber die Korrekturen - ein weiterer Faktor, der versteckte Kosten und Zeitverluste innerhalb eines Projekts bedeuten kann. Es sollte deshalb nicht nur der Test eingeplant werden, sondern auch die Korrektur von Fehlern sowie ein entsprechender Regressionstest. Darunter versteht man die Wiederholung aller Testfälle oder einer Teilmenge, um mögliche Nebenwirkungen von Modifikationen in unveränderten Teilen der Software aufzuspüren.

KOMPLEXITÄT UND VORBEREITUNGSDAUER WERDEN UNTERSCHÄTZT Viele Unternehmen machen noch immer den typischen Fehler, zu spät mit dem Testen zu beginnen. Oft handeln sie dabei auch nach dem Irrglauben, dass erst ein großer Teil der Software erstellt sein muss, um diesen auch testen zu können. Dadurch werden allerdings Testaktivitäten versäumt, die bereits sehr früh möglich sind. Die Folge: Fehler werden erst zum Projektende entdeckt.

Mit einem systematischen Test-Management kann von Beginn der Entwicklung an und das ganze Projekt begleitend getestet werden. Das heißt, jede Entwicklungsstufe ist in ihrer entsprechenden Teststufe integriert. Dadurch lassen sich Fehler schnell in den Entwicklungsstufen finden, in denen sie entstanden sind. Auf diese Weise ist eine weniger aufwändige Korrektur möglich, und folgende Entwicklungsstufen bauen nicht auf unentdeckten Fehlern auf. Darüber hinaus lassen sich bereits während der Projektlaufzeit Qualitätsaussagen zum fertigen Produkt treffen.

FEHLENDES UND UNZUREICHENDES TESTDATEN-MANAGEMENT Der wichtigste Schritt des Testdaten-Managements ist die komplette Erfassung der vollständigen Testdaten. Einige Unternehmen beschränken sich an dieser Stelle darauf, den Testfall zu beschreiben, und vergessen darüber hinaus, ein vollständiges Datenset zu definieren, welches für die spätere Erfassung notwendig ist. Kernpunkt für den Erfolg ist es, Testdaten dauerhaft zu verwalten. Dazu zählt genauso, neue Daten zu ergänzen, wie auch Daten durch neue Zusammenstellungen zu optimieren.

Kann man während des Testens nicht auf den entsprechenden Datenbestand oder nur auf alte Daten zurückgreifen, so führt das zu erneutem Zeitverzug und möglichen Fehlerquellen. Zudem ist es Aufgabe des Testdaten-Managements, zu wissen, welche Daten an welchen Tagen welche Ergebnisse auslösen können und welche Ergebnisse erwartet werden dürfen. Ein entsprechendes Risiko-Management ist damit gewährleistet, weshalb es unbedingt notwendig ist, über die gesamte Projektlaufzeit entsprechende Ressourcen einzuplanen.

FEHLENDE TESTAUTOMATISIERUNG Bei der Testautomatisierung unterscheidet man zwischen der codenahen Testautomatisierung und der GUI-Testautomatisierung. Unternehmen machen dabei die Fehler, entweder keine codenahe Testautomatisierung anzusetzen oder die GUI-Testautomatisierung zu früh zu beginnen. Verzichtet man auf eine codenahe Testautomatisierung, verschenken die Firmen eine preiswerte Möglichkeit, bereits zeitig Aufschlüsse zur Qualität des Systems zu erhalten.

Typischerweise kommt es in frühen Projektphasen noch zu Änderungen in den spezifizierten Masken, da Anforderungen künftiger Benutzer übersehen wurden oder sich nachträglich noch ändern. Wird eine GUI-Automatisierung zu früh angesetzt, muss sie alle Änderungen der Masken nachziehen. Dies treibt den Wartungsaufwand der GUI-Automatisierung in die Höhe.

Optimal wäre der Einsatz einer frühen codenahen Testautomatisierung sowie einer am Projektende eingesetzten GUI-Testautomatisierung. Auf diese Weise lässt sich ein Großteil der bestehenden Funktionen mit einer daraufhin erstellten Automatisierung kostengünstig in Form von Regressionstests prüfen.

An dieser Stelle spielt auch das erwähnte Testdaten-Management eine wichtige Rolle. Eine Automatisierung, egal ob codenah oder auf das GUI bezogen, verlangt einen immer wieder auf den Ursprungszustand einstellbaren Testdatenbestand. Nur dadurch liefert das zu testende System für die Automatisierung vergleichbare Ergebnisse.

DAS BENÖTIGTE KNOW-HOW WIRD UNTERSCHÄTZT Wenn Unternehmen ihre Software testen, so begehen sie häufig den Fehler, die Entwickler der Software auch als Tester einzusetzen. Dies liegt zwar nahe, denn für die Firmen sind die Softwareentwickler zugleich die Experten der Software. Die Erfahrung hat jedoch gezeigt, dass den Entwicklern der objektive Blick auf die von ihnen entwickelte und zu testende Software fehlt. Sie neigen dazu, nur die Funktionen zu testen, für die sie das Produkt entwickelt haben. Negativfälle, in denen Anwender falsche, nicht nachvollziehbare Eingaben machen, werden von ihnen in aller Regel nicht berücksichtigt. Im Übrigen verfügen die meisten Entwickler auch nicht über das spezifische Wissen eines Testers, da es in der Ausbildung meist nicht berücksichtigt wird.

Das Test-Management zeigt zwar Defizite in der Qualität der Software auf, viele Unternehmen tun sich aber schwer, den daraus resultierenden Nutzen zu quantifizieren. Oft müssen erst Fehler in der Produktion auftreten, damit entsprechende Budgets eingerichtet werden. Dementsprechend sollten die Verantwortlichen die Komplexität und das notwendige Know-how frühzeitig identifizieren und handeln, bevor Fehler auftreten.

Entwicklung und Testen von Software sind hochkomplexe Bereiche, die - wenn sie Hand in Hand arbeiten - maßgeblich zur Gesamtqualität beitragen. Eine unabhängige Testabteilung ergänzt die Softwareentwicklung, niemals kann jedoch eine Abteilung die andere ersetzen.

Diesen Artikel

Bewertung:

Übermittlung Ihrer Stimme...
Noch nicht bewertet. Seien Sie der Erste, der diesen Artikel bewertet!
Klicken Sie auf den Bewertungsbalken, um diesen Artikel zu bewerten.
  Sponsored Links:

IT-News täglich per Newsletter

E-Mail:
Weitere CW-Newsletter

CW Premium Zugang

Whitepaper und Printausgabe lesen.  

kostenlos registrieren

Aktuelle Praxisreports

(c) FotoliaHunderte Berichte über IKT Projekte aus Österreich. Suchen Sie nach Unternehmen oder Lösungen.

Service

Acceptance Testing: Trotz knapper Ressourcen

Zum Thema

  • Matrix42 AG

    Matrix42 AG Mobile Lösungen und Applikationen, Zugangs- und Zutrittskontrolle, Security Audits, Übernahme von Softwareprojekten, Programmierung, IT-Asset- und Lizenzmanagement, IKT-Consulting,... mehr
  • abaton EDV-Dienstleistungs GmbH

    abaton EDV-Dienstleistungs GmbH VPN, Überwachungssysteme, SPAM-Filter, Notfalls-Rechenzentren, Firewalls, Datensicherung, Backup und Recovery Systeme,... mehr
  • eyepin GmbH

    eyepin GmbH Application Service Providing, Auftragsentwicklung für Software, Individual-Softwareentwicklung, Programmierung, Übernahme von Softwareprojekten mehr
  • ITSDONE GRUPPE

    ITSDONE GRUPPE Office Software, Kaufmännische Software (ERP), Datenbanken, Server-Betriebssysteme, Programmiersprachen, Betriebssysteme für PCs, Netzwerk- und Systemüberwachung,... mehr

Hosted by:    Security Monitoring by: