Tests axés sur les exigences

Model | Vérification | Tests axés sur les exigences

L’objectif de la pratique de Tests axés sur les Exigences (RT) est de s’assurer que les contrôles de sécurité implémentés fonctionnent comme prévu et répondent aux exigences de sécurité élicités dans le projet. Un ensemble de cas de test de sécurité et de régression est progressivement construit et régulièrement exécuté.

Un aspect clé de cette pratique est l’attention portée aux tests positifs et négatifs. Le premier vérifie que les contrôles de sécurité de l’application répondent aux exigences de sécurité élicitées et valident leur bon fonctionnement. Ces exigences sont typiquement fontionnelles par nature. Les tests négatifs traitent de la qualité de l’implémentation des contrôles de sécurité et ont pour but de détecter les défauts inattendus de conception et les bogues d’implémentation par des tests d’utilisation abusive et erronées. Dans ses formes les plus élaborées, la pratique favorise les tests de stress de sécurité, tels que les dénis de service, et s’efforce d’améliorer continuellement la sécurité des applications en automatisant constamment les tests unitaires de sécurité et en créant des tests de régression de sécurité pour tous les bogues identifiés et corrigés.

Bien que les deux pratiques de Tests axées sur les Exigences et les Tests de Sécurité concernent les tests de sécurité, la première se concentre sur la vérification de la bonne implémentation des exigences de sécurité, alors que cette dernière vise à découvrir les faiblesses de mise en œuvre technique dans une application, indépendamment des exigences.

Maturity levelStream A
Vérification des contrôles
Stream B
Tests de Mauvaise Utilisation / d'Abus
1Profiter des opportunités pour trouver des vulnérabilités simples et autres problèmes de sécurité.Tester les contrôles de sécurité logicielsEffectuer des tests de fuzzing de sécurité
2Effectuer une revue de l'implémentation pour découvrir les risques propres à l'application par rapport aux exigences de sécurité.Dériver les cas de tests à partir des exigences de sécurité connuesCréer et tester les cas d'abus et les défauts de la logique métier
3Maintenir le niveau de sécurité de l'application après des corrections de bogues, des modifications ou pendant la maintenance.Effectuer des tests de régression (avec des tests unitaires de sécurité)Tests des dénis de service et de la sécurité aux limites