Skip to main content

Short talks from the morning

I went to three talks in the morning session, which were loosely centered around the theme of testing and extreme programming:

Extreme Programming with Python in the Classroom
Michael Weigend

Michael's students in Germany used Python to create an English text editor for grade school students and a chat room program. They used XP concepts like user stories, big visible charts, test-driven development, and small iterations. One interesting bit of teaching methodology: Michael taught his students simple GUI programming techniques by just giving them pieces of working source code and letting them explore. I thought this was great, because it mirrors the way most kids learn to use computers in general (start using this thing, and see what happens). GUI code is especially well-suited to this, due to the visual feedback, and Python sweetens the deal, since the visual feedback is so immediate.

py.test and the py lib
Holger Krekel

PyTest was started because the unittest module was "unpleasant" to extend. It's currently used in the PyPy project, among others. Holger made a couple of main points about PyTest:
  • PyTest itself is external to your code. The metaphor is that it is running against your code. So unlike unittest, you're not responsible for invoking the test code within your test.
  • There are some neat features like test generators, which are generator functions that generate more tests. PyTest then runs all of these generated tests.
  • He emphasized the user-friendly stack traces in PyTest, which did look nice.
  • Finally, he spoke a bit about other parts of py.lib, including py.execnet, which allows you to send snippets of Python code elsewhere via SSH, popen, etc. to execute remotely.
The talk on PyTest was pretty good, but since I'm already a bit familiar with the unittest module, I would have liked it if Holger had taken a bit more time to distinguish PyTest from unittest.

Agile Testing with Python Test Frameworks
Grig Gheorghiu

This was a grab-bag talk that gave us a quick look at a lot of Python testing frameworks, most of which looked pretty neat, and many of which I'd never heard of before. I'll try to come back and turn these into hyperlinks. For now, here are there names, and short descriptions of the cooler ones he demoed:
  • PyLint
  • coverage
  • buildbot
  • PyUnitPerf, which adds time and load constraints to unit testing.
  • FitNesse, which allows the user to specify test inputs and expected outputs via simple HTML tables (even generated via a wiki, as they were in his example).
  • Selenium, which is a Javascript-based tool that uses your real web browser to execute scripted tests on the web. (Seemed kind of like Greasemonkey, but for testing). You can watch your browser zip through the test, step quickly or slowly, etc. It was very impressive to see.
  • Mentioned that Jython is enjoying a lot of popularity for testing Java code (all the advantages of Python for testing, but the main body of your code stays in Java).
  • Recommended avoiding an "automation cathedral." You should have exactly the amount of daily test automation that your current needs dictate.
  • Finally, pointed us to his blog on agile testing.


Popular posts from this blog

PyCon 2018 Registration is Now Open!

We’re thrilled to announce the opening of registration for PyCon 2018 in Cleveland, Ohio! The prior six PyCons have sold out, so prepare for another one and get your tickets early. The first 800 tickets sold are priced at an early bird discount, saving over 20% on corporate tickets and over 12% on individual tickets. Students save $25 if they purchase early!

To get started, create an account and head to to get your tickets!

You get a package that is hard to beat when you register for PyCon. The conference itself is three days worth of our community’s 95 best talks, amazing keynote speakers each morning, and our famed lightning talks to close out each day, but it’s much more than that. It’s having over 3,000 people in one place to learn from and share with. It’s joining a conversation in the hallway with the creators of open source projects. It’s taking yourself from beginner to intermediate, or intermediate to advanced. For some, it’s getting st…

PyCon Opens Financial Aid Applications

Even though PyCon prides itself on being an affordable conference, registration is one of several expenses an attendee must incur, and it’s likely the smallest one. Flying, whether halfway around the world or from a few hundred miles away, is more expensive. Staying in a hotel for a few days is also more expensive. All together, the cost of attending a conference can become prohibitively expensive. That’s where our Financial Aid program comes in. We’re opening applications for Financial Aid today, and we’ll be accepting them through February 15, 2018.
Once you have an account on the site, you can apply here or through your dashboard.
We offer need-based grants to enable people from across our community to attend PyCon. The criteria for evaluating requests takes into account several things, such as whether the applicant is a student, unemployed, or underemployed; their geographic location; and their involvement in both the conference and the greater Python community. Those presenting at …

Introducing the PyCon Hatchery Program

PyCon is known around the world as the Python community’s premier event, attracting people from 39 countries. Outside of the main track of talks, PyCon is home to a growing number of additional events such as Young Coders, the Education Summit, Language Summit, Poster Session, among others. The conference strives to be globally representative by promoting diversity and inclusion through these additional events and outreach programs.
Our community works to meet these goals year on year. In the past, we have received requests to add events to PyCon but have not had the resources to make them work. Although we are still limited on staff resources, we are proposing a stepping point that may lead us in the right direction. What is the end goal?We want to support our community and enable them to add events to PyCon that are important to our community. The long-term goals of this program are to support and grow sustainable events that will become a recurring part of PyCon itself or find a home…