„Patch me if you can“ – Software-Updates sind Pflicht!

Auf einem Netzwerk-Treffen in der letzten Woche wurde eine wertvolle Lektion erteilt:
Sicherheits-Updates („Security-Patches“) gibt es nur von großen Herstellern. Und ich rede von den wirklich großen Herstellern, wie Oracle, Microsoft, Apple.

Die Unternehmen, die auch groß sind, aber nicht die Alleinstellungsmerkmale wie diese Unternehmen besitzen, z.B. Samsung, liefern weniger häufig oder nur verspätet Sicherheit-Updates für bereits veröffentlichte Produkte.

Woran liegt das? Natürlich können wir nur mutmaßen, aber verschiedene Gründe kommen in Frage:

  • Entweder der Lieferant will die Entwicklungs-Abteilung bzw. die Qualitätssicherung nicht mit zusätzlichen Aufgaben belasten, indem man für bereits abgelöste Produkte Updates bereitstellt. Die Updates müssen ja komplett geprüft werden, um weitere Fehler auszuschließen
  • Die Marketing-Abteilung oder das Produkt-Management hat entschieden, dass es für Kunden Kaufkriterium ist, auf dem aktuellen Stand zu sein. Dies kann man natürlich erreichen, indem man nur für neue Produkte Updates bereitstellt, wenn überhaupt.

Auf dem deutschen Markt wird so etwas kritisch gesehen, da die hiesigen Anwender sehr sicherheitsbewusst sind.

Abgesehen davon ist jeder Lieferant im Rahmen der Produkthaftung zur Bereitstellung eines einwandfreien Produktes verpflichtet, berichtet heise online.

Welche Lehren können wir aus dieser Tatsache ziehen?

  1. Die Software sollte beim ersten Release schon so gut sein, dass sie keine baldigen Updates benötigt. Da hilft es, wenn man professionelle Hilfe bei der Erstellung von Testplänen hat, und eine unabhängige Mannschaft, die die Tests durchführt. Dies hilft, einen unverstellten Blick aus Nutzersicht zu erlangen.
  2. Die internen Strukturen kann man durch Tests „von außen“ nur schwer erreichen. Daher unterstützten wir auch bei weiteren Test-Aktivitäten wie Code-Reviews und der Erstellung und Pflege automatischer Tests.
  3. Strukturierte Testpläne helfen dabei, reproduzierbare und vergleichbare Ergebnisse zu erreichen. Wenn einmal etwas „durchrutscht“ und ein Update erforderlich macht, oder ein Funktionsupdate angeboten werden soll, kann man so erkennen, wie die Qualität im Vergleich zur letzten Version war.
  4. Uns ist klar, dass die Bereitstellung kritischer Software-Updates immer zur Unzeit nötig sind. In Zeiten von erhöhtem Arbeitsaufkommen kann es erforderlich sein, weitere Softwaretester ausleihen zu können. Daher bieten wir Ihnen unsere Mannschaft als zusätzlichen Tester-Pool an.

Sie sehen, dass die Augmenvis GmbH mit ihrem QA4Software-Team Ihnen bei vielen Belangen zur Seite stehen kann.

Sprechen Sie uns an, damit wir mit Ihnen ein individuelles Konzept ausarbeiten können. Eine Mail an contact@augmenvis.de genügt.

Unser Credo – Der Fehler darf nicht bis zum Kunden gelangen!

SoftwareQS als Dienstleistung, damit der Fehler nicht zum Kunden gelangt.

Es ist vielleicht auch mal interesssant zu erfahren, was einen Qualitätssicherer antreibt und welche Beweggründe es gibt, die Produkte aus einem anderen Blickwinkel zu betrachten.

Daher möchte ich auf die Frage eingehen: Wie komme ich zur Qualitätssicherung?

Nach dem Studium war ich auf der Suche nach einer Aufgabe in der Software-Entwicklung, idealerweise im spannenden Feld des Mobilfunks. Dabei habe ich bei Ericsson (dem Netzwerkausrüster) erfahren, wie wichtig die Qualitätssicherung ist.

Wenn man für Software in Vermittlungsstellen, die sich bereits im Feld im Einsatz befindet, Updates bereit stellt, dann stellt man besser sicher, dass die Software keine Fehler enthält – sonst sind plötzlich Millionen Kunden offline.

Stellen Sie sich einfach vor, wie ein einzelner Fehler dafür sorgt, dass eine Großstadt nicht mehr telefonieren kann – und Sie haben die Größenordnung im Blick.

Um sicherzustellen, dass ein Update das Problem löst und nicht weitere Problem erstellt, wurde bei Ericsson auf Team-Arbeit gesetzt. Allein in unserer Gruppe waren 5 (!) Leute in wechselnder Zusammensetzung tätig, die sich gegenseitig kontrolliert haben.

Diese Akribie und Vorsicht waren für mich prägend, als ich beim nächsten Arbeitgeber als Qualitätssicherer einstieg. Wenn man in die Situation kommt, dass man den Kollegen vom Support Rede und Antwort stehen muss, warum sich heute schon x Leute nach einem Update mit exakt demselben Fehler – der im Zweifel einen Produktionsausfall nach sich zieht – gemeldet haben, weiß man, wie wichtig die Qualität des eigenen Produkts ist. Deswegen lautet seitdem lautet mein Credo „Jeder Fehler, der nicht durch mich, sondern durch den Kunden entdeckt wird, ist mir peinlich!“

Wie an anderer Stelle erklärt, hat man als Qualitätssicherer nicht das letzte Wort, ob ein Fehler behoben wird – aber man hat zumindest gute Argumente.

Deswegen vertraue ich auf vollständige Testpläne, auf ein 4-Augen-Prinzip und darauf, dass man reproduzierbare Arbeit abliefert.

Es gibt für jedes Unternehmen die richtige Methodik, um Testpläne zu entwickeln und abzuarbeiten. Die einen leben mit Word-Vorlagen hervorragend, die anderen haben ausgeklügelte Ticketing-Systeme. An mancher Stelle kann man Testautomatisierung betreiben, an anderer Stelle ist die „User experience“ (oder „Popometrie“ – wie es im Kfz-Bereich heißt) wichtig.

Es gibt nicht das ewig selbe Konzept, das auf alle Unternehmen anzuwenden ist. Wir erarbeiten gern das optimale Konzept mit Ihnen.

In meinen Augen ist es wichtig, dass man unabhängige Tester findet, die das Produkt kennen, aber es nicht im Schlaf bedienen können. Und da bieten wir uns gern an.

Softwarefehler in kritischen Umgebungen vermeiden durch Systemtests

Es gibt Situationen, in denen Softwarefehler lebensgefährlich werden können.

Dies zeigte sich in den vergangenen Tagen, als in den USA ein Sicherheitsleck in einem Herzschrittmacher bekannt wurde.

Dieser Vorfall ist jedoch nicht das erste Mal binnen eines guten Jahres, in dem intelligente Implantante in den Focus der Entwickler gerieten. Auf dem 32. Chaos Communication Congress Ende 2015 hatte eine Sicherheitsexpertin, die selbst einen Herzschrittmacher trägt, auf das Problem hingewiesen, wie auch auf der Seite heise.de des Computermagazins c’t zu lesen war.

Dies sind nur zwei Beispiele, in denen deutlich wird, welche Relevanz Softwarefehler heutzutage für das menschliche Leben haben können.

Systemtests nicht vernachlässigen!

Dennoch ist auch bei weniger kritischen Produkten ein umfassender Systemtest nicht zu vernachlässigen. Denn zusätzlich zu der lebensgefährlichen Situation, in die ein Softwarefehler einen Anwender bringen kann, kommen hier häufig die hohen Kosten für ein Update, ja teilweise die Unmöglichkeit, die Software zu aktualisieren.

Insofern ist auch beim Softwaretest Expertenwissen erforderlich. Wenn dieses jedoch nicht im Hause vorhanden ist, da die Software nur einen kleinen Anteil am Gesamtprodukt hat, bietet sich der Kontakt zu externen Dienstleistern an. Wir unterstützen wir Sie gern, z.B. beim Erstellen eines Testplans und bei der Ausführung der Tests. Auch bei der Entwicklung eines kompletten Entwicklungsprozesses stehen wir gern beratend zur Seite.

Sprechen Sie uns an, z.B. per Email über contact@qa4software.de