Hände tippen Text auf ein Smartphone.

Trends und Technologien / Arbeit und Leben

Softwaretest: Im Chat mit ChatGPT

17. April 2023 / Jannik Prestel

Neue Software auf das Genaueste zu prüfen, das liegt einem Tester wie mir natürlich am Herzen. Deshalb habe ich mir ChatGPT vorgeknöpft und die künstliche Intelligenz (KI) für mich arbeiten lassen: Welche Auskunft gibt ChatGPT darüber, was das Internet über mein Arbeitsfeld weiß? Wie schätzt es die Bedeutung von Qualitätssicherung in Softwareentwicklungsprojekten ein? Und wie gut ist die Qualität der getroffenen Aussagen?

Mit ChatGPT habe ich einen Chat über Softwaretest gestartet - und war erstaunt, wie gut die Antworten sind. Lest selbst:

Ist es sinnvoll, wenn in der Softwareentwicklung ein Experte für die Qualitätssicherung in den Projekten mitarbeitet?

ChatGPT: Ja, es ist äußerst sinn­voll, einen Exper­ten für Quali­täts­si­che­rung in der Soft­wa­re­ent­wick­lung einzu­set­zen. Ein solcher Experte kann dazu beitra­gen, dass die Soft­wa­re­pro­dukte quali­ta­tiv hoch­wer­tig sind, indem er oder sie Prozesse und Verfah­ren einführt, um sicher­zu­stel­len, dass die Soft­ware auf Funk­ti­o­na­li­tät, Sicher­heit, Benut­zer­freund­lich­keit und andere Quali­täts­merk­male getes­tet und vali­diert wird.

Zusätz­lich kann ein Quali­täts­si­che­rungs­ex­perte auch dazu beitra­gen, dass die Soft­wa­re­pro­jekte inner­halb des vorge­se­he­nen Zeit- und Budge­t­rah­mens abge­schlos­sen werden, indem er oder sie sicher­stellt, dass die Entwick­lungs­pro­zesse opti­miert werden, um Fehler früh­zei­tig zu erken­nen und zu behe­ben. Auf diese Weise können Verzö­ge­run­gen und Mehr­kos­ten vermie­den werden.

Ein weite­rer Vorteil der Zusam­me­n­a­r­beit mit einem Quali­täts­si­che­rungs­ex­per­ten besteht darin, dass dieser oder diese in der Lage ist, objek­tive Bewer­tun­gen der Soft­wa­re­qua­li­tät vorzu­neh­men, ohne von den Anfor­de­run­gen des Kunden oder den Vorlie­ben der Entwick­ler beein­flusst zu werden. Dies kann dazu beitra­gen, dass die Soft­wa­re­pro­dukte den Bedürf­nis­sen der Benut­zer entspre­chen und eine hohe Kunden­zu­frie­den­heit errei­chen.

Insge­samt kann die Zusam­me­n­a­r­beit mit einem Quali­täts­si­che­rungs­ex­per­ten dazu beitra­gen, dass Soft­wa­re­pro­jekte effek­ti­ver und effi­zi­en­ter durch­ge­führt werden und dass die Quali­tät der Soft­wa­re­pro­dukte verbes­sert wird.

Kann der Kunde oder der Entwickler nicht testen? Warum braucht es dafür eine eigene Rolle?

ChatGPT: Sowohl der Kunde als auch der Entwick­ler können Tests durch­füh­ren, um sicher­zu­stel­len, dass die Soft­ware ihren Anfor­de­run­gen und Erwar­tun­gen entspricht. Aller­dings gibt es mehrere Gründe, warum es sinn­voll ist, eine eigene Rolle für die Quali­täts­si­che­rung in der Soft­wa­re­ent­wick­lung zu haben:

Unab­hän­gige Bewer­tung: Ein unab­hän­gi­ger Quali­täts­si­che­rungs­ex­perte kann eine objek­tive Bewer­tung der Soft­wa­re­qua­li­tät durch­füh­ren, die nicht durch die Vorur­teile oder Erfah­run­gen des Entwick­lers oder des Kunden beein­flusst wird. Dadurch können Fehler, Lücken oder Verbes­se­rungs­po­ten­zi­ale aufge­deckt werden, die mögli­cher­weise über­se­hen oder von ande­ren Betei­lig­ten nicht erkannt wurden.

Spezi­a­li­sie­rung: Quali­täts­si­che­rungs­ex­per­ten haben spezi­elle Kennt­nisse und Fähig­kei­ten in Bezug auf Test- und Vali­die­rungs­pro­zesse sowie Test­au­to­ma­ti­sie­rung, die den Kunden oder Entwick­lern mögli­cher­weise fehlen. Durch die Zusam­me­n­a­r­beit mit einem Quali­täts­si­che­rungs­ex­per­ten können Kunden und Entwick­ler sicher­stel­len, dass die Tests gründ­lich und effek­tiv durch­ge­führt werden.

Zeit- und Ressour­cen­ma­na­ge­ment: Ein Quali­täts­si­che­rungs­ex­perte kann Tests auto­ma­ti­sie­ren und opti­mie­ren, um Zeit und Ressour­cen zu sparen, während er oder sie gleich­zei­tig sicher­stellt, dass die Soft­wa­re­qua­li­tät auf hohem Niveau ist. Dies kann dazu beitra­gen, dass das Projekt­bud­get und der Zeit­rah­men einge­hal­ten werden.

Fach­über­grei­fende Zusam­me­n­a­r­beit: Ein Quali­täts­si­che­rungs­ex­perte kann als Binde­glied zwischen den verschie­de­nen Fach­be­rei­chen, wie Entwick­lern, Projekt­ma­na­gern und Kunden, dienen. Dadurch kann die Kommu­ni­ka­tion und Zusam­me­n­a­r­beit verbes­sert werden, um die Soft­wa­re­qua­li­tät zu verbes­sern und die Zufrie­den­heit des Kunden zu erhö­hen.

Insge­samt kann die Einbin­dung eines Quali­täts­si­che­rungs­ex­per­ten in den Soft­wa­re­ent­wick­lungs­pro­zess dazu beitra­gen, dass die Soft­wa­re­pro­dukte auf höchs­tem Quali­täts­ni­veau sind und den Anfor­de­run­gen des Kunden entspre­chen.

Wenn es keine Fehler in einer Anwendung gibt, dann brauche ich auch keinen Softwaretester oder?

ChatGPT: Selbst wenn eine Anwen­dung fehler­frei zu sein scheint, ist es immer noch sinn­voll, einen Soft­wa­re­tes­ter oder eine Quali­täts­i­che­rungs­per­son einzu­set­zen. Hier sind einige Gründe, warum dies der Fall ist:

Mensch­li­che Fehler: Auch wenn die Anwen­dung keine offen­sicht­li­chen Fehler aufweist, kann es immer noch zu Fehlern kommen, die durch mensch­li­ches Versa­gen, unvor­her­ge­se­hene Nutzer­ver­hal­tens­wei­sen oder andere Fakto­ren verur­sacht werden. Ein Tester kann Tests durch­füh­ren, um sicher­zu­stel­len, dass die Anwen­dung in verschie­de­nen Szena­rien funk­tio­niert und auch uner­war­te­ten Bedin­gun­gen stand­hält.

Benut­ze­rer­fah­rung: Eine Anwen­dung kann tech­nisch fehler­frei sein, aber dennoch eine schlechte Benut­ze­rer­fah­rung bieten. Ein Tester kann sicher­stel­len, dass die Anwen­dung intu­i­tiv und benut­zer­freund­lich ist, indem er verschie­dene Tests durch­führt, um sicher­zu­stel­len, dass die Anwen­dung leicht zu verste­hen und zu bedie­nen ist.

Compli­ance und Sicher­heit: In eini­gen Bran­chen wie Finan­zen, Gesund­heits­we­sen und Regie­rung gibt es spezi­elle Anfor­de­run­gen an Compli­ance und Sicher­heit, die einge­hal­ten werden müssen. Ein Tester kann sicher­stel­len, dass die Anwen­dung diesen Anfor­de­run­gen entspricht und in der Lage ist, sensi­ble Daten und Trans­ak­ti­o­nen sicher zu vera­r­bei­ten.

Verbes­se­run­gen und Inno­va­ti­o­nen: Ein Tester kann auch dazu beitra­gen, Verbes­se­run­gen und Inno­va­ti­o­nen in der Anwen­dung zu iden­ti­fi­zie­ren, indem er Feed­back und Vorschläge zur Verbes­se­rung der Anwen­dung sammelt. Ein Tester kann dazu beitra­gen, dass die Anwen­dung auf dem neues­ten Stand der Tech­nik bleibt und den Anfor­de­run­gen der Benut­zer entspricht.

Insge­samt kann die Einbin­dung eines Soft­wa­re­tes­ters oder einer Quali­täts­i­che­rungs­per­son dazu beitra­gen, dass die Anwen­dung fehler­frei, benut­zer­freund­lich, sicher und compli­ant ist und den Anfor­de­run­gen der Benut­zer entspricht.

Werden Softwaretester in der Softwareentwicklung auch in Zukunft noch gebraucht, wenn es KI gibt?

ChatGPT: Ja, Soft­wa­re­tes­ter werden auch in Zukunft gebraucht, selbst wenn es KI-Systeme gibt. KI-Systeme können zwar bei bestimm­ten Aufga­ben, wie z. B. der Erken­nung von Fehlern in großen Daten­men­gen, hilf­reich sein, aber sie können den mensch­li­chen Tester nicht voll­stän­dig erset­zen.

Es gibt verschie­dene Gründe dafür:

  1. KI-Systeme sind nur so gut wie die Daten, auf denen sie trai­niert werden. Wenn diese Daten fehler­haft sind, können KI-Systeme eben­falls fehler­haft arbei­ten. Ein mensch­li­cher Tester kann jedoch poten­zi­elle Probleme erken­nen, die auf unvor­her­seh­bare Umstände zurück­zu­füh­ren sind, und diese in seinen Test­pro­zess einbe­zie­hen.
  2. Es gibt bestimmte Tests, die nur von mensch­li­chen Testern durch­ge­führt werden können, wie z.B. die Über­prü­fung der Benut­zer­freund­lich­keit, der Barrie­re­frei­heit und der Ästhe­tik einer Anwen­dung.
  3. Es ist wich­tig, dass die Soft­ware nicht nur funk­ti­o­nal, sondern auch sicher und zuver­läs­sig ist. Ein mensch­li­cher Tester kann beur­tei­len, wie sicher eine Anwen­dung ist und welche mögli­chen Schwach­stel­len vorhan­den sind.
  4. Schließ­lich sind Tester oft auch dafür verant­wort­lich, die Quali­täts­si­che­rungs­pro­zesse und -stan­dards inner­halb des Unter­neh­mens oder der Orga­ni­sa­tion aufrecht­zu­er­hal­ten und zu verbes­sern. Dies erfor­dert oft mensch­li­ches Urteils­ver­mö­gen und Erfah­rung.

Insge­samt wird KI die Arbeit von Soft­wa­re­tes­tern in gewis­ser Weise unter­stüt­zen, aber sie wird die Tester nicht voll­stän­dig erset­zen. Viel­mehr werden KI-Systeme und mensch­li­che Tester in Zukunft wahr­schein­lich eng zusam­me­n­a­r­bei­ten, um quali­ta­tiv hoch­wer­tige Soft­ware zu entwi­ckeln.

Mein Fazit:

Was ChatGPT auf meine Fragen antwortet, finde ich richtig gut. Es beschreibt in Kurzform mit Argumenten, warum die Rolle der Qualitätssicherung wichtig ist und was deren Aufgaben sind. Außerdem erklärt sie, warum der menschliche Tester oder die Testerin nicht ersetzt werden kann – auch nicht durch eine besonders gut trainierte KI.

Foto von Jannik Prestel

Unser Experte

Jannik Prestel

Jannik Pres­tel behält in Projek­ten als Ansprech­part­ner für die Product Owner den Über­blick. Seine Grund­über­zeu­gung: Quali­täts­si­che­rung ist nicht die Aufgabe einer einzi­gen Rolle, sondern jeder im Team kann dazu beitra­gen, die Quali­tät hoch­zu­hal­ten. Während seines Elek­tro­tech­nik-Studi­ums an der Hoch­schule Bremen hat Jannik Pres­tel als Werk­stu­dent im Bereich Soft­wa­re­test bei neusta soft­ware deve­lop­ment gear­bei­tet. Bei der HEC arbei­tet er seit Ende 2014 in der Quali­täts­si­che­rung.