Table des matières

Liens utiles

Vous trouverez dans ces liens utiles des lectures et des outils qui n'ont pas pu être présentés dans le cours.

Lectures conseillées

Planification

Conception

Outils de modélisation UML (Open-source)

Patrons de conception (Design Patterns)

Implémentation

Templates

Cours de Java

Journalisation

Environnement de développement intégré

Java

C/C++

Python

* Pycharm (Il y a une licence pour l'université)

PHP

Frameworks

PHP

Python

Tests

Outils de tests

Junit

TestNG

PostgreSQL

Python

Quick Perf

Web

Frameworks de test

Behaviour Driven Development

JSystem

STAF

GUITAR

Robot Framework

Web

Tests de montée en charge serveur web

Listes d'outils de test

Outils de gestion (version,projet,etc.)

Outils de base

Forges logicielles

Integration continue

Visualisation

Collaboration

Gestion de tâches

Qualité

Articles

Gestion de projets

Métriques de qualité

Documentation

Débogage

Méthodologie
Cours
Syllabus

Lesson 1: How Debuggers work
  Theory: Scientific method and its application to debugging.
  Fun fact: First bug in the history of computer science.
  Practice: Building a simple tracer.

Lesson 2: Asserting Expectations
  Theory: Assertions in testing and in debugging.
  Fun fact: The most expensive bug in history.
  Practice: Improving the tracer.

Lesson 3: Simplifying Failures
  Theory: Strategy of simplifying failures. Binary search. Delta debugging principle.
  Fun fact: Mozilla bugathon.
  Practice: Building a delta debugger.

Lesson 4: Tracking Origins
  Theory: Cause-effect chain. Deduction. Dependencies. Slices.
  Fun fact: Sherlock Holmes and Doctor Watson.
  Practice: Improving the delta debugger.

Lesson 5: Reproducing Failures
  Theory: Types of bugs (Bohr bug, Heisenbug, Mandelbug, Schrodinbug). Systematic reproduction process.
  Fun fact: Mad laptop bug.
  Practice: Building a statistic debugging tool.

Lesson 6: Learning from Mistakes
  Theory: Bug database management. Classifying bugs. Bug maps. Learning from mistakes.
  Fun fact: Programmer with the most buggy code.
  Practice: Improving your tools and practicing on a real world bug database.
Outils

PHP

Profilage

Java

PHP

Web

Analyse automatique du code

Java

Javascript

Analyse automatique de dépôt

Optimisation du code

Généralités

Java

Latence (web)

Pour les applications web, il est possible d'améliorer la latence par l'utilisation d'un CDN (Content Delivery Network) qui héberge les librairies les plus populaires au plus près de l'internaute.

Maintenance

Méthodes de numérotation de version

Mise en production

Automatisation

Recherche de code source

Moteur de recherche

Forges (projets open-source)

Index de projets open-source

Sécurité web

Divers