fbpx
Logo Qcademy

Spezifikationen: ein Leitfaden für Softwaretester

Ich weiß nicht genau, wann ich zum ersten Mal das Wort „Spezifikation” im Zusammenhang mit Softwareentwicklung gehört habe. Vermutlich war es schon ziemlich zu Beginn meiner Ausbildung als Softwaretester, aber ich erinnere mich nicht mehr an den Kontext. Dafür weiß ich noch, wie sehr mich das Wort beeindruckt hat.

„Spezifikation” – das klang souverän, und bei einem so komplexen Gebiet wie der Softwareentwicklung war ich sicher, dass es auch eine äußerst komplexe Bedeutung haben musste. Ich stellte mir ein kryptisches Dokument vor, für das man erst einmal drei Jahre Fachchinesisch lernen musste, um es zu verstehen. Lag ich mit dieser Vorstellung richtig? Nicht wirklich, aber ich lag auch nicht komplett falsch.

 

Werde jetzt in 6-12 Monaten Software-Tester!

Du interessierst Dich für den Quereinstieg in die IT? Dann bist Du auf Qcademy genau richtig! Als Quereinsteiger im Software Testing schaffst Du den Einstieg zusammen mit uns. Wir haben mehr als 25 Jahre Erfahrung in der IT in leitenden Rollen und haben schon eine große Anzahl an Personen den Quereinstieg in das Software Testing ermöglicht.

Was bedeuten Spezifikationen fürs Softwaretesten?

 

Was also sind Spezifikationen? Vereinfacht gesagt, handelt es sich hierbei um die Anforderungen an eine Software. Die Spezifikationen teilen uns als Tester mit, was das Programm können soll. Dadurch wissen wir wiederum, was wir testen müssen. Sie helfen uns, mehr über das Programm zu lernen, können uns zu Testideen inspirieren und uns eventuell bereits auf Probleme aufmerksam machen, noch bevor diese tatsächlich in der Software auftreten. Vor allem aber helfen uns Spezifikationen dabei zu beurteilen, ob das beobachtete Verhalten eines Programms gewollt ist oder ob es sich dabei um eine Fehlerwirkung handelt.

 

Das Verzwickte an Spezifikationen ist, dass sie nicht in Stein gemeißelt sind. Mit der fortschreitenden Entwicklung des Programms können sich auch die Anforderungen ändern: Vielleicht hat sich die Lage auf dem Markt verändert oder irgendjemand hatte einfach eine gute Idee. Auf jeden Fall kann es vorkommen, dass das Programm plötzlich etwas können soll, was ursprünglich nicht vorgesehen war. Wir als Tester müssen daher sichergehen, stets die aktuelle Version der Spezifikationen zur Hand zu haben, sonst entsteht Verwirrung.

 

Eine Spezifikation deckt selten das gesamte Produkt ab, sondern meist nur Teile. Die können wiederum auch in mehr als nur einer Spezifikation erwähnt werden und manche Teile tauchen sogar in gar keiner Spezifikation auf. Es ist also ein gewisser Rechercheaufwand vonnöten, um einen Gesamtüberblick über alle Anforderungen zu erhalten, die an die Software gestellt werden. Haben wir das aber geschafft, haben wir tatsächlich einen Leitfaden zur Hand, was wir beim Programm testen müssen. Wie wir das anstellen, ist uns wiederum freigestellt.

Spezifikationen sind facettenreich

Spezifikationen können in verschiedenen Formen daherkommen, z. B. als Protokoll für das Entwicklerteam oder als Vertrag mit dem Kunden. Es gibt auch sogenannte implizite Spezifikationen. Diese sind eher inoffizieller Natur, beschreiben aber ebenfalls Erwartungen, die an die Software gestellt werden. Vielleicht wurden sie von den Entwicklern in anderen Dokumenten als den Spezifikationen erwähnt oder es handelt sich um Aspekte, die für derartige Programme einfach üblich sind.

 

 

 

 

Wer würde zum Beispiel eine Social-Media-App nutzen wollen, in der keine Bilder geteilt werden können? Oder eine Shopping-Webseite ohne Warenkorb, in dem man seine Waren sammeln kann, ehe man sie in einer großen Gesamtbestellung kauft? Oder ein Fantasy-Rollenspiel ohne Magie und Fabelwesen? Wir alle hegen gewisse Erwartungen an eine bestimmte Art von Programm und wären sicher sehr enttäuscht, wenn diese nicht erfüllt werden.

 

Allerdings ist „weil es eben dazu gehört” ein ziemlich schwaches Argument, um die Stakeholder von der Notwendigkeit einer bestimmten Softwarefunktion zu überzeugen. Daher sollten auch implizite Spezifikationen möglichst durch seriöse Quellen belegt werden: Wenn sich ein einzelner Nutzer beschwert, dass ein bestimmtes Feature nicht vorhanden ist, wird das die Stakeholder eher wenig interessieren. Wenn besagtes Feature aber im Vorfeld lauthals von der Marketingabteilung angekündigt wurde oder im Benutzerhandbuch der Software erwähnt wird, sieht das schon anders aus. In diesem Fall wäre es nicht nur sehr blamabel, wenn das versprochene Feature fehlen würde, es könnte auch ernste Konsequenzen nach sich ziehen. 

 

Abweichungen von den Spezifikationen

 

Was sind das für Konsequenzen? Das hängt letztendlich davon ab, wie stark das Ergebnis von der Spezifikation abweicht und um was für eine Spezifikation es sich dabei überhaupt handelt. Wird dem Kunden zum Beispiel nicht das Produkt geliefert, das ihm laut Vertrag versprochen wurde, kann dies juristische und finanzielle Folgen für die Entwickler haben. Gleiches gilt, wenn es sich bei den Spezifikationen um gesetzliche Vorgaben handelt.

 

Macht wiederum das Marketing den Nutzern bestimmte Versprechungen, die das tatsächliche Produkt nicht einhält, wird zumindest das Vertrauen in das Produkt stark erschüttert. Dies kann sich negativ auf den Verkauf auswirken und unter Umständen ebenfalls juristische Konsequenzen nach sich ziehen.

 

Auch für uns als Softwaretester können Unstimmigkeiten mit der Spezifikation zu Problemen führen. Behauptet beispielsweise die Spezifikation, das Programm sei mit einem anderen kompatibel, was aber in Wahrheit nicht der Fall ist, wird unser Kompatibilitätstest vermutlich fehlschlagen.

 

Fazit

Spezifikationen mögen nicht die Ehrfurcht gebietenden Textungeheuer sein, als die ich sie mir zu Beginn meiner Ausbildung ausgemalt habe. Tatsächlich entpuppten sie sich sogar als sehr nützlich, als ich meine Tests erstmals anhand von Spezifikationen plante und durchführte. In jedem Fall sind sie komplex und bringen ihre ganz eigenen Herausforderungen und Fallstricke mit sich. Sie sind mal mehr oder weniger flexibel, mal mehr oder weniger verbindlich, mal mehr oder weniger ausführlich. Sie zu durchschauen, kann zweifellos frustrierend und zeitraubend sein. Doch am Ende erhalten wir eine wertvolle Übersicht, was von der zu testenden Software erwartet wird und was nicht.

Wer schreibt hier?

Auf Social-Media teilen

Software Testing Akademie

Das könnte Dich auch interessieren

Ähnliche Artikel aus unserem Qcademy Blog, die auch für Dich interessant sein könnten. Schau jetzt rein!

Jetzt auf einen Platz in unserer Qcademy bewerben und innerhalb von 6-12 Monaten Software-Tester werden

Als Quereinsteiger im Software Testing schaffst Du den Einstieg zusammen mit uns. Wir von Qcademy begleiten Dich berufsbegleitend bis Du einen Job als Software-Tester erhalten hast und das mit Job-Garantie!

15.000 Software-Tester

werden aktuell gesucht

In 6 bis 12 Monaten

zum Software-Tester

Keine Programmierkenntnisse

nötig

Kleine Lerngruppen

bis zu 15 Teilnehmer