Hallo und herzlich willkommen mit einer neuen Folge vom Podcast Software Testing. Ich bin dein Host Ritschi und freue mich hier eine weitere Folge von QS-Tag 2023 aus Frankfurt in der Tasche zu haben. Bei mir heute zu Gast Therese Kuhfuchs, mit der ich nicht nur den optimistischen Blick auf die Zukunft teile, sondern auch einen ganzheitlichen Blick auf Qualität. Mit ihr habe ich das Thema Nachhaltigkeit in der Softwareentwicklung und im Testen besprochen und wie man
Nachhaltigkeit im Test umsetzen kann. Von Qualitätskriterien, nicht funktionalen Anforderungen und ressourcenschonender Testautomatisierung. Viel Spaß bei der Folge. Hallo Therese, schön, dass du da bist. Hallo, danke für die Einladung Ritschi. Ja, sehr gerne. Wir sind ja hier am QS-Tag 2023 in Frankfurt. Du hast gestern deinen Vortrag schon gehabt, bist also heute tiefenentspannt. Ja.
Ja und jetzt hier live im Podcast bei mir. Und ja, ich habe ja so die Speakerliste des QS-Tags durchgelesen und da ist mir dein Abstract und dein Titel auch aufgefallen und zwar beschäftigst du dich ja auch mit dem Thema Nachhaltigkeit. Genau. Musstest du nachreden, musstest du überlegen, ob das so ist oder nicht? Nein, doch, ja. Ja, genau. Ja, und erzähl mal, was heißt denn das für dich so im Software-Testbereich gerade, in der Qualität?
In meinem Vortrag hebe ich ja das Thema Nachhaltigkeit als Qualitätskriterium heraus. In der Softwareentwicklung nutzen wir für unsere nicht-funktionalen Anforderungen die Qualitätskriterien, die üblicherweise von der ISO definiert sind. Also sowohl die ISTQB als auch das IREP verweisen immer wunderbar auf die ISO 25010, wobei ich gestern gelernt habe, es gibt auch noch eine ältere Version, auf die man verweisen kann. Aber die ist gerade im Umbau, also sie ist
im Review und es gibt eine neue Version. Und da habe ich mir die mal vorgenommen und angeschaut und geguckt, ob wir denn darin Nachhaltigkeit finden. Weil das Thema einfach aus meiner Sicht sehr, sehr wichtig ist und auch immer mehr an Bedeutung gewinnt. Also ich nehme das sowohl im privaten Bereich wahr, also im Freundeskreis und auch über das Kind, als auch im beruflichen Bereich, über das ESG-Reporting, was ein Riesenthema ist inzwischen,
dass auch in der Regulation und so Nachhaltigkeit immer mehr zum Thema wird. Und deswegen habe ich mich damit mal beschäftigt, ob Nachhaltigkeit als Qualitätskriterium nicht vielleicht fehlt in der ISO 25010. Ja, jetzt hast du natürlich eine spannende Frage aufgemacht. Was war denn dein Ergebnis? Genau, ich habe es analysiert. Ich habe festgestellt, es gibt kein Qualitätskriterium, das Nachhaltigkeit heißt. Es gibt auch kein, das Greenability heißt, also Umweltschutz oder Schutz vor
Umweltverschmutzung. Aber es gibt viele Qualitätskriterien, die Aspekte der Nachhaltigkeit enthalten, zum Beispiel die Leistungseffizienz. Und habe damit festgestellt, dass durchaus Nachhaltigkeit als Qualitätskriterium mehr oder weniger versteckt in den anderen, in der ISO 25010 vorhanden ist. Und da habe ich einfach versucht, das Mapping aufzumachen, zu gucken, welche Qualitätskriterien, die es gibt in der ISO 25010, zahlen denn heute schon auf das Thema
Nachhaltigkeit ein. Und sozusagen die Transparenz zu schaffen, die im Moment die ISO nicht schafft. Und das ist auch an der Stelle ja mein Appell, sozusagen, da die Transparenz noch herzustellen. Fand ich aber sehr spannend. Und ja, welche Qualitätsmerkmale hast du da so entdeckt bei deiner Analyse, die da ja auch mit einzahlen auf Nachhaltigkeit? Also aus meiner Sicht hat Nachhaltigkeit halt mehrere Dimensionen. Das, worüber wir immer
üblicherweise reden, ist die Ökologie. Also die ökologische Dimension, wo es wirklich um Umweltverschmutzung geht oder darum, unsere Umwelt zu schützen. Aber es geht ja noch viel weiter. Es gibt noch viel mehr Dimensionen. Und ich habe die Leistungseffizienz zum Beispiel zahlt klassisch auf den ökologischen Faktor ein, weil es den CO2-Fußabdruck sozusagen verringert, wenn ich weniger Leistung verbrauche. Aber zum Beispiel die Benutzbarkeit, die erhöht
durchaus auch die Nachhaltigkeit eines Produkts, also die Usability. Das ist zum einen der soziale Faktor, dass ich versuche, über Barrierefreiheit, also eine höhere Benutzerakzeptanz, auch mehr Personengruppen ein Produkt oder eine Software zugänglich zu machen. Und zum anderen erhöhe
ich damit natürlich auch den Lebenszyklus eines Produkts. Also je besser es zugänglich ist, je zuverlässiger – Zuverlässigkeit ist auch ein Qualitätskriterium – eine zuverlässige Software ist, desto länger kann die natürlich auch bespielt werden und desto länger wird die potenziell am Markt bestehen und desto länger ist der Lebenszyklus. Und auch das ist eine Art von Nachhaltigkeit. Und ich habe noch eine ganze Menge mehr Kriterien
auf meiner Liste gehabt. Gestern habe ich es mit Folien präsentiert. Das bekannst du hier nicht. Genau, das habe ich hier nicht. Aber auch die Kompatibilität zum Beispiel erhöht sozusagen eine längere Benutzbarkeit und erhöht auch oder reduziert halt auch Abhängigkeiten. Je kompatibler ein Produkt für sich ist, desto weniger andere Produkte habe ich vielleicht außenrum, die ich noch brauche als Adapter oder Schnittstellenprodukte. Und das alles spart irgendwo Ressourcen ein, verschiedenster
Arten. Also die Nachhaltigkeit geht ja darum, tatsächlich Ressourcen möglichst intelligent zu nutzen und nur das, was man wirklich braucht, und am besten so zu schonen, dass es für künftige Generationen im gleichen Maße zur Verfügung steht. Und insofern gibt es ja schon viele Ansatzpunkte auch in der ISO 25010. Das Mapping, das fehlt noch. Ja, also was mir dann auch ganz spontan einfallen würde oder woran ich zuerst gedacht habe,
ist ja auch das Thema der Wartbarkeit. So wie du es bei der Zuverlässigkeit sagst, bei Usability, dass es länger lauffähig ist, ist es ja auch bei der Wartbarkeit so, dass ich dann einfach auch mit besseren oder mit schnellen Ressourcen die Dinge weiterentwickeln kann und dann nicht irgendwann einmal so einen Moloch habe, der dann da so vor sich hin wirkt und vielleicht auch einfach nur viel Strom braucht und gar nicht mehr wirklich weitergepflegt
werden kann. Ja, genau. Ich vergleiche in meinem Vortrag am Anfang Software mit einem Baum, weil ich sage im Endeffekt wächst Software ähnlich wie ein Baum. Es bildet eine Struktur
aus und wird beeinflusst von verschiedenen Dingen. Und natürlich, wenn ich Wartbarkeit als Kriterium ansetze und die Software so sauber designe, dass ich keine Schwierigkeiten habe, hier und da noch ein Ast und ein Blatt dran zu machen, dann kann ich nachher einen sehr schönen Baum kreieren, eine sehr saubere Software schreiben, die ich auch lange noch verwenden kann, weil ich eben in der Lage bin, auch auf neue Anforderungen wieder einzugehen.
Denn da muss man sich ja nichts vormachen. Wir sind in einer sehr schnelllebigen Zeit. Es ändert sich ja immer wieder was. Ich bin oft im regulatorischen Umfeld tätig. Da sind unsere Kunden gezwungen, permanent an ihrer Software Änderungen durchzuführen, weil es eben vom Regulator vorgegeben ist. Und da ist natürlich Wartbarkeit ein Riesenthema, denn sonst fängt man jedes Mal wieder von vorne an. Und das ist eben auch ein Teil der
Nachhaltigkeit. Da gebe ich dir völlig recht. Von Bugs und Bäumen heißt der Vortrag, deswegen der Baum. Genau. Und also die Analyse ist ja das eine. Ich habe ja dann so ein Mapping. Aber wie kriege ich das denn in den Alltag auch mit rein? Die Schwierigkeit, also ich habe Unterschiede in meinem Vortrag zwischen Nachhaltigkeit testen und nachhaltig testen. Wir sind jetzt bei den Qualitätskriterien bei der Frage
Nachhaltigkeit testen. Das heißt, wir gucken ja, ob die Software nachhaltig ist. Jetzt ist es so, wenn wir Nachhaltigkeit testen, können wir die Qualitätskriterien nutzen, um der Nachhaltigkeit eine Gewichtung zu geben und zu sagen, das ist uns wichtig, das wollen
wir an der Stelle machen. Das ist immer auch ein Trade-off. Man muss immer auch schauen, gegenüber Security-Themen oder Safety-Themen, was man in bestimmten Bereichen ja hat, kann es sein, dass die Nachhaltigkeit einfach hinten runterfällt, weil die einfach an der Stelle wichtiger sind. Und das finde ich auch völlig legitim. Mein Ansatzpunkt ist, den Anstoß zu geben, dass man mal drüber nachdenkt, ob man an manchen Stellen vielleicht mehr machen könnte. Jetzt habe ich den Faden verloren.
Wir haben hier ein paar Faden hier, von einem anderen Podcast. Hilf mir mal, wo waren wir denn gerade? Ja, wir haben also nachhaltig testen. Ah ja, genau, richtig. Das ist die Nachhaltigkeit testen, richtig. Und die Nachhaltigkeit testen, also das Qualitätskriterium, das muss ja aber schon am Anfang vom Softwareentwicklungsprozess geschehen. Und wir Tester sind ja immer hinten. Das heißt, man muss im Prinzip dieses Thema
auch an anderen Stellen eingeben. Im Prinzip, wie gesagt, die ISO 25010 ist ja auch keine Test-ISO-Norm, sondern das ist halt eine für die Softwareentwicklung. Im Prinzip müssen sich das die Requirements-Engineer angucken, das müssen sich die Softwareentwickler angucken. Und man muss schon am Anfang definieren, welche Nachhaltigkeitskriterien wollen wir denn in
unserer Software versuchen umzusetzen und wie wichtig sind die uns denn? Und das muss auch ein Stück weit von den Fachabteilungen kommen, von den Business-Einheiten, die ihre Anforderungen stellen. Und dafür muss man einfach ein Awareness schaffen sozusagen. Also das ist Teil meines, oder Ziel meines Vortrags, eigentlich nur so eine Wahrnehmung zu schaffen, dass die Leute mal schauen, was kann man machen oder wem kann ich das vielleicht noch mal
mitgeben im eigenen Unternehmen. Die andere Frage ist die des nachhaltigen Testens. Da geht es dann gar nicht mehr um die Qualitätskriterien, sondern darum zu gucken, wie ich in meinem Test, wenn ich Tester bin, nachhaltiger sein kann. Und da ist es halt so, dass grundsätzlich all das, was überall anders auch im Büro zählt, zählt. Also papierloses Büro, möglichst wenig ausdrucken, den Rechner abends runterfahren. Das sind so diese Kleinigkeiten, die man schon
heute macht oder machen kann und wo auch sicherlich die meisten dabei sind. Darüber hinaus appelliere ich aber auch daran, Testautomation zu überprüfen auf Sinnhaftigkeit. Also wir erleben das ganz viel, Speicher kostet nichts, Arbeitsspeicher kostet nichts, dass einfach alles stumpf wegautomatisiert wird mit hohen Redundanzen, die keinen Mehrwert bieten. Also es macht überhaupt gar keinen Sinn, einen und denselben Testfall an drei Stellen durchzuführen,
nur weil es mir die Automatisierung vorschlägt. Aber es kostet dreimal so viel Rechnerkapazität. Wenn ich jede Nacht das Ding dreimal laufen lasse. Also Testfälle intelligent schneiden und auch bei der Automatisierung vielleicht mal überlegen, ob es nicht auch mit weniger getan ist. Auch hier wieder trade-off. Wenn ich im Safety-Bereich bin, wenn ich Flugzeuge
testen muss, ist das keine Diskussion. Da fange ich nicht an, Testfälle zu streichen, weil ich dann vielleicht ein bisschen CO2 einspare, weil die Menschenleben an der Stelle wichtiger sind. Aber wenn es darum geht, irgendwelche Dokumente zu testen, die an Kunden verschickt werden, dann habe ich am Ende vielleicht einen Prozentfehler drin, aber möglicherweise kann man das in Kauf nehmen dafür, dass man die Hälfte der Testfälle am Ende eingespart hat.
Denn auch hier gilt ja so ein bisschen das 80/20 Prinzip. Mit den ersten Testfällen finde ich ja die meisten Fehler und gegen Ende wird es ja immer weniger. Und wie viel will ich denn wirklich finden? Also Testfälle intelligent schneiden und sich überlegen, ob man wirklich alles braucht. Das ist so etwas, was einen Tester beeinflussen kann. Das wird aber in der Regel nicht die riesengroßen Ersparnisse bringen.
Ich habe mal daheim hingesetzt und habe geguckt, wenn ich jetzt vier übliche PCs jede Nacht laufen lasse, dann verbrauche ich ungefähr so viele Kilowattstunden, mit denen kann ich alternativ mit einem Tesla 4000 Kilometer fahren. Also wenn ich jetzt aufs Jahr gerechnet, wenn ich aufs Jahr vier Rechner einsparen könnte in meiner Automatisierung an, ich glaube, 150 Nächten, dann kann ich am Ende mit dem Tesla damit 4000 Kilometer fahren.
Das ist nicht die Welt. Aber wenn das alle tun und das ist ja so ein bisschen wie wählen gehen. Meine Stimme zählt nicht so viel, aber wenn alle gehen, dann haben wir am Ende ein Wahlergebnis. Und so ist es, glaube ich, hier auch. Die Einsparung des Einzelnen ist nicht riesig, aber wenn sich die Community immer mehr in die Richtung entwickelt, zu gucken, was sie machen kann, dann können wir am Ende eben doch was bewirken. Und ich glaube, das ist wichtig.
Und wichtig ist eben zu gucken, dass jeder so eine Wahrnehmung dafür hat. Mal überlegen. Also ich glaube, dass das Nachhaltigtesten, wenn ich jetzt so in die Projekte schaue, wo ich auch tätig bin, das ist etwas, das kann man gut diskutieren, weil das ist auch so greifbar. Das erste Thema, was eigentlich Nachhaltigkeit als Qualitätskriterium für das ganze Softwareentwickeln ist, das finde ich, ist sehr abstrakt. Wenn ich mir so Projekte anschaue, die ja eh alle immer im Stress sind.
Wir müssen Features machen, wir müssen da noch Bug fixen, dann haben wir vielleicht noch irgendwelche Security-Sachen zu machen. Oh Gott, jetzt müssen wir in zwei Jahren auch alle barrierefreie Webseiten haben und sowas. Und dann kommt auch noch jemand und sagt, jetzt müsst ihr auch noch da Nachhaltigkeit betrachten. Also wenn ich so in die Teams reinschaue, dann denke ich, dass die sagen, komm, bleib weg damit. Was interessiert mich,
ob die Software in zehn Jahren noch läuft? Das ist jetzt vielleicht keine schöne Denke, aber in der Realität, glaube ich, trifft man das sehr häufig. Wie würdest du dagegen argumentieren oder sagen, nee, das müssen wir jetzt betrachten? Ich glaube halt, dass der Aufwand gar nicht so groß ist, weil Sie betrachten ja heute schon Ihre nicht-funktionalen Anforderungen, Ihre Qualitätskriterien. Sie gucken ja schon,
wie hochverfügbar muss meine Anwendung zum Beispiel sein. Verbügbarkeit ist so ein Thema, das wird immer betrachtet. Also zumindest aus den Feldern, die ich kenne. Wenn man immer gucken muss, ist das eine 24/7-Anwendung, die ich quasi nur mal irgendwann in einer halben Stunde zwischendurch fixen kann, wenn ich die Kunden vorgewarnt habe, oder bin ich hier in einer Anwendung, die sowieso nur tagsüber läuft?
Das Verfügbarkeitsthema wird ja immer betrachtet. Und in dem Kontext, wenn ich diese ganzen Themen betrachte zu Beginn, tut es gar nicht weh, zusätzlich die Nachhaltigkeitsthemen zu betrachten, weil, wie gesagt, eigentlich sind es die gleichen. Und wenn das Mapping transparent ist, das soll sich ja auch nicht jeder neu ausdenken. Das würde ja reichen,
wenn man es einmal machen und bereitstellen würde. Ein Stück weit kann man das in meinem Vortrag nachlesen, aber da haben wir ja noch keine Vollständigkeit. Da müssten sich noch mal zwei, drei andere schlaue Köpfe mit dransetzen und dann würde man das sicherlich hinbekommen. Aber wenn man das einfach an der Stelle schon mit einkippt, glaube ich, ist gar nicht der Aufwand so groß, das zu machen. Weil die Kriterien gibt es ja schon. Die sind ja nicht neu.
Ja, verstehe. Du musst jetzt natürlich ein Modell daraus generieren, dann ein Buch schreiben und dann wissen wir das alle. Genau. Also das ist bei anderen... Ha, Buch schreiben, ich weiß ja nicht. Aber was viele auch nicht sehen und was ich sehr wichtig finde an der Stelle ist, dass Nachhaltigkeit ganz oft mit Wirtschaftlichkeit Hand in Hand geht. In der Vergangenheit war es ja immer so, wenn ich grün sein will, wird es teuer.
Das ist aber ja gar nicht so. In dem Moment, wo ich Leistung einspare, spare ich Geld, bares Geld. Und das sollte vielleicht für den einen oder anderen Zweifler an der Stelle zumindest ein Hinweis sein oder eine Idee sein.
Und das ist an allen anderen Stellen auch so. Wenn ich eine Software lange nutze, weil ich sie sehr wartbar gestaltet habe, weil sie eine hohe Kompatibilität aufweist und weil sie eine hohe Portabilität aufweist, dann kann ich natürlich auch viel, viel mehr Geld einsparen, weil ich eben nicht schon in drei Jahren das neue Produkt brauche, sondern weil das einfach jetzt zehn Jahre läuft. Und weil nun mal eine Änderung an der Software nicht so teuer ist,
wie es jedes Mal neu zu bauen. Also in die Richtung geht es halt. Und ich glaube gerade dadurch, dass es Hand in Hand mit Wirtschaftlichkeit geht, was für viele immer noch ein Widerspruch ist in der Wahrnehmung, dass es durchaus interessant sein kann, sich die Themen anzuschauen. Ja, auf jeden Fall denke ich auch, dass es gar nicht mehr so, dass es da auch schon eine Kostenersparnis gibt, bei Energiepreisen und auch Ressourcen einzusparen. Das ist ja immer auch ein Ziel in Unternehmen,
auch irgendwo Kosten zu sparen. Das bleibt ja gar nicht aus. Wenn jetzt hier jemand zuhört, Tester, Testerin, denkt sich, ja genau, wir sollten eigentlich auch Nachhaltigkeit bei uns betrachten. Also wir sollten nachhaltiger testen und Nachhaltigkeit auch mehr erledigen. Was würdest du denn für so zwei, drei Tipps geben, wie man damit quasi von da weg starten kann? Also gar nicht jetzt von Management oben so, wir machen jetzt nachhaltig, sondern wie kann ich denn in meinem Team
beginnen, das Thema zu adressieren? Wie würdest du da loslegen? Ich würde tatsächlich unten anfangen beim Testen nachhaltig und würde zum Beispiel mal schauen, welche Tools verwenden wir denn. Die Tool-Auswahl ist enorm wichtig, weil wir Tools haben, die super viel Speicher verbrauchen und wir haben Tools, die sind schon sehr CO2-arm im Verbrauch. Teilweise kann man es nachgucken, es gibt inzwischen Blauen Engel für Software zum Beispiel, auch als Siegel,
was für nachhaltige Software steht. Und da kann man sich informieren, kann man schauen, kann man vergleichen und das geht ja schon ganz unten, das geht ja schon auf Tester-Ebene, dann kann man schon gucken, ist die Automatisierung so, wie wir sie bauen, braucht die viel Speicher, hat die eine hohe Rechenlast? Man kann auch da sich überlegen, wenn man sowieso die Automatisierung auf einem Extra-Rechner laufen hat, machen wir es dann nachts. Warum eigentlich nachts?
Klar, wenn es der gleiche Rechner ist wie der, an dem der Tester tagsübersitzt, dann geht es nicht anders, er kann dann nur laufen, wenn er nicht da ist. Aber auch dann kann man sich überlegen, vielleicht Wochenende. Warum? Weil tagsüber die Sonne scheint. Und wenn die Sonne scheint,
haben wir im Netz super viel Sonnenenergie. Und wenn Sonnenenergie da ist, die wir nach Frankreich verkaufen müssen oder wir müssen unsere Windräder ausstellen, weil wir sonst eine Netzüberlastung haben, dann wäre es ja voll schlau, an dem Moment den Strom zu nutzen und nicht nachts, wenn wir dann wieder Atomstrom zurückkaufen müssen, weil gerade die Windräder stehen und die Sonne nicht scheint.
Und das sind so Kleinigkeiten. Natürlich wirkt sich das erst mal auch nicht so stark aus, aber es schafft auch im Unternehmen wieder so eine Wahrnehmung für das Thema. Und dann kann man es von unten nach oben versuchen durchzugehen. Und wenn es dann mal wieder an eine neue Softwareentwicklung geht, wenn es darum geht, Dinge zu verändern, dann kann man ja fragen. Wollen wir nicht gucken, ob wir hier Nachhaltigkeit reinbringen?
Können wir nicht mal gucken, ob wir es in einer anderen Programmiersprache bauen? Das ist ja ganz neu, grüne Wiese. Warum soll man nicht eine Programmiersprache nehmen, die weniger Rechenpower braucht? Und ich glaube, so kann man das Schritt für Schritt machen. Und ich bin gar kein Freund davon, hier mit der Brechstange zu kommen und zu sagen, alles anders, jetzt machen wir Nachhaltigkeit. Letzte Woche war KI und die Woche davor war Agilität.
Damit nimmt man die Leute ja auch nicht mit. Und es funktioniert auch, wie wir wissen, ganz schlecht. Agilität hat Jahre gebraucht und bis heute ist es in den meisten Unternehmen nur so halb angekommen. Bei Nachhaltigkeit wäre es mir, fände ich es schön, wenn es nachhaltiger wäre. Und deswegen bin ich dafür, da den sanften Weg zu gehen. Ich glaube auch tatsächlich, wir haben die Zeit, das zu tun. Also ich bin, ich verstehe die Ängste derer, die sich irgendwo festkleben, total.
Aber ich glaube, so schnell geht die Welt nicht unter. Ich bin da grenzenloser Optimist und glaube, wenn wir alle zusammen daran arbeiten, wenn wir das schaffen, das ist eine schaffbare Aufgabe. Das ist doch ein schöner Abschlusssatz dafür. Super. Vielen Dank, liebe Therese, dass du hier so Rede, Antwort stehst zu dem Thema Nachhaltigkeit und auch so brennst für das Thema. Das finde ich auch ganz wichtig, das auch immer wieder rauszutragen.
Wir haben schon einige Folgen auch dazu gehabt, zu dem Thema. Und das ist jetzt nochmal ein bisschen ein anderer Blick drauf mit ein paar Tipps hier auch für die Hörer und Hörerinnen. Das finde ich ganz toll. Danke schön. Vielen Dank und ich wünsche dir noch ganz viel Spaß am QS-Tag. Super, danke dir. [Musik]