|
Advanced software testing techniques Hiver/Winter 2011 |
|
|
|
Prof. Giuliano Antoniol Département de Génie Informatique École Polytechnique de Montréal P.O. Box 6079, Succ. Centre-Ville Montréal, Québec, Canada, H3C 3A7 Tel: M-4021 Tel: (+1 - 514) 340-4711 ext 2027 Fax: (+1 - 514) 340-4657 E-Mail : giuliano.antoniol@polymtl.ca
|
Motivation du Cours Les systèmes logiciels constituent des actifs d'entreprise qui doivent être exploités conformément à la réglementation tout en apportant satisfaction aux clients et en conservant un avantage concurrentiel sur le marché. Il est nécessaire de développer ces nombreux logiciels pour répondre aux conditions sans cesse changeantes du contexte, des lois et du marché : des techniques de développent et d'assurance qualité sont essentielles au succès et à la compétitivité des entreprises. Les activités de test, qui peuvent couvrir jusqu'à 50% du coût de développement sont essentielles pour assurer la qualité, la fiabilité et la sécurité des logiciels. Dans certains domaines tels que les domaines d'aéronautique, de transport, des applications médicales réglementées, les normes et la loi imposent les activités de test afin d'assurer des niveaux de qualité, fiabilité ou sécurité qui peuvent être vérifiés. De plus, dans les domaines réglementés il y a des responsabilités éthiques et légales et qui doivent s'assurer que les changement du logiciels ne nuiront pas à la qualité et ne produiront pas d'effets secondaires indésirables ou inattendus sur la fiabilité et la sécurité. Ce cours vise à donner les compétences pour planifier, évaluer la qualité et la fiabilité des produits logiciels. Une attention particulière est allouée aux normes, aux pratiques, aux outils industriels et de recherche, et aux techniques d'avant-garde de test. La pratique industrielle est introduite à l'aide des documents réels développés pendant la participation à des activités dans des projets industriels. Afin d'aider les étudiantes à maîtriser des situations imprévues et des nouvelles normes de test, les étudiants participeront a deux activités. Dans une première activité visant à favoriser la capacité de résoudre de nouveaux problèmes, l'étudiant est appeler à déterminer si un logiciels (réel et inconnu pour les étudiants) a des défaillances par rapport aux manuels ou aux requis. Dans la deuxième activité, chaque étudiant doit analyser et expliquer aux autres étudiants une norme technique sur la bonne pratique en matière de développement de logiciel.
Description Le génie logiciel et activités de test : la qualité, l'exactitude, la fiabilité, et la sécurité. Principaux aspects du test de logiciel à toutes les étapes de développement et d'évolution. Activités de vérification et de validation dans le processus de développement logiciel. Techniques structurelles de test et méthodes de test fonctionnel avancées. Génération automatique de données de test. Algorithmes évolutionnistes (recherche locale, algorithmes génétiques) et techniques de test pour détecter les failles de sécurité (buffer overflow, SQL injection). Tests de logiciel orienté objets. Modélisation quantitative du logiciel pour évaluer sa fiabilité, sa robustesse et sa sécurité. Techniques avancées pour détecter les failles de sécurité. Rôle de l'ingénierie de la qualité dans la fiabilité du logiciel et normes techniques.
Liens utiles / Useful links: |
Mail to antoniol at ieee dot org with questions or comments about this web site.
|