Julien Dorra juliendorra@juliendorra.com wrote:
«Testing Wikipedia» could be a nice catchy name for a series for events in various cities around TDD, with experienced dev mentoring less experienced community members, etc. Even if the experts come and go, everybody learn, some test and process get done, and the community grow and learn.
Maybe we should not be afraid and not only offer buzzwords but also point out real technical issues we are facing here.
I would say that at least some parts the core code is hardly testable. The situation improves as we go, but still there are lots of problems with our almost-object-oriented coding.
On the other hand the number of integration issues we are facing (talking to databases, caches etc.) plus high level of optimization of code suitable for the hugh site does not make a TDD approach enthusiasts happy; we need multiple levels of testing unit; integration; user inteface with the last two very important.
And there also infrastructure issues, like
https://bugzilla.wikimedia.org/show_bug.cgi?id=37702 "Cloned tables for unitests do not have references and constraints"
discovered when trying to write unit test for the very core MediaWiki functionality. (The fact we didn't find is earlier is telling something about our test coverage).
So may be one of the approaches would be to have a mini-bugathon to review some (or most typical? most annoying? site-breaking?) bugs and try to evaluate how TDD approach could help us to improve.
We might even have a nice cultural clash as a result:)
//Saper