Hi Alex,

The talk I gave at the conference was on how we did TDD and how we made it fun and natural.

www.ustream.tv/recorded/2445994

www.slideshare.net/djay/test-browser-driven-development

The short version is we did it from the end user level, wrote usecases and then turned them into functional tests using testbrowser, all before we wrote code. Since testbrowser is a small api and writing from the user persepective is very natural this worked out to be an effective way of specifying the system for developers (even if the developer is you as I've found).

Like all forms of TDD is really helped us work out enough details of what we really wanted before we'd gone too far and had to do rework.

Re manuals: at the end I propose a way that the testbrowser doctests can then be turned directly into a manual with automated screenshots. The netsight guys were really excited about working on this and Joel Burton already had already worked on something that does something similar just not with the testbrowser syntax. It's a cool idea that I don't think would be hard to do for someone that likes a little AI and graphics manipulation.

---
Dylan Jay, Plone Solutions Manager
www.pretaweb.com
tel:+61299552830
mob:+61421477460
skype:dylan_jay

On 04/01/2010, at 2:41 PM, Alex Clark wrote:

Hi all,

I'd like to master TDD in the way Mr. Wilkes describes it here: 
http://www.circulartriangle.com/blog/?p=10
by the end of 2010. To that end, I have a "test product" called collective.project that I am looking for
feedback on: 
https://dev.plone.org/collective/browser/collective.project/trunk/README.txt

I had originally promised to deliver tests and a user manual for it by the end of the year, but since I missed that deadline I thought I'd set a new one. I've written tests before. I know how to run the testrunner. I just can't make a habit of it which is what I'm looking to change.

A bit about the code:

- There are 4 dexterity content types: client, project, iteration, task.
       - 
https://dev.plone.org/collective/browser/collective.project/trunk/collective/project/client.py
       - 
https://dev.plone.org/collective/browser/collective.project/trunk/collective/project/project.py
       - 
https://dev.plone.org/collective/browser/collective.project/trunk/collective/project/iteration.py
       - 
https://dev.plone.org/collective/browser/collective.project/trunk/collective/project/task.py

   - There is a "bulk iteration creator":
       - 
https://dev.plone.org/collective/browser/collective.project/trunk/collective/project/browser/create_iteration.py

- I've just begun to move duplicated code from the content types to a common module.
       - 
https://dev.plone.org/collective/browser/collective.project/trunk/collective/project/common.py

What I'm looking for:

   - Advice on what types of tests you'd expect to see.

   - Ideas to make testing "fun".

   - Code review.

   - Any comments that may strike you.

Thanks and happy new year,

Alex

---
Alex Clark · http://aclark.net
Practical Plone 3 · http://tinyurl.com/practical-plone



_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers


_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to