Bei der Entwicklung einer Software sind Tests zur Quali­täts­si­cherung ein sehr wichtiger Arbeits­ab­schnitt. Hierbei werden verschiedene Sicher­heits­aspekte einer erstellten und weiter­ent­wi­ckelten Software durch unter­schied­liche Sicher­heits­an­for­de­rungen berück­sichtigt. Dabei spielen Tests im Risiko­be­reich, ein mögliches Keyword-Driven Testing oder Data Driven Testing mit verschie­denen Verfahren und Teststufen eine wichtige Rolle. Diese Tests werden stets vor einer endgül­tigen Abnahme und Freigabe zur Nutzung durch­ge­führt. Im Rahmen der Quali­täts­si­cherung wird dabei zwischen analy­ti­schen und konstruk­tiven QS-Maßnahmen unterschieden.

Damit sicher­ge­stellt ist, dass die entwi­ckelte Software den unter­schied­lichen Sicher­heits­aspekten entspricht, bieten sich die verschie­densten Vorge­hens­mo­delle und QS-Maßnahmen an.
Dabei werden beispiels­weise Modelle berück­sichtigt, die sich dem Konzept der Prozess­qua­lität zuordnen lassen. Von daher kann man davon ausgehen, dass ein hochwer­tiger und quali­ta­tiver Prozess im Herstel­lungs­ver­fahren einer Software in Gang gesetzt wird.

Nur wenn ein Software­her­steller hohe Ansprüche an die Qualität des Entwick­lungs­pro­zesses stellt, kann somit letztlich auch gesichert werden, dass diese Software schließlich auch allen quali­ta­tiven Markt­stan­dards entspricht.

Teil der Anfor­de­rungs­analyse ist die Erfüllung der Standards im Bereich der IT-Sicherheit.
Program­mierer müssen dabei etablierte, festge­legte Sicher­heits­stan­dards erfüllen.

Unter­teilen lassen sich die analy­ti­schen Maßnahmen vor allem durch statische Maßnahmen. Es ist möglich, mit diesen QS-Maßnahmen den Code der erstellten Anwendung zu überprüfen. Dabei muss die Anwendung selbst nicht ausge­führt werden. Die Überprüfung erfolgt jeweils nach Art der Maßnahme und zu unter­schied­lichen Zeitpunkten, was zum Beispiel direkt bei der Code Entwicklung durch­ge­führt werden kann. Die Maßnahmen sind aber auch durch­führbar bevor die Benut­zer­tests freige­geben werden.

Zudem zeigen sich die Maßnahmen aber auch durch dynamische Tests, in denen eine erzeugte Anwendung durch verschiedene Konstel­la­tionen, wie auch im Testfall, durch­ge­führt wird und so letztlich die erzeugten Ergeb­nisse überprüft werden können. Die Quali­täts­si­cherung der entwi­ckelten Software befindet sich zu den verschie­denen Zeitpunkten ihrer Entwick­lungs­phase, in vielen unter­schied­lichen Zuständen. Dabei ist es sehr wichtig, dass die Software bei der Nutzung allen wichtigen Kriterien und Sicher­heits­an­for­de­rungen entspricht.

Die Sicher­heits­aspekte dieser Modelle lassen sich übrigens in der Regel auch mitein­ander kombi­nieren und dienen auch der IT-Sicherheit. Auf eine inter­es­sante Weise stellen sich die Modelle der agilen Prozesse dar, wie z.B. beim extreme Programming, und zwar weil, dort die Syner­gie­ef­fekte einen synchron laufenden Einsatz unter­schied­licher Methoden nutzen. Mit diesen Methoden kann die Software im Rahmen einer profes­sio­nellen IT-Sicherheit auf eine optimale Weise entwickelt und geschützt werden.