Disclaimer
The opinions expressed herein are my own personal opinions and do not represent
my employer's view in anyway.
© Copyright 2010
|
Quelques jours de retour après l'Agile Tour 2009 à Lille, nous voilà Norman et moi de retour à Bruxelles. Vous pourrez trouver ci-dessous les slides des deux conférences que nous avons donné.
- Que tester dans une application ?
- XP : applicable uniquement dans de petits projets ?
Vous avez pris des notes pendant la session et vous avez bloggés sur l'évènement ?
Vous voulez continuer la discussion ?
N'hésitez pas à commenter sur cet article et à faire référence à votre propre blog et articles relatifs à l'évènement !
|
|
|
|
Encore une fois, les méthodologies agiles font leur tournée en 2009. Et une fois encore, de nombreuses dates sont disponibles partout dans le monde, et principalement en france. Et cette année, un arrêt est également prévu à Lille le 30 Octobre, et c'est gratuit ! Pour plus d'information, regardez leur site web pour avoir tous les détails sur cet évènement !
J'étais très occupé l'année dernière et j'ai donc manqué l'évènement, mais cette année, il était impensable pour moi de ne pas y aller !
Si vous voulez parler de tests, de méthodologies agile, d'intégration continue, ... Rejoignez-nous là bas ! Avec mon partenaire Norman Deschauwer, nous donnerons deux sessions:
Retour d'expérience : XP n'est-il applicable que dans des petits projets ?
Nous avons souvent l’image d’eXtreme Programming dans des projets de courte durée. Et à en juger par quelques chiffres (15 personnes pour plus de 8000 jours hommes), notre projet est en ligne directe avec les métriques des projets traditionnels et semble présenter un volume de travail frôlant ou dépassant les barrières standards des projets agiles.
Cependant, nous en avons fait un vrai projet XP, avec il est vrai quelques adaptations à la méthode pour satisfaire nos contraintes propres.
Nous aimerions montrer ici qu’un projet critique – dans le domaine financier – même durant plus de cinq ans peut tout à fait être réalisé en XP. Serait-ce même la solution à suivre ?
Nous parcourrons les différentes valeurs et pratiques d’eXtreme Programming afin de mettre en évidence la façon dont nous avons pu les mettre en place, tout en montrant les différents problèmes que nous avons pu rencontrer et comment nous les avons résolus.
Discussion ouverte : Que tester dans une application ?
Que doit-t-on tester dans une application ? Que ne doit-t-on pas tester ?
Quels types de test devons-nous faire ? Des tests orientés GUI ? Des tests unitaires ? Des tests orientés données ? Exploratoires ? Aléatoires ?
Allons-nous mettre en place des mocks ou non ? Tester la base de données ?
Les tests me permettent-ils vraiment de vérifier l’application ? Ou tout simplement de la designer ? De la documenter ?
Ecrire un test est très simple, mais amène vite de très nombreuses questions.
C’est donc bien une session sous la forme « d’Open Space Discussion » que nous voudrions « faciliter » ici, afin que notre expérience et la votre permette de répondre tous ensemble à quelques unes de ces questions.
Vous êtes intéressés par d'autres sujets ?
Un Open Space est prévu à la fin de la journée, et pour plusieurs heures. Avec Norman nous resterons un moment pendant cet open space. N'hésitez donc pas à nous contacter, nous serons très heureux de discuter avec vous de tout sujet traitant de l'agile, XP, Scrum, les tests, l'intégration continue, ...
|
|
|
|
Once again, agile methodologies is doing his tour in 2009. And once again you can find lots of dates all over the world, mainly in France. And this year it again stops in Lille the 30th of October and it's free !. For more info, check the website to have all the details !
I was very busy last year and so I missed it but this year it was not possible for me not to go there.
You want to speak about testing, agile methodologies, continuous integration, .... Join us there ! With my agile speaker partner Norman Deschauwer, we'll give two sessions:
Return of Experience : Is XP applicable only on small projects ?
We often have the image of XP in small projects. And if we look to some figures (15 guys for 8000 men days), our project is directly in the metrics of traditional projects and seem to present a work volume overwhelming the bareers of agile project.
Nevertheless, we have made it a real XP project, with from time to time some adaptations to the method.
We would like here to show that a critical project (in the financial domain), even when lasting more that 5 years, can be done in XP. And maybe is this the solution to follow ?
During the session, we will speak about the different valus and practices of XP to show how we have put them in practice while showing the different problems we met and how we solved them.
Open Discussion : What to test in an application ?
What shall we test in an application ? What shall we not test ?
Which kind of test shall we do ? GUI oriented tests ? Unit tests ? Data oriented tests ? Exploratory tests ? Random tests ?
Shall we use mocks ? Shall we test the database ?
Do the test really allow me to check the application ? Or to design it ? To document it ?
Writing tests is very simple, but quickly brings lots of question. We want to have an Open Space Discussion with all of you to share experiences and try to answer to some of these questions.
Interested in any other subject ?
An open space is planned at the end of the day for a few hours. With Norman, we'll stay a while during this open space so feel free to contact us, we would be very happy to discuss of any subject around agile, XP, Scrum, testing, continuous integration, ...
|
|
|
|
I discovered the CITCON in 2007 when the conference came to Brussels. Since this moment, I felt in love of this kind of session where we can learn so many things by highly motivated people !
So for the third consecutive year, and after Amsterdam in 2008, I came in Paris this year with lots of colleague : Thierry Thoua, Paul Lorena, Marc-André Filion-Pilon and Thibaut Van Spaandonck. Pity that my agile and continuous integration speaker partner Norman Deschauwer could not join us at the end.
But let's summarize a bit the sessions I attended to:
-
At 10h00, I started with a session I proposed about testing. I wanted to speak about the different level of testing (unit testing, web testing, data oriented testing, ...) but the session was jointed with other one and discussion quickly changed of subject. Many attendees for this session among them Gojko Adzic and Antony Marcano that brought a very interesting experience into the discussion. I can also name Manuel Molinier, Cirilo Wortel, Tiina Kiuru, Markus Hjort, Patrick Debois, Gilles Mantel, Jean-Michel Garnier and Laurent Bossavit.
We spoke a lot of the notion of done but more at use story level than at technical task level (when you split a story into several tasks, when do you consider your job on thie specific task is over ?) Two definitions were interested : a story is done when everyone feels right about it (everyone meaning the client / product owner, the developper, ...). For Cirilo Wortel, it's when we are able to demo to the client.
-
At 11h15, I went to a session animated by Steve Freeman. This book author nearly gave us a course about mock objects, accompanied by David Gageot that showed some test code using the Java mock framework mockito. Were also present among others Eric Lefevre, Antonio Goncalves and Gojko Adzic. Some things to record about the session ? Another book reference : Object Design by Rebecca Wirfs-Brock. Check also the website http://www.objectsbydesign.com/. We have spoken a lot of TDD, quoting "Uncle" Bob Martin sentence : The act of writing a unit test is more an act of design than of verification. It is also more an act of documentation than of verification. For Steeve Freeman, for this act of design, we should use interfaces to explicit the relation between objects. Just finding a name for this interface will explicit and document the relation. Check the post of Eric Lefevre for a small debate about this subject between Eric, Steeve and Antonio. The conclusion sentence could be when doing TDD, do not think class first, but role first !
-
At 14h00, I joined the session proposed by Gojko Adzic about Acceptance testing. Many participants ( Henk van Voorthuijsen, Sandrine Raffali, Claire Hernandez, Antony Marcano, Andy Palmer, Jean-Michel Garnier, Cirilo Wortel, Tiina Kiuru, Markus Hjort, Patrick Debois and many more) and lots of information.. Gojko started by its top 5 reasons why agile team fail when they do acceptance testing. The list has been completed during the session.
-
No collaboration
-
Focusing on "How" and not on "What"
-
Tests are unusable as live documentation
-
Expecting acceptance tests to be a full regression test suite
-
Acceptance test are the specifications
-
You do not use acceptance tests to chjeck all your limit values
-
Do not forget other types of tests like Exploratory tests
-
Focusing on tools
-
Do not consider acceptance testing as bringing added value
-
"Test Code" is not maintained "with love"
-
Management problems : objectives are not aligned between the product owner, the developper, the project manager, ...
-
No management support
-
Under estimating skills required to get things done right
Note that we should also avoid to many transformation in the specification. When do they come from ? Ever tried the telephone game ? The client explain what he wants. The analyst will write that down in a document. The developper code acceptance test based on that document. Do you really think the developper will have coded what the client has asked ? Do you have any other "level of indirection" in your company ?
-
Finally I assisted at 15h15 to the session "Putting Selenium its place". Lots of participant once again counting Cirilo Wortel, Tiina Kiuru, Markus Hjort, Antony Marcano, Andy Palmer and Jean-Michel Garnier. Antony showed us Selenese, ie the Selenium commands and explained us how we could write a unit test using tables listing the commands to use. I am not fan of Selenium, but I found very interesting the demonstration they did about the Page Objects capabalities and how we could extract activities from test to have self explanatory tests.
Unfortunately the last session I was interested in (Architect in Agile) had been cancelled (or moved in a room I couldn't found ?!?). But as I will be present in the next Agile Tour in Lille, I will be happy to facilitate an open space session - since 19h30 - with anyone interested.
Any conclusion to this event ? It was my third CITCON (and the first I was late... sorry guys...). As for each time, I do not have a special aha! moment, but I always like the event as a whole. I like standard conferences, but with Open Space Discussion, I really encountered a real exchange of experiences with all of you ! And I always meet people highly motivated by their job and what they are doing. And this gives me each time enough energy to continue wanting to share experience and ideas with all my team !
So there is one thing sure, if eveything goes well, I will be present for the next edition of the CITCON !
You want more about the CITCON ?
|
|
|
|
As I explained some time ago, I was writing an article about Continuous Integration in the Microsoft.NET world for the (french-speaking) website http://www.developpez.com/.
The article has been phased as follows :
| First Part (published on March 4th - available online here) - 43 pages | Second Part (published on June 5th - available online here) - 62 pages |
-
Quick introduction to continuous integration
-
Quick presentation of the tools needed for Continuous Integration (in the Microsoft.NET world)
-
MsTest
-
Static Code Analysis
-
MsBuild
-
TfsBuild
-
Unit Test : Writing unit tests with MsTest
-
Structure of a test class
-
Checking the correctness of a test
-
Testing the non public API
-
Unit Test : Executing tests with MsTest
-
Via Visual Studio
-
Thru Command line
-
Unit Test : Configuring tests
-
Test Runs naming
-
Code Coverage
-
Deploying files
-
TimeOut
-
Unit Test : Managing the tests
-
Via the "Test View"
-
Via the "Test Editor"
-
Unit Test : Additional attributes
-
Behavioral attributes
-
Informational attributes
-
Static Code Analysis : Presentation
-
Static Code Analysis : Correcting the errors
-
Static Code Analysis : Limitations
|
-
Quick introdution to MsBuild
-
First steps with MsBuild - Writing a basic project file
-
Going further with MsBuild
-
Ensure the project file is valid
-
Properties and PropertyGroup
-
Items and ItemGroup
-
Executing a project file in command line
-
Using .NET 3.5 tasks
-
Playing with Targets
-
Control the execution order
-
Explicit call of a target : 3 techniques and their differences
-
Passing input and output parameters to a target
-
Refactor a project file
-
Create your own tasks
-
Quick introduction to Team Foundation Server
-
TFS & Continuous Integration
-
Managing TFS
-
Tips & Tricks
|
To read this article, just go to http://dotnet.developpez.com/ or directly to my webpage on this site : http://pedautreppe.developpez.com/.
Note that these article are available only in french for now, but do not hesitate to leave comments here if you think the content is interesting and that it could be interesting that I translate it.
|
|
|
|
|
|