Formations sur les tests

April 19th, 2013 Comments off

Vous êtes développeur Java et les tests vous intéressent, soit parce qu’ils sont un mystère total pour vous ou bien parce que vous voulez en savoir bien plus ?

J’ai créé deux formations spécialement pour vous. Une formation Tests de A à Z et un Bootcamp Tests/TDD

Les tests de A à Z
« De A comme Assert à Z comme ZombieJS »

Que dois-je tester ? Comment dois-je tester ? Unitaire, fonctionnel, d’intégration… Quels sont les types de tests ? Faut-il vraiment les catégoriser ? Quelle couverture de code par les tests ? 80% ? 100% ? Est-ce que “tester, c’est douter” ? Tester avant ? Test après ? Mock ou pas mock ? Voici les questions que l’on me pose au jour le jour. Cette formation tente d’y répondre. Comment ? Le moins de slides possible, des interactions et de l’action plutôt que de la pure théorie.

Plus de détails ici

Bootcamp Tests / TDD
« Immersion intensive en code hostile »

Ok, je sais écrire un test. Comment puis-je m’améliorer maintenant ? Par où commencer ? Quels outils vont me permettre à mieux comprendre ce que je fais et ce que je dois faire ? Peut-on couvrir 100% d’un code par les tests ? Quel est l’intérêt de savoir le faire ? Comment l’approche TDD, Test Driven Development, peut m’aider ? Comment être autonome dans le choix des outils / stratégies / techniques de test ?

Plus de détails ici

J’ai vraiment hâte que l’on se retrouve pour parler tests !

Bien se préparer pour une conférence

February 23rd, 2013 10 comments

Ca y est, c’est fait !

Les délibérations du jury de sélection pour Devoxx France sont terminées. Il reste quelques arbitrages à faire. Certains doivent encore confirmer leur présence, laissant les sujets choisis en backup un peu dans l’attente. Mais on peut quand même dire “Ca y est, c’est fait !”.

Seul bémol, il y a des perdants. Et puis il y ceux qui ont un avis critique sur le programme. Tout cela est normal. C’est une sélection. Des règles écrites et beaucoup de subjectivité. Plein de chose à améliorer l’année prochaine.

 

Bon, mais la suite c’est quoi ?

N’oublions pas qu’à une conférence, les personnes à choyer, ce sont les participants. Ils payent. Ils veulent du contenu. Ils veulent du show. Il veulent rencontrer des passionnés.

C’est pour cela que je souhaite passer un message à ceux qui ont été séléctionnés. Ce message est strictement personnel et n’engage pas le reste du comité de sélection.

Préparez, préparez, préparez. Et quand c’est fini, préparez encore !

Une présentation à Devoxx, ça se prépare. Enormément. Par respect des spectateurs, vous ne pouvez pas vous permettre du moyen. Il faut de contenu et de la forme. L’un sans l’autre et ça ne fonctionne pas. Soignez vos slides, votre diction, votre message, vos démos, votre timing, votre attitude avant, pendant, après la présentation.

Je ne sais pas comment il faut faire mais je peux vous dire comment je fais.

Sur les présentations dont je suis le plus fier, je repasse des dizaines de fois sur chaque slide. Je refais la présentation dans ma tête. J’enlève ce qui ne sert à rien. Encore et encore. Je change la police. La taille. Les couleurs. Les phrases. L’ordre. Je cherche deux ou trois messages clefs. Et ceux là, je les répête. Je regroupe les slides, je découpe les slides, je je
ète les slides. Et je fais ça en boucle.

Quand je fais du “live coding”, j’ai en fait répété plus de trente fois avant. Je pense à chaque geste, chaque message. Avant chaque session, je répête jusqu’à ce que le “flow” soit bon. Je simplifie. Ou au contraire je détaille. Après chaque session, je corrige ce qui ne me plait pas. Ce qui n’a pas été compris. Je vous laisse imaginer combien de fois je refais la même présentation ; dans ma tête, dans le train, sous la douche, devant un public, en partant de début, de la fin, du milieu…

Pour les spectateurs, vous devez être au top. 200 personnes dans la salle ? Ils ont payé 350 euros pour voir 10 talks. Il y a donc 7000 euros dans la salle pour vous voir au top. Sans compter la somme appportée par les sponsors qui vous font confiance.

Ca c’était pour la pression. Une pression positive.

Alors tout le monde au top pour Devoxx. Les gagnants et les perdants !

Tags:

Formation sur les Tests

January 25th, 2013 Comments off

Je prépare en ce moment une formation sur les tests. En particulier :

  • L’utilisation de mocks à bon escient, dans les tests unitaires et les tests fonctionnels
  • Les outils du développeur/testeur, JUnit rules, Infinitest, Mockito, Fest Assert, Sonar, Maven
  • Les techniques pour augmenter la couverture des tests
  • Les stratégies pour réduire la durée des tests
  • Le concept de build incassable
  • Le continuous testing avec Infinitest, Watchr ou Testacular
  • Les tests Web avec ZombieJS ou PhantomJS
  • Et bien plus…

Es-tu intéressé(e) ?
Si oui j’ai quelques questions pour toi.

Tags:

USI 2013 – les 24 et 25 juin

December 3rd, 2012 3 comments

Connaissez-vous l’USI ? La conférence autrefois connue sous le nom de “Prince” “Université du S.I.”. Si vous n’en avez jamais entendu parler, allez voir la liste impressionnante de speakers. Aucune conférence française ne peux s’aligner. J’ai personnellement eu la chance d’être speaker durant la première et troisième édition. Je regrette de ne pas avoir participé, même en tant que simple auditeur, aux autres éditions. Alors cette année, c’est décidé, j’y retourne !

Pourquoi ? Aucune conférence ne me fait rêver comme l’USI. Je ne vais pas vous mentir, tous les speakers n’ont pas le même niveau, mais la plupart me mettent juste sans dessus dessous après leurs talks. Un mélange de rêve, d’admiration et d’envie de changer mon métier.

Octo, cher organisateur, j’ai en revanche une requête : faites revenir les Geeks ! L’USI, c’est la conférence des Boss et des Geeks. Or il y a, à mon humble avis, trop de talks orientés Boss. Il est vrai que nous les Geeks avons du mal à hisser notre discours au niveau requis par la conférence. Alors mon cri du coeur devient double. Octo, je veux plus de Geeks ! Geeks, je veux plus de qualité ! Pas du super technique/pointu comme l’on peut voir à Devoxx. Un autre type de qualité : des présentations de Geeks pour les Boss. Ça c’est difficile. Et ce qui est difficile pour un speaker, quand c’est bien mené, ça laisse l’auditoire tout chamboulé. Geeks, à vous de jouer !

Tags: , ,

Java 8 – FooBarQix – ListMaker

November 29th, 2012 Comments off

You might be familiar with the FooBarQix kata. Last year the CodeStory team used this kata for the first selection round of the challenge. You can read a few submissions here (French).

Here are the rules:

Given an integer:
 * If it's divisible by 3 then write "Foo"
 * If it's divisible by 5 then write "Bar"
 * If it's divisible by 7 then write "Qix"
 * If it contains digit 3, replace digit by "Foo"
 * If it contains digit 5, replace digit by "Bar"
 * If it contains digit 7, replace digit by "Qix"

Here’s what I wrote with Java 8:

String[] codes = {"", "", "", "Foo", "", "Bar", "", "Qix", "", ""};

String fooBarQix = with(3, 5, 7)
  .only(divisor -> (n % divisor) == 0)
  .concat(n / 100, (n % 100) / 10, n % 10)
  .map(v -> codes[v])
  .join();

return fooBarQix.isEmpty() ? n.toString() : fooBarQix;

To be honest, this is not plain java 8 code. It uses the library ListMaker I started to write in 2008 to test-drive “functional programming” in Java with Guava. It is available on Maven Central. Feel free to use it and improve it.

It is very similar to Java 8′s Streams or Guava’s FluentIterable introduced a couple of versions back. But I find ListMaker more complete and less verbose. Tell me what you think.

Tags: ,