Après le billet consacré à JsUnit et celui qui expliquait comment mocker une requête Ajax, nous allons maintenant voir comment mocker en javascript. Pour cela je vous propose une courte présentation de JsMock. Les exemples de code sont en annexe de ce billet.
Tests / XUnit
mardi 26 janvier 2010
Tester le javascript : JSUnit, JSmock, Jstester (partie 2)
Par Masclet le mardi 26 janvier 2010, 13:16
vendredi 8 janvier 2010
Tester le javascript : JSUnit, JSmock, Jstester (partie 1)
Par Masclet le vendredi 8 janvier 2010, 10:59
Beaucoup de développeurs Java sont familiers avec Junit, EasyMock,... ces librairies qui permettent de tester du code Java afin de rendre les programmes plus robustes. Javascript dispose également de frameworks équivalents. Avec l'apparition du Web 2.0, le Javascript et l'Ajax sont de plus en plus présents dans nos applications (j'avais d'ailleurs poster un billet sur comment mocker une requête Ajax,il y a quelques mois) et représente une part non négligeable de code.
Si vous utilisez GWT, qui permet d'écrire à partir de code écrit en Java, de générer une application en HTML / javascript, vous n'avez pas de problème pour tester votre code, puisque Junit suffit. En revanche, si vous avez du code javascript à tester, il existe des librairies qui permettent de simplifier les tests. Je vous propose de voir comment tester du Javascript au moyen de ces 3 frameworks :
- JsUnit : Qui fournit des mécanismes d'assertions et d'exécutions de tests.
- JsMock : Permet de simuler des comportements pour des objets Javascript,tout comme EasyMock le fait
- JsTester : Permet d'executer du code Javascript en java grâce à Rhino.
les exemples de code sont disponibles en annexe de ce billet
vendredi 18 décembre 2009
Différence entre Bohr bug, Schrödinbug, Heisenbug, Mandelbug
Par Masclet le vendredi 18 décembre 2009, 12:33
Pendant plusieurs années, j'ai travaillé dans une équipe QA (Quality Assurance), où mon rôle était de trouver les causes et de corriger les bugs que d'autres équipes avaient faits: il y avait les développeurs qui implémentaient les fonctionnalités, les testeurs / bêta-testeurs, et mon équipe qui prenait en charge les bugs un peu retords. J'avoue avoir eu des fois beaucoup de mal à reproduire certains bugs.
J'ai appris par expérience que certains bugs pouvaient apparaitre seulement dans des cas de tests et ne se seraient jamais reproduits dans une utilisation normale, d'autres n'apparaissent plus lorsqu'on tente de les observer. C'est là, la différence entre les Bohr bugs, Schrödinbugs, Heisenbugs, et Mandelbugs. Toutes ses catégories de bugs tirent leurs noms de physiciens. Voici les différences fondamentales :