In der Software Quality Assurance werden bei der dynami­schen Quali­täts­si­cherung (Software­testen) verschiedene Methoden angewandt, um die Qualität von Produkten und Prozessen abzusi­chern. Anhand einer Dokumen­tation werden die Bestre­bungen Ihrer Qualität testfähig gemacht. Weiterhin werden Inter­ven­tionen angewandt, die ebenfalls zum Ziel dieser Bestre­bungen führen. Zusam­men­ge­fasst lässt sich so Ihre Qualität sowohl planen, als auch absichern. Beispiels­weise wird ein Software­modul mit zu prüfenden Daten einge­setzt, um Ihre Software z.B. auf Bugs, Errors, oder Faults zu testen. Genauer gesagt, werden Ihre Programm­codes, oder Proto­typen anhand von Testdaten geprüft. Als Ergebnis erhalten Sie eine Liste der zu verzeich­nenden Fehler. Diese sind: unzuver­läs­siger Speicher­stand, Anzeigen von nicht korrekten, bzw. nicht vorher­ge­sehen Fehlern, Nicht­ter­mi­nierung, unpas­sende Belastung des Speichers, oder Abstürze. Gegen Ende wird das gewünschte Ergebnis mit dem zu Grunde gelegten, tatsäch­lichen Ergebnis abgeglichen. Ein Fehler besteht, sobald die Abwei­chung zum Wunsch­er­gebnis festge­stellt werden konnte oder dieses ganz fehlt. Eine wesent­liche Abwei­chung ist die Beziehung zum Kunden, die im Prozess mit einge­bracht werden kann.
Weiterhin sollten Sie jedoch beachten, dass diese Software­tests die Qualität und Sicherheit Ihrer Software keineswegs darstellen können.

Statische Testungen:
Ihre nicht funktio­nie­renden Dokumente werden durch sogenannte Reviews und Inspek­tionen ausge­testet. Bei den Inspek­tionen wird das zu prüfende Objekt, z.B. ein Softwarecode, oder Daten­modell durch ein Team begut­achtet. Fehler können somit durch koope­riertes Lesen des Prüfob­jekts, darge­stellt mit Check­listen, aufge­deckt werden. Hier werden die Fehler eines Programms, aller­dings nicht seine Fehler­haf­tigkeit aufgezeigt.
Ein großer Pluspunkt dieses Verfahrens ist, dass Fehler­quellen nicht erst durch den Kunden oder das Testen auffallen, sondern sofort bemerkbar werden.
Zudem können Sie dank der stati­schen Quality Assurance vorab in den Anfangs­phasen Ihrer Software­ent­wicklung die Zwischen­pro­dukte gezielt testen lassen. Bei diesem produkt­ori­en­tierten Quali­täts­ma­nagement besteht jedoch der Nachteil, dass das Zwischen­produkt bereits erstellt wurde und die aufge­tauchten Fehler nun behoben werden müssen.
Im Gegensatz dazu steht das prozess­ori­en­tierte Qualitätsmanagement.
Ihre Software­er­stellung wird dabei so gestaltet, dass die Wahrschein­lichkeit von möglichen Fehlern auf ein Minimum reduziert wird.
Reali­sierbar ist dies durch Inter­ven­tionen, durch die wichtige Aufgaben Ihrer Software­ent­wicklung steuerbar, kontrol­lierbar und planbar sind.
Als Resultat erhalten Sie geringere Entwick­lungs­un­kosten, bessere Qualität Ihres Produkts und letzt­endlich eine kürzere Entwicklungszeit.
Insgesamt bessert sich so die Leistungs­fä­higkeit Ihrer Software­ent­wicklung deutlich.

Konstruktive Quali­täts­si­cherung (dynami­sches Quali­täts­ma­nagement): Hier erhöhen sich Produk­ti­vität und vor allem Qualität durch das struk­tu­rierte Vorgehen. Dafür werden die bereits erwähnten organi­sa­to­ri­schen und techni­schen Maßnahmen durchgeführt.

Analy­tische Quali­täts­si­cherung (statisch): Anhand von Inspek­tionen, Bestim­mungen von Merkmalen, Beweis­werk­zeugen (selten mathe­ma­ti­scher Beleg) und Tests durch eine selek­tierte Anzahl von Eingaben.

Quality Assurance beinhaltet weniger analy­ti­schen Aufwand dank strate­gisch konstruk­tiver Planung.