Aujourd’hui, les tests sont devenu un élément crucial au cycle de développement logiciel, des sociétés ont investi dans la création d’un service interne de tests, rien ne peut être mis en production sans être validé par ce service.
Pour cela, cette présentation va mettre en évidence les fondamentaux de test logiciel à savoir: définitions, types, processus, méthodes, outils, principes, stratégies, jeux de test, etc.
Strategie de test à agile tour bordeauxNicolas Fédou
Une stratégie de tests, on sait tous que c’est nécessaire, mais sans forcément savoir à quoi ça ressemble.
Une stratégie de tests est la façon de s’organiser pour montrer qu’une application est de qualité suffisante pour aller en production. Il ne s’agit donc pas d’un inventaire de tests manuels ou automatisés, mais d’un raisonnement avec des choix et des renoncements.
Dans cette présentation nous verrons comment une stratégie de tests vise à optimiser la confiance et les preuves de qualité dans le cadre du développement d’un produit agile.
Aujourd’hui, les tests sont devenu un élément crucial au cycle de développement logiciel, des sociétés ont investi dans la création d’un service interne de tests, rien ne peut être mis en production sans être validé par ce service.
Pour cela, cette présentation va mettre en évidence les fondamentaux de test logiciel à savoir: définitions, types, processus, méthodes, outils, principes, stratégies, jeux de test, etc.
Strategie de test à agile tour bordeauxNicolas Fédou
Une stratégie de tests, on sait tous que c’est nécessaire, mais sans forcément savoir à quoi ça ressemble.
Une stratégie de tests est la façon de s’organiser pour montrer qu’une application est de qualité suffisante pour aller en production. Il ne s’agit donc pas d’un inventaire de tests manuels ou automatisés, mais d’un raisonnement avec des choix et des renoncements.
Dans cette présentation nous verrons comment une stratégie de tests vise à optimiser la confiance et les preuves de qualité dans le cadre du développement d’un produit agile.
Guide de tests fonctionnels. En utilisant ces principes, mes équipes ont réduit de 90% les défauts détectés en tests d’acceptation (UAT) et permis la livraison de trois projets avec zéro défaut.
Diane, ingénieure chez SpikeeLabs, a eu l’occasion de travailler sur l’amélioration des process d’un projet important en termes d’équipes engagées.
En se basant sur ce projet, Diane nous propose ici un retour d’expérience focalisé sur la méthodologie de tests et de la qualité plus globalement.
Rédigé en Mars 2013
Introduction : ce que l’on va couvrir (et ne pas couvrir)
Définition : Qu’est-ce que l’automatisation des tests ?
Objectifs : Pourquoi automatiser ?
Couverture :
Qu’est-ce qu’on automatise ?
Pre et Post Process
Comment déterminer ce qu’on automatise ?
Responsabilité : Qui fait quoi?
ROI : Combien ça coute ?
Infrastructure de test
Processus d’automatisation
Conclusion
Formation généraliste rédigée en Juin 2009
Qualité logiciel
Plan Qualité
Gestion Processus de développement
Gestion des exigences
Gestion de configuration
Gestion des tests
Gestion des anomalies
Gestion de la documentation
Cours de Génie Logiciel Avancé
Exposée: Processus de test logiciel
Le test permet de :
- S’assurer que le produit fait ce qu’on attend de lui.
- Identifier les erreurs (programmation ou logique) et les
défaillances dans l’intention de les corriger.
- S’assurer que le produit est conforme à sa spécification.
Le test dans un cycle agile. Comment faire ?Gilles Brieux
Développer un logiciel dans une démarche agile devrait amener à chaque itération un produit potentiellement livrable et utilisable par l’utilisateur final.
Tous les tests nécessaires avant livraison doivent donc être réalisés lors d’une même itération.
Contrairement à une démarche classique, cela implique plus de tests, tout le temps et en un temps réduit.
1/ Quels sont les différents types de tests en agilité ?
2/ Comment organiser cette activité cruciale dans une équipe agile ?
Introduction à la qualité logicielle (1/5)Sylvain Leroy
Présentation / Sensibilisation à la qualité logicielle, à l'assurance qualité et au contrôle du code des applications.
Cette présentation est le premier chapitre introductif du thème. Elle rappelle les principaux écueils que rencontre tout projet de développement informatique.
Rédigé en Mars 2013
Comment automatiser les tests ?
Les différents types de tests automatisés : TU, BDD/TDD, GUI, TDC, Test de vie …
Méthodes d’automatisation
Capture/replay
Projet de développement
Techniques d’automatisation
Data driven
Keyword driven
DSTL
Composants technique pour l’automatisation
Oracle
Bouchon
Techniques de comparaison
Reporting
Cette présentation présente les concepts basiques de la qualité logicielle, elle explique le principes de la mesure et l’évaluation de la qualité, l'importance des métriques dans un projet informatique, le rôle des modèles de qualité comme la norme ISO9126, ainsi que les métriques de code, à savoir: les métriques de McCabe, de Chidamber et Kemerer, etc.
Support de formation pour la formation Professional Scrum Master I en vue de passer la certification PSM I.
Ce support est basé sur le scrum guide de 2017 (dernière version à jour à juillet 2020)
Pratique pour réviser avant de passer le Scrum PSM I de façon plus agréable et visuelle que le scrum guide.
Attention le support est en CC-BY mais les images utilisées pour Rôles / Artefacts / Events ne sont pas en CC-BY (à voir avec les sites s'ils autorisent l'utilisation, surtout pour une utilisation commerciale)
This presentation has been executed on 14th april, 2009 in Valtech Technology Consulting, Paris, France.
This is an overview of the SWTBot test framework.
Download the ppt for the comments on each slide.
Guide de tests fonctionnels. En utilisant ces principes, mes équipes ont réduit de 90% les défauts détectés en tests d’acceptation (UAT) et permis la livraison de trois projets avec zéro défaut.
Diane, ingénieure chez SpikeeLabs, a eu l’occasion de travailler sur l’amélioration des process d’un projet important en termes d’équipes engagées.
En se basant sur ce projet, Diane nous propose ici un retour d’expérience focalisé sur la méthodologie de tests et de la qualité plus globalement.
Rédigé en Mars 2013
Introduction : ce que l’on va couvrir (et ne pas couvrir)
Définition : Qu’est-ce que l’automatisation des tests ?
Objectifs : Pourquoi automatiser ?
Couverture :
Qu’est-ce qu’on automatise ?
Pre et Post Process
Comment déterminer ce qu’on automatise ?
Responsabilité : Qui fait quoi?
ROI : Combien ça coute ?
Infrastructure de test
Processus d’automatisation
Conclusion
Formation généraliste rédigée en Juin 2009
Qualité logiciel
Plan Qualité
Gestion Processus de développement
Gestion des exigences
Gestion de configuration
Gestion des tests
Gestion des anomalies
Gestion de la documentation
Cours de Génie Logiciel Avancé
Exposée: Processus de test logiciel
Le test permet de :
- S’assurer que le produit fait ce qu’on attend de lui.
- Identifier les erreurs (programmation ou logique) et les
défaillances dans l’intention de les corriger.
- S’assurer que le produit est conforme à sa spécification.
Le test dans un cycle agile. Comment faire ?Gilles Brieux
Développer un logiciel dans une démarche agile devrait amener à chaque itération un produit potentiellement livrable et utilisable par l’utilisateur final.
Tous les tests nécessaires avant livraison doivent donc être réalisés lors d’une même itération.
Contrairement à une démarche classique, cela implique plus de tests, tout le temps et en un temps réduit.
1/ Quels sont les différents types de tests en agilité ?
2/ Comment organiser cette activité cruciale dans une équipe agile ?
Introduction à la qualité logicielle (1/5)Sylvain Leroy
Présentation / Sensibilisation à la qualité logicielle, à l'assurance qualité et au contrôle du code des applications.
Cette présentation est le premier chapitre introductif du thème. Elle rappelle les principaux écueils que rencontre tout projet de développement informatique.
Rédigé en Mars 2013
Comment automatiser les tests ?
Les différents types de tests automatisés : TU, BDD/TDD, GUI, TDC, Test de vie …
Méthodes d’automatisation
Capture/replay
Projet de développement
Techniques d’automatisation
Data driven
Keyword driven
DSTL
Composants technique pour l’automatisation
Oracle
Bouchon
Techniques de comparaison
Reporting
Cette présentation présente les concepts basiques de la qualité logicielle, elle explique le principes de la mesure et l’évaluation de la qualité, l'importance des métriques dans un projet informatique, le rôle des modèles de qualité comme la norme ISO9126, ainsi que les métriques de code, à savoir: les métriques de McCabe, de Chidamber et Kemerer, etc.
Support de formation pour la formation Professional Scrum Master I en vue de passer la certification PSM I.
Ce support est basé sur le scrum guide de 2017 (dernière version à jour à juillet 2020)
Pratique pour réviser avant de passer le Scrum PSM I de façon plus agréable et visuelle que le scrum guide.
Attention le support est en CC-BY mais les images utilisées pour Rôles / Artefacts / Events ne sont pas en CC-BY (à voir avec les sites s'ils autorisent l'utilisation, surtout pour une utilisation commerciale)
This presentation has been executed on 14th april, 2009 in Valtech Technology Consulting, Paris, France.
This is an overview of the SWTBot test framework.
Download the ppt for the comments on each slide.
http://www.apisoft.fr/
Simple à installer et rapidement opérationnel, le logiciel OptiMaint réunit une grande éléments de commande avec une facilité d'utilisation et entre dans votre structure à votre cadence, ainsi vous pouvez débuter à travailler avec OptiMaint, même si vous n'avez pas tout renseigné.
OptiMaint est un progiciel complet proposé en standard avec les fonctions.
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Nicolas Ruffel
Si les méthodes agiles se concentrent sur l’aspect organisationnel du développement logiciel, elles en disent très peu sur les pratiques de production du code. Or pour valoriser des “logiciels opérationnels” et “adaptables aux changements” (comme le préconise le manifeste agile), la manière de produire le code est essentielle. Le software craftsmanship est avant tout un état d’esprit, mais il repose sur des pratiques concrètes de développement piochées dans d’autres méthodes comme eXtreme Programming. Dans ce retour d’expérience, un développeur et un manager vous présenterons quelques unes des pratiques que nous avons adoptées et qui ont changé notre façon de développer. Nous vous donnerons aussi des pistes pour les transposer (ou pas !) dans votre contexte.
Introduction Professional Scrum Developer for JavaJoris De Winne
Introduction to the official PSD for Java training from scrum.org. It doesn't cover all topics from the official curriculum, and serves as a intro and teaser to actually follow the official training.
Java 201 Intro to Test Driven Development in Javaagorolabs
This document provides an overview and agenda for a Java 201 course on test-driven development (TDD) in Java. It introduces TDD workflows and concepts like the feedback loop and test frameworks. The agenda covers setting up an IDE, writing the first unit test, test anatomy, and concludes with a hands-on exercise to build components of a card game using TDD.
Git Flow: un processus de développement AgileXavier Hausherr
Xavier HAUSHERR, CTO chez Overblog, présentera le processus complet de développement du projet Overblog qui est basé sur les méthodologies suivantes: Scrum, Git Flow, Github, Jenkins, PhpUnit/Symfony pour les tests unitaires, Watir/Cucumber pour les tests fonctionnels. La présentation détaillera la façon dont nous avons adapté Git Flow à Scrum, nos processus de déploiement, de tests ainsi que notre flux de mise en production.
Comment boucher le trou entre le développement et la production en PHP ? Quels outils de développement, quels outils de suivi de qualité, comment réussir l'intégration continue ? Nous terminerons par les us et coutumes de la mise en production.
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAssociation Agile Nantes
Les tests unitaires automatisés sont indispensables à l'agilité. Le TDD est le meilleur moyen d'écrire
ces tests et d'avoir du code testable, mais sa pratique va au-delà, notamment dans l'aide à la
conception du code. Un peu de théorie et beaucoup de démo live pour vous montrer cette pratique.
Présentation donnée en septembre 2009 à un acteur informatique à Bordeaux. J'explique ma vision de l'agilité, des tests et de l'industrialisation au travers de l'exemple PHP.
Soyons honnête : nous aimerions tous tester nos plateformes, nos codes, mais personne ne le fait vraiment bien. Heureusement, ce n’est pas une fatalité, et il n’est jamais trop tard pour tester ! La vraie question est : comment tester ? Derrière toute stratégie de tests efficace, il y a une connaissance de tous les types de tests disponibles, de leurs coûts et de leurs utilités. Tout au long de cette journée, nous allons vous détailler les différents types de tests, du test unitaire au test de charge, afin que vous puissiez évaluer la pertinence de chacun dans votre propre contexte.
Le test, qu'il soit unitaire ou fonctionnel, est à la mode dans le monde du développement logiciel, suite entre autre à la mise en œuvre croissante des méthodes agiles et notamment de l'intégration continue ou des méthodes de développement telles que le TDD, le BDD ou la programmation par contrat. Récemment, ce phénomène a encore été amplifié au sein de la communauté PHP par l'apparition aux côtés de l'incontournable PHPUnit d'outils plus originaux tels que Behat, Praspel ou atoum qui permettent au développeur de rédiger des tests plus simplement. Pourtant, nous constatons tous les jours que le test conserve une grande part de mystère pour la plupart des développeurs, Bien souvent, ces derniers ne savent pas quoi tester, et encore moins comment écrire un test efficace ou mettre en place une politique de test pertinente. Certains s'interrogent par exemple sur la pertinence de leurs tests, se demandent s'il faut absolument tout tester, d'autres s'il est possible de tester la création d'un fichier, voir même s'il est intéressant de le faire, tandis que d'autres se demandent où se situe la frontière entre le test unitaire et le test fonctionnel ou s'il est nécessaire de tester toutes les méthodes d'une classe, alors que d'autres encore ne savent tout simplement pas par où commencer. Durant cette conférence, nous allons tenter, à l'aide de nos expériences respectives de créateur de framework de tests et de doctorat en informatique spécialisé dans le test, de répondre aux questions récurrentes que se pose une personne confrontée à la mise en place d'une politique de qualité logicielle en général et à l'écriture d'un test logiciel en particulier. À l'issue de cette foire aux questions didactique et interactive, vous devriez être capable d'aborder le test, indépendamment de sa nature, de manière plus sereine et efficace et produire ainsi un logiciel de la qualité que vous désirez.
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
Cette formation développe les méthodes de l'Extreme Programming, introduit les tests unitaires et le Test Driven Developpement sous différents frameworks (dont CakePHP), et présente différents outils de travail collaboratif : SVN, Make, Trac, etc.
Pourquoi et comment nous relisons ensemble tout le code que nous produisons - retour d'expérience du WebCenter AXA sur la revue de code, accompagnés par Octo.
The document provides a step-by-step guide to conducting a Lean Canvas workshop. The Lean Canvas is broken into 9 sections that guide participants through identifying a problem, customer segments, unique value proposition, solution, channels, revenue streams, cost structure, key metrics, and unfair advantages. Completing the Lean Canvas helps organizations test ideas and business models in a structured and lean process.
This document discusses eXtreme Programming and continuous integration. It explains that continuous integration helps manage technical debt by integrating code changes frequently through processes like committing code daily and ensuring every commit builds successfully. This allows issues to be identified and addressed early. The document provides patterns for continuous integration, such as committing code often, making each commit trigger an automated build, keeping builds fast, and ensuring all team members can see build status. It emphasizes writing unit tests and acting quickly on test build failures to fix issues easily. Continuous integration helps reduce integration problems and get early feedback to improve code quality.
This document provides tips for advanced testing practices. Some key tips mentioned include:
1. Give test names that indicate intention rather than just describing the code under test.
2. Remove unnecessary information from tests like setup/teardown methods to focus on the essential behavior.
3. Avoid reflection in tests and test private methods directly when possible.
4. Use frameworks like Spock that allow testing multiple scenarios in a single test through the use of tables.
This document contains notes and ideas from various presentations on making effective presentations. It discusses focusing on the message over slides, using simplicity and unexpected elements. It emphasizes using stories, emotion, and building rapport with the audience. Tips include rehearsing, having passion, empathy and pacing your speech. The overall message is to engage the audience and make your presentation memorable through good design and different techniques.
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO Technology
En cette année 2024 qui s’annonce sous le signe de la complexité, avec :
- L’explosion de la Gen AI
-Un contexte socio-économique sous tensions
- De forts enjeux sur le Sustainable et la régulation IT
- Une archipélisation des lieux de travail post-Covid
Découvrez les Tech trends incontournables pour délivrer vos produits stratégiques.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
4. Il n’y a pas de soucis à livrer du code qui ne fonctionne pas. Quelle est la conséquence ? Enjeux financiers faibles Perte de confort Enjeux financiers importants Enjeux humains
5.
6. Pourquoi fait-on si peu de tests? Seuls les test d’IHM sont plus délicats Plus les corrections arrivent tard Plus c’est cher No comment… Pas le temps Pas un besoin « métier » Outils pas au point
7.
8.
9. Technical debt Nous n’avons pas le temps de faire des tests ou de refactorer le code Temps Capacité à produire Max Actuelle Plus le temps passe, plus les erreurs commises se font ressentir. Code dupliqué Faiblement testé Code dégradé, difficile Extrait de : Henrik Kniberg – 10 ways to screw up with Scrum and XP La dette technique fait diminuer la productivité au fil du temps.
10. Technical debt (2) Temps Capacité à produire Temps Capacité à produire Max Actuelle Max Actuelle Produire du code de meilleur qualité et testé à un coût plus élevé uniquement sur le court terme . "Ceux qui s'avancent trop précipitamment reculeront encore plus vite." Meng-Tseu
11. Pyramide de Mike Cohn IHM Acceptation Intégration Unitaire Approche traditionelle Approche « agile » Basée sur des cahiers de recettes. Coût d’entrée faible. Coût de maintenance très élévé. Basée sur des outils d’automatisation. Coût d’entrée plus élevé. Coût de maintenance assez faible.
13. Test Driven Development? Ajouter un test Vérifier que le test échoue Ecrire le code Vérifier que le test passe Refactor RED GREEN REFACTOR
14. Philosophie du TDD On commence par une architecture la plus simple possible, puis on la fait évoluer suivant les besoins. On ne code que ce qui correspond à un besoin bien identifié, que l’on sait tester Programmation par intention Notion de design émergent KISS Keep It Simple, Stupid
15. TDD : Démonstration Client Panier coutTotal : int ajouterProduit() enleverProduit() majCoutTotal() Produit nom : String cout : int