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