Twin Cities New Years Test Sprint and 'New Years Resolution: Learn to write tests' Workshop

Events happening in the community are now at Drupal community events on www.drupal.org.
chachasikes's picture

Back in October, we had a 'Testing testing' discussion. Six (or so) local Drupal people met up. We talked about doing a testing-related event here in the Twin Cities.

Today is December 2, and seriously, no one is going to be able to do testing a testing event until the New Year. :)
But that's cool, because I am sure that most of us would put 'learn how to write tests' on our list of new years resolutions.

So let's get it over with first thing in 2010!

Does January 9 (Saturday) or January 10 (Sunday) work for people who might like to attend or host this event?

TENTATIVE SCHEDULE...

DRAFT (not final til this is posted as an official Drupal event)

Morning: 'New Years Resolution: Learn to write tests' Workshop
An Introduction to Writing Tests
1.5 hours
6-10 people. Free. Reservations required. You may need to prepare your computer ahead of time.
Requirements: You will need a locally hosted drupal installation on your own computer & familiarity with Drupal/PHP.

  • We will talk about what tests are, what they do, and how they help you write good code.
  • We will walk through how to set up and run tests in Drupal 6 & 7.
  • We will run some tests.
  • We will make a simple module and write a basic test for that module. Then we will run it.
  • We will look at the Simpletest API & the Drupal specific testing functions, so you can see how to apply test writing to more complicated modules.
  • We will look at the issue queue to see where one can find requests for writing tests on drupal.org.

Preparation
We had also discussed how people who come to the workshop should be familiar with Drupal and PHP. You certainly do not need to be an expert to come to the introductory workshop.
We will ask that you reserve your spot, and we will chat with you before hand to get a handle on what you are already comfortable with.
We will send you a list of things to set up on your computer ahead of time.

Lunch/Break: 1 hour

Afternoon: Twin Cities New Years Test Sprint
3-4 hours
10-20 people (?)
The idea we had at the planning meeting was that we could pick a module that needs some tests, and spend the afternoon working on writing tests for that module. People can work together if they like. People who went to the introductory workshop will get a chance to practice writing some tests.

LOGISTICS
Place: TBD
Snacks/Lunch: TBD
Cost: Free

FOR DISCUSSION

Questions
1. Can anyone host up to 20 people, for free, with wifi, power and tables/chairs, on the weekend of January 9/10? Let's say between 10am and 4pm.
If the date is a problem, we could push it back to the next weekend.
2. If we have these on weekends, does that work best for most people? Weekdays are not an option for most Drupal professionals in the twin cities, and for this kind of event, evenings would be too difficult for people with families.
3. Are there other logistical concerns? These might be: transportation, childcare, lack of a functional laptop, lack of confidence in Drupal ability.
If you have thoughts on this, can you comment on this post or send me a message? (Thanks!)
4. For the group project does anyone have any strong feelings about a module/project that could use some tests? We were thinking of working on tests for a module since Drupal 7 core has heavier activity, which makes it more difficult to grasp initially. Ideally, the module could use tests for very simple functions, as well as some more challenging tests if people want to try tackling a harder project with some other people. We will need to make a list of 4-8 possible tests that could be written ahead of time.
5. Can anyone think of a good hash tag for this event?? I can't! :P

The decision about working in Drupal 7 is not official... some of us are occasionally on the #drupal-mpls IRC channel

Discussing on this thread probably easier.

Comments

That weekend is great for me!

adriarichards's picture

That weekend is great for me! Thanks for posting in advance as well! #drupalhash #drupalmpls #drupaltest #drupcode

Adria Richards
http://butyoureagirl.com
@adriarichards

webchick's picture

We've tagged a lot of Drupal 7 core issues "Needs tests" at http://bit.ly/drupal-7-needs-tests.

While it's true that D7 has been undergoing major development, we're now past the point of major API changes unless they fix critical issues (which hopefully is few and far between, but you never know). By January 9/10, we should be focused solely on the critical issues queue, and test writing will become very important for clearing those out and seeing a Drupal 7 release sooner. :)

There are also quite a few people in #drupal and #drupal-contribute with experience doing core test writing, and not as much doing module test writing, so you might find it easier to find mentors/reviewers if you stick to core. Of course, I'm biased and have a clear agenda... ;)

Whatever you decide, though, this is a really awesome initiative! Excited to see what comes out of it!

I love this idea and that

theunraveler's picture

I love this idea and that weekend works for me.

Sounds like fun. I can do the

eojthebrave's picture

Sounds like fun. I can do the 10th, not the 9th.

With regards to what to write tests for. I could go either way, core or a module.

One idea might be to help locals with modules write tests for their modules. Having the maintainer on hand and able to answer questions for us could make a huge difference. If we go with a non-local module lets make sure we get in touch with the maintainer beforehand and get some feedback from them.

That works

wylbur's picture

Except for Saturday morning. I could join you at around 11am.

Our doors are always open

allie micka's picture

Some folks might be interested in mixing it up up with venues, and we can get behind that. But Advantage Labs' doors are always open for local Drupal community events. We'll be happy to make time and space available on either of those dates.

Joe, I love the idea of helping out local module developers, and not just because I am biased! It's important to support core, and sometimes it feels unspeakable to suggest otherwise. However, Advanatage Labs primarily does work in contrib, because that's where we can effect control over the functionality that our users depend on the most. People want to be able to subscribe, communicate, track, and map their users and their content, and they get downright persnickety when the can't easily perform ROI-oriented tasks such as accepting donations or paying for events and memberships.

Contrib is often underfunded and overlooked as "giving back to Drupal", but sometimes it's the most rewarding for yourself and your user community. If people are interested in supporting local module developers, we'll definitely throw our hat in the ring. I also hope that other local contrib maintainers will shout out as well.

Allie, could you provide a

eojthebrave's picture

Allie, could you provide a list of the modules that you guys are actively involved with for those of us that don't know? Give people a chance to see what our options are and how those modules may be useful to them. I find that people get much more excited about working on things when they can see the potential benefit that it may have for them or when it is a subject that interests them.

Thanks Allie

chachasikes's picture

Thanks webchick for the information about what will be happening in early January!

Hey Allie!
It's great to know that the Advantage Labs space is open. It is a perfect space for sprints & classes. It accommodates up to about 20-25 people, right?
I am inclined to recommend that we hold this event at your place, as you say it is available during those dates.

I'll try to set the date for on Friday (after the happy hour on Thursday) - doesn't seem like there are any major issues with Jan 9 or 10, so maybe at the happy hour we can pick Saturday or Sunday. :)

As to the Drupal 7 vs. Contrib tests...

Sounds like there is strong interest in writing tests for locally created modules with local maintainers. I think that is a definite, and if there is serious interest, a small group could do Drupal 7 core tests. (Please indicate your interest!)

  1. Let's post links of modules/project that might be candidates for the sprint. (local contrib, 'remote' contrib, d6 modules upgraded to drupal 7, drupal 7 core)

  2. If we can decide on a module/project two weeks before the sprint, that will allow time to plan sprint activities, and let people coming to workshop download modules before the sprint. Two weeks before is a good timeframe for anything Drupal 7, since that issue queue is so active. The sprint is relatively short (3-4 hours.) Which makes planning ahead more important. We need to identify projects that people can finish in a few hours.

  3. For the intro workshop, we will definitely look at and discuss the issue queue for Drupal 7 core tests (the 'critical issues queue') and how to get involved. We can do that part of the workshop near lunch - so people not attending workshop can find out more about this.

  4. hash tag/tag -- some of the issues in the issue queue were marked with something like testingparty2009... so we need one we can use for drupal tags and also twitter. we can use #drupal on its own it's an active tag, newyearsreztestsprint? are dashes illegal? (you know i still hate twitter!)

I will volunteer to look into this ahead of time, and if anyone else who is very familiar with this and wants to help with that part of the 'intro to writing tests' workshop, you are more than welcome! :)

We've got plenty of space

allie micka's picture

On the weekends, provided there are no conflicts, we can take over the entire 1st floor of this ol' mansion. We can use both the large and small conference rooms, plus our office itself. I highly doubt we'll get that kinda traffic, so your guesstimate of 20-30 in the main conference room is spot-on.

The list of modules I work on is available on my Drupal profile. We could desperately use some local users/supporters/issue queue helpers/advocates for all of these! However, the best ones to start with for these purposes are:

  • Pay, which is a transaction-oriented way to accept money, as opposed to cart-oriented method). There are so many reasons you would want to pay for something without a cart workflow - such as paying for a membership, making a donation, registering for an event, etc. Pay allows you to add a form element to just about any form, and it handles the payment workflow through one of its backends. It ships with a donation module to demonstrate this.

  • Geo, which stores data for mapping and Geocode, which collects and derives that mappable data from addresses, text, even data stored in photos. Lack of tests has been a thorn in my side for development on these.

  • Time tracking - I'm not sure if anyone is even using this, but we really (really!) want to get it out there for our own. It's pretty short and sweet, and attention would be welcome.

Thanks for running with this, Chach!

I'm hoping to be there too,

ronan's picture

I'm hoping to be there too, so I can help out if anyone is interested in working on Backup and Migrate or Node Heirarchy.

(I'll post links later when I'm at an actual computer and not on my phone)

Update

chachasikes's picture

Hey everyone. Happy Holidays!

So I am starting to get things ready for the sprint. It is just a little over 2 weeks away. I am planning the intro to tests workshop this weekend.

My questions for Allie and Ronan:

My goal is to have a list of possible tests, ready by Jan 2.
Would you be able to create some issues on your project pages describing some tests that would help out your modules?
*I am thinking 3-5 test ideas per module?
*We can tag them 'twin cities test sprint'
*(Allie, if you want to chat, drop me a message. I'm around this weekend.)

These, by the way, are the project pages for the modules Ronan has posted:
*Backup and migrate: http://drupal.org/project/backup_migrate
*Node hierarchy: http://drupal.org/project/nodehierarchy

Your modules are all Drupal 6, and we won't worry about what happens to your modules in Drupal 7 just yet. Ideally, picking some simple tests like 'see if data is stored in the database like this' or 'see if this function does X.' The people coming to the workshop will be brand new to your modules, most likely. I will be sending out a list of the possible test projects for participants to consider, ahead of time.

Update for everyone else:
There are still some spots left for the workshop. So invite your Drupal friends! I'll be putting out some reminders next week.

That's all for now,
Chach

Twin Cities

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: