Olika säkerhetstesttyper är lämpade för olika faser av utvecklingslivscykeln och olika riskkategorier. Statisk analys körs bäst vid commit-tid eftersom det bara kräver källkod. Dynamisk analys kräver en körande applikation och är mest användbar i staging-miljöer. Varje testtyp hittar olika problem och har olika falsk-positiv-frekvenser.
Förhållandet mellan säkerhetstestning och säkerhetsövervakning förväxlas ofta. Säkerhetstestning letar efter sårbarheter i programvaran innan den når användare, det är en leveranskontroll. Säkerhetsövervakning detekterar attacker mot programvaran efter att den driftsatts, det är en operativ kontroll. Båda är nödvändiga.
Proportionalitet spelar roll. Inte varje ändring kräver varje säkerhetstest, och att lägga till dyra långsamma tester till varje commit skapar snabbt en pipeline som utvecklare lär sig att ignorera. Det rätta tillvägagångssättet är att matcha testintensiteten mot ändringsrisken.
Säkerhetstestresultat är bara användbara om någon agerar på dem. En sårbarhet som detekteras, triageras, spåras och lämnas oadresserad i sex månader är i praktiken densamma som en sårbarhet som aldrig hittades.