Testing Guide Status (and other updates)

Testing Guide Status (and other updates)

I just wanted to post a quick update on Testing Strategies for Modern Perl

I’ve been slowly working my way through it. I’m about 4,200 words through chapter 3, which focuses on reusing test code.

So far I’ve covered:

  • factoring common data out of test methods,
  • how to refactor tests safely,
  • creating custom test assertions,
  • parameterized setup,
  • table-driven tests, and
  • shared test modules.

I have 3 sections left to complete—on test fixtures, inheritance, and the Test Hierarchy antipattern—plus a conclusion and an introduction.

The book also has a new cover! (That’s the image shown here.)

We’re going to start releasing regular alpha versions (minimally edited) on the testing-guide email list, rather than making everyone wait for the next chapter to be completed. “Release early and often” and all that. And we plan to watermark (as it were) the draft content so readers can easily identify which parts are new.

Chapter 4 is planned to cover test doubles (fakes, mocks, and stubs), and chapter 5 will be about writing testable code.

…and other updates

We’re putting together a public Perl Slack. We’ve also developed a self-signup script—deployed as a Perl CGI; and no, that’s not actually as 1990’s as it sounds. I’m looking forward to telling the whole story.

I’ve also got posts in my idea list (which my spellchecker is insistent about correcting to “idealist”—no, that’s not what I want to say) about training and coaching as alternatives to outsourcing and staffing, cool Perl 6 features, what excites me most about Test2, the 3 scopes of software testing, and our top N software development best-practices.

I’m working my way slowly through videos of the talks from TPC 2018. Let’s talk more about Perl as an ecosystem, following on the “viability of Perl” post from last week, building on VM Brasseur’s excellent keynote.

For now, Deven Corzine’s lightning talk, “Ancient Regex Regression” deeply entertained me.

May all your text turn from red to green…

Tim King is Lead Developer at The Perl Shop. Tim got his start writing real-time embedded software for high-speed centrifuges the 1980’s and went on to do embedded software for Kurzweil Music Systems and Avid Technology. He has been developing for the web since the web existed, and brings discipline and skills honed from embedded systems to enterprise software. His expertise is in designing for software quality, achieved through automated code testing, test-first development, and risk managed refactoring, all through an agile process. This approach naturally lends itself to working with legacy code, such as successfully and safely refactoring a 465-line legacy function used in a video streaming application into a structurally sound design. Or designing for maintainability, through cleanly layered architectures, like a web service that can handle multiple RPC protocols using a common controller and a thin view layer, that can easily be supplemented to handle additional protocols. Tim is skilled in Perl, JavaScript, and other programming languages, in Internet protocols, in SQL, and is familiar with the internals of a variety of open source applications. Tim also writes and performs music, and has authored and published a number of inspirational books.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.