Vous êtes sur la page 1sur 4

Université Cheikh Anta Diop

Département Génie Informatique

Module : Management de la Sécurité des Systèmes d’Information (ManSSI)

Classe : Master 2 SRT & GLSI

Présenté par : Professeur : Dr Doudou FALL


Fatou DIAGNE
Aminta DIONGUE
Raky GUEYE
Mouhamed Bah SIDI

2022-2023
Projet de programmation sécurisée

Partie 3 & Partie 4 : Sprints

1/Les Sprints
Les Sprints ALPHA & BETA vont durer trois semaines environ :
Sprints Fonctionnalités liées Date d’exécution Descriptions
de sprints
ALPHA Récupérer les données, Utilisation des
manipuler les requêtes SQL, 29 Décembre fonctionnalités pour lutter
2022 contre les failles XSS et
les injections SQL,
Crypter les données
sensibles
BETA S’inscrire, Toutes fonctionnalités
Se connecter, Du 28 Déc. au 15 liées à l'authentification et
Effectuer vote, Jan.2023 l'autorisation.
Gestion candidats,
Gestion électeurs,

2/Les tests
• Test des unités
Le test unitaire est un élément essentiel à tout code source pour s’assurer que l’application
fonctionne comme prévu dans le cahier des charges malgré des évolutions éventuelles du code
source. De plus, les bonnes pratiques de développement logiciel telles que le Test Driven
Development (TDD) et le DevOps s’appuient énormément sur les tests unitaires.
Le test unitaire permet ainsi entre autres :

o D’identifier rapidement des erreurs :


Plusieurs méthodes (avec entre autres la méthode eXtreme Programming) préconisent
d’écrire les tests en même temps voire avant la fonction à tester pour faciliter le débogage

o De faciliter la maintenance :
Après la modification d’un code, les tests permettent de rapidement identifier les éventuelles
régressions (tests échoués)

o De compléter la documentation du code :


Les tests permettent souvent de mieux mettre en évidence l’utilisation d’une fonction. Ils
permettent ainsi de compléter la documentation des fonctionnalités.

• Test d’intégration des unités

Un test d'intégration est un test qui se déroule dans une phase d'un projet informatique suivant
les tests unitaires. Il consiste, une fois que les développeurs ont chacun validé leurs
développements ou leurs correctifs, à regrouper leurs modifications ensemble dans le cadre
d'une livraison.

Il s'agit d'établir une nouvelle version, basée soit sur une version de maintenance, soit sur une
version de développement. L'intégration fait appel en général à un système de contrôle de
versions, et éventuellement à des programmes d'installation.

L'intégration a pour but de valider le fait que toutes les parties développées indépendamment
fonctionnent bien ensemble.

Pour les applications utilisant les nouvelles technologies et donc des ateliers de génie
logiciel (Eclipse - Visual Studio - JBuilder - JDeveloper ...), les tests d’intégration ont évolué
vers de l’intégration continue.

L’intégration continue est la fusion des tests unitaires et des tests d’intégration car
le programmeur détient toute l’application sur son poste et peut donc faire de
l’intégration tout au long de son développement.

• Test des fonctionnalités


Le test des fonctionnalités est effectué lorsqu'une nouvelle fonctionnalité est ajoutée au
logiciel ou que toute modification de la fonctionnalité existante est effectuée. Les
fonctionnalités ajoutées ou modifiées sont conçues de manière à être utile, intéressante et
efficace.
Le test de la fonctionnalité développée ou modifiée est très important car tout problème
rencontré dans la fonctionnalité existante en raison des nouvelles fonctionnalités peut créer de
nombreux problèmes. On s'attend à ce que ces tests soient effectués correctement, ainsi que
les tests de régression en cas de besoin.
• Test des exigences de sécurité
Pour tester les exigences de sécurité, il va falloir exécuter les fonctions ci-dessous pour voir
leur l’impact dans le système :
o Htmlspecialchars(authentification)
o prepare ()
o password_hash avec l’algorithme PASSWORD BCRYPT et un coût supérieur
ou égal à 12
o password_verify()
• Fréquence de régression
Une fréquence de régression logicielle est le nombre de fois qu’un bug logiciel fasse qu'une
fonctionnalité cesse de fonctionner après un certain évènement (par exemple une mise à jour
du système, un patch du système, ou un changement d'heure).
Une régression des performances logicielle est une situation dans laquelle le logiciel continue
de fonctionner correctement, mais fonctionne plus lentement ou en consommant plus de
mémoire que les précédentes versions.

3/Outil d’analyse statique

Comparer le code est une méthode qui compare et fusionne le fichier et le dossier. Plus de 70
000 utilisateurs sont impliqués dans la comparaison de code lors de la résolution de fusion et
du déploiement de la mise à jour du code source. Code Compare est une méthode permettant
de comparer et de combiner gratuitement différents fichiers et répertoires. Comparez le code
avec les sources les plus courantes : SVN, TFS, Git, Perforce et Mercurial. Code Compare
est un outil autonome pour les fichiers diff et une extension pour Visual Studio.

Vous aimerez peut-être aussi