From: Desilets, A. <Ala...@nr...> - 2009-02-02 15:57:06
|
> My 2 cents: AFAIK, TikiTests is a working feature. > http://doc.tikiwiki.org/TikiTests Cool! So all that's left is to figure out how to start using it within the Tiki development process. I want to start using this ASAP, but have a number of questions. - If I want to create a new test that everybody else in the Tiki dev community will be able to run, where and how do I create it? - If I want to check if a particular SVN branch of Tiki passes all tests, how do I do that? - If I change the code on my local Tiki version and I want to see if it broke something, how do I do that? - When I write a test, what is the most efficient way of pre-seeding the Tiki DB with the data I will need for this test. By Efficient, I mean that it is easy to code, and that it will not slow down tests too much (ideally, we will eventually have thouasands of tests, and if each of them needs to seed the DB with data, they may be very slow to run). If we can get TikiTests to a state where it can support the 4 use cases above, I SOLEMNLY PROMISE to spend at least 2 hours per week writing tests for Tiki using TikiTests. I will also try to convince my colleague Marta Stojanovic to do the same (should be an easy sell... she sorely misses automated tests in her work on translation). NOTE: Marta and I are already spending a good 5h a week writing phpunit tests for the backend stuff we are writing from scratch in Tiki. The 2h I mention above would be on top of that, and would test functionalities which exist already and are more integrated with Tiki. Thx Alain > > (at least it worked for me when I tried in order to test the basic > behavior and make some screenshots for documentation) > > sept and others may answer better about it, though. > > HTH > > Cheers > > Xavi > > En/na Desilets, Alain ha escrit: > > Another way to avoid instabilities is to use Test Driven Development: > > > > http://en.wikipedia.org/wiki/Test-driven_development > > > > This approach pretty much garantees that you code will always be in a > stable state. It doesn't guarantee that the code will be bug free > (nothing can), but it will usually be stable enough to be deployable. I > have been using TDD on all my projects since 2002, and it's one of the > things that has most contributed to increasing my productivity, and my > confidence in the stability of my code. > > > > I see two main challenges to TDD in the context of Tiki. > > > > The first challenge is that there are many developers in the TikiWiki > community, and not all of them are advanced programmers. And TDD is a > somewhat advanced programming technique. I think this challenge is not > as big as it seems, because I suspect that a large percentage of the > code is being produced by a relatively small core of say 12 very > advanced developers like Sylvie and Louis-Philippe (sorry for not > mentioning the others, these are the two names I know). So, if those 12 > see the value of TDD and start using it, we may have it made. > > > > The second challenge is more problematic in my view, and that is that > TikiWiki was not built in a modular fashion. Therefore, it is very > difficult to exercise one part of Tiki code in isolation from others. I > don't know how to deal with that problem, other than to write > functional tests which exercise the code through the UI layer. This is > not ideal (it's slow, and leads to brittle test that fail even when the > system is actually working find), but it might be good enough. I know > folks in Strasbourg started work in that direction, but I guess it was > never completed was it? > > > > In the mean time, if someone is writing brand new code from scratch, > there is no reason not to do it in TDD style using phpunit. Marta > Stojanovic and I have been working on some new backend functionalities > for integrating Machine Translation and Automatic Bilingual Text > Alignment into tiki (for the Cross Lingual features), and we have been > able to do it all TDD style. We anticipate issues when the time comes > to plug these backend functionalities into the Tiki UI (sigh!), but in > the mean time, we are enjoying ourselves immensely. > > > > NOTE: I am willing to give a demo or teach TDD with phpunit to anyone > who is interested. If anyone interested is attending the first day of > TikiFest Montreal (Fri, Feb 27th), but I need to have prior notice (in > principle, on Fri 27th, I'm supposed to drive to Quebec City with my > son for a 1-week ski trip). > > > > Alain Désilets > > > > > > > > > >> -----Original Message----- > >> From: Marc Laporte [mailto:ma...@ma...] > >> Sent: February 1, 2009 1:04 PM > >> To: Tikiwiki developers > >> Subject: Re: [Tikiwiki-devel] Disengagement letter > >> > >> Hello, > >> > >> About 6 months ago, at the TikiFest in Strasbourg, there was a > >> discussion on how we could improve our code peer review process. > There > >> are a lot of commits, and we have a good number of people monitoring > >> the CVS mailing list. > >> https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs > >> > >> However, we don't know if 20 people reviewed a particular commit and > >> another was forgotten. We have no formal feedback mechanism. > >> > >> The idea was brought up to have some sort of web-based review > system, > >> where developers could quickly mark commits as they are checked. We > >> could be more systematic about making sure all commits are peer > >> reviewed and it would make us more scaleable/efficient/distributed. > I > >> understand that Nyloth has been reviewing every single commit for a > >> long long time now. That is a LOT of commits! > >> > >> Anyway, the idea resurfaced recently. If Tiki was a better tool for > >> software project management (both in reality and in perception), we > >> would no doubt indirectly attract more software developers. As an > >> example, Trac has nearly a 1000 stacks on Ohloh: > >> https://www.ohloh.net/p/trac > >> > >> My guess is that they have more developers that they know what to do > >> with :-) > >> > >> And here is how Louis-Philippe was thinking about (and started > >> addressing) the challenge. > >> http://blog.lphuberdeau.com/wordpress/2009/01/25/adding- > collaboration- > >> and-durability-to-code-reviews/ > >> > >> The goal would be to setup two out-of-the-box profiles for software > >> development: > >> http://profiles.tikiwiki.org/Software_Project > >> http://profiles.tikiwiki.org/SourceForge_Software_Project > >> > >> Best regards, > >> > >> > >> M ;-) > >> > >> > >> On Fri, Jan 30, 2009 at 11:30 PM, Marc Laporte wrote: > >> > >>> Data Channels > >>> --------------------- > >>> This extends profiles and is intended to open up a lot of new > >>> possibilities, including some to be used for workspace creation. > >>> http://profiles.tikiwiki.org/Data+Channels > >>> > >>> > >>> > >>> On the horizon > >>> -------------------- > >>> > >>> 4- Interface with SVN > >>> http://dev.tikiwiki.org/tiki-view_tracker_item.php?itemId=1995 > >>> > >>> > >> -------------------------------------------------------------------- > --- > >> ------- > >> This SF.net email is sponsored by: > >> SourcForge Community > >> SourceForge wants to tell your story. > >> http://p.sf.net/sfu/sf-spreadtheword > >> _______________________________________________ > >> Tikiwiki-devel mailing list > >> Tik...@li... > >> https://lists.sourceforge.net/lists/listinfo/tikiwiki-devel > >> > > > > --------------------------------------------------------------------- > --------- > > This SF.net email is sponsored by: > > SourcForge Community > > SourceForge wants to tell your story. > > http://p.sf.net/sfu/sf-spreadtheword > > _______________________________________________ > > Tikiwiki-devel mailing list > > Tik...@li... > > https://lists.sourceforge.net/lists/listinfo/tikiwiki-devel > > > > > > > ----------------------------------------------------------------------- > ------- > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > _______________________________________________ > Tikiwiki-devel mailing list > Tik...@li... > https://lists.sourceforge.net/lists/listinfo/tikiwiki-devel |