Chaîne de développement basée sur l'IAGénie Logiciel (STI)
Chaîne de développement basée sur l'IA
Séquencement
Objectifs pédagogiques
Ce module a pour but d'apporter aux étudiants une vision sur le test de logiciel selon deux points de vue :
- celui de son fonctionnement (absence de bugs)
- celui de son utilisation (ergonomie-utilisabilité)
Pré-requis
| Module | Unité d'enseignement | Semestre |
|---|---|---|
| Initiation au Génie Logiciel | Principes de la programmation | S5 |
| Modélisation du logiciel | Principes de la programmation | S5 |
| Ingénierie du Web | Administration réseaux et système | S6 |
Programme
- Généralités sur les tests logiciels
- exemples
- pourquoi tester
- comment tester
- présentation de la norme ISO-25010
- OWASP
- Quality Assurance
- cycle de vie du développement logiciel et de la place des tests
- quels sont les outils
- Présentation de frameworks de tests unitaires PHP et javascript
- Présentation de jenkins
- Performance Web
- à quoi sert la performance
- quels sont les outils
- comment effectuer une analyse de performance sur un site Web
- Présentation des tests d'interface avec cypress
TP
- Tests unitaires en PHP avec PHPUnit
- Tests unitaires javascript (mocha, qunit, jest)
- Utilisation de Jenkins comme outil d'automatisation en lien avec les TP réalisés plus tôt
- Analyse de performance sur des sites Web publics
- Tests d'interface (E2E) avec cypress
Modalités d'évaluation
Évaluation effectuée sous la forme d'un questionnaire reprenant des questions de cours et des analyses d'une problématique
Références bibliographiques
Articles / Sites / Blogs https://martinfowler.com/articles/testing-culture.html#google https://wpostats.com/ https://slack.engineering/rebuilding-slack-com-b124c405c193 https://github.com/kilimchoi/engineering-blogs https://blog.eleven-labs.com/ http://blog.xebia.fr/ https://latavernedutesteur.fr/ https://www.ministryoftesting.com/ https://medium.com/@jeffposnick/cds-perf-review-clinic-takeaways-cb0eaed87b06 https://kinsta.com/learn/page-speed/ https://medium.com/leboncoin-engineering-blog/testing-at-scale-61461d5a7e26 https://blog.octo.com/introduire-une-culture-de-la-performance-web-sur-son-projet/ https://twitter.com/alexsoyes/status/1463034107005489155
Comptes Twitter https://twitter.com/paul_irish https://twitter.com/aerotwist https://twitter.com/SiteSpeedio https://twitter.com/ChromeDevTools https://twitter.com/ChromiumDev https://twitter.com/gaelmetais https://twitter.com/FriendlyTester https://twitter.com/kohsukekawa https://twitter.com/BeastieFurets https://twitter.com/codeascraft https://twitter.com/katrina_tester
Chaînes youtube AFUP PHP : https://www.youtube.com/channel/UCb-D560WkMEPE7dwNta_nqA webperf_fr : https://www.youtube.com/channel/UCGRggw8YjBVR6ZeQ5CeQ4HA Google Chrome developers : https://www.youtube.com/channel/UCnUYZLuoy1rq1aVMwx4aTzw We love speed : https://www.youtube.com/channel/UCkGu-L_zodm1nm6_JfGxR2g
Performance http://designingforperformance.com/ https://www.sitespeed.io/ http://ponyfoo.com/articles/talk-about-web-performance http://timkadlec.com/2013/01/setting-a-performance-budget/ http://danielmall.com/articles/how-to-make-a-performance-budget/ https://developers.google.com/web/tools/chrome-devtools/ http://www.perf-tooling.today/ https://www.fasterize.com/en/blog/waterfall-charts/ https://www.fasterize.com/fr/blog/https-impact-sur-les-temps-de-chargement/ http://www.performancebudget.io/ https://addyosmani.com/blog/performance-budgets/ https://calibreapp.com/blog/get-started-with-performance
Cas concret analyse de page : https://foobartel.com/articles/airpods-pro-page-performance Livres http://shop.oreilly.com/product/0636920033578.do https://leanpub.com/testingindevops Post-mortem https://www.cnbc.com/2018/07/19/amazon-internal-documents-what-caused-prime-day-crash-company-scramble.html si lien indisponible : https://www.dropbox.com/s/xeq4u33vqzaq4e3/amazonprimeglitches.pdf?dl=0
https://github.com/danluu/post-mortems
Comment fonctionne un navigateur ? https://www.sitepoint.com/premium/books/lean-websites/preview/understanding-how-the-browser-works-6078630
Podcasts Artisan développeur : https://artisandeveloppeur.fr/ ITTD : https://ifttd.io/
Autres Architecture Web : https://engineering.videoblocks.com/web-architecture-101-a3224e126947
Compétences SecNumEdu
| Compétence | Heures cours | Heures pratique | Niveau entrée | Niveau sortie |
|---|---|---|---|---|
| Développement logiciel et ingénierie logicielle (sous l’angle de la sécurité) | 5 | 5 | 2 | 2 |
| Tests logiciels : ISO-25010, OWASP, Quality Assurance. | ||||