Learnings from the "A Philosophy of Software Design" applied to testing

77 views
Skip to first unread message

Walmyr Lima e Silva Filho

unread,
Jan 11, 2025, 7:15:33 PMJan 11
to software-design-book
Hi John, I hope you're doing well.

Since I read your book and watched some of your talks, I decided to apply your teaching methodology with groups of quality assurance engineers (and a few developers) in a mentorship group called Test Design Masterclass.

The idea is similar to what you teach in the CS190 course at Stanford University.

The mentorship takes a whole month, with a two-hour video call per week where I teach my students what I call the Elements of Test Design. These are fourteen things I consider essential when writing automated test scripts of any kind (unit, integration, e2e, etc.)

I wrote about the 14 elements in a blog post called Test Design: What Everyone Should Know About Test Automation.

Besides the theoretical part, the mentorship involves test automation exercises.

For that, I wrote a web app (using Node.js and React), and the students have to write tests for its API, for the frontend isolated components, and for the whole frontend completely integrated, besides a11y checks.

Depending on the student's seniority, the exercise levels are different.

For Jr. students, they only have to write one API test and a few simple GUI tests.

Mid-level students must write all the previously mentioned tests, a few more API tests, and a11y tests.

Sr. students have to write all the previous tests, plus frontend component tests and tests that decouple the frontend from the backend.

Finally, I propose all previous tests and an optimized continuous integration pipeline for DevOps engineers.

The students have around 5 days to do as much as they can. After that, they create a pull request on GitHub so that I can review their code and provide them with constructive feedback so they can improve the design of their tests, taking into consideration all the Elements of Test Design.

We repeat the cycle three times, and at the last meeting, I show them my solution to all exercises to provide them with a project to look up when in doubt.

I encourage them to review each other's code, but there's little engagement.

I have run three mentorships for 38 students, and the results have been great.

I even introduced a couple of reviewers to help me do the work for the last group, and it's been quite a pleasant experience. They were two of my best students from the previous groups.

With all that, I want to invite you to chat about this experiment on my YouTube channel: @TalkingAboutTesting.

I look forward to hearing from you, and I wish you an excellent year in 2025!

All the best,
Walmyr

John Ousterhout

unread,
Jan 15, 2025, 2:06:44 PMJan 15
to Walmyr Lima e Silva Filho, software-design-book
Hi Walmyr,

Thanks for posting about your experiences with a test design class; the class sounds interesting.

-John-

--
You received this message because you are subscribed to the Google Groups "software-design-book" group.
To unsubscribe from this group and stop receiving emails from it, send an email to software-design-...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/software-design-book/d011f188-2a4f-40b1-aafc-c6b1cc05a0d6n%40googlegroups.com.

Walmyr Lima e Silva Filho

unread,
Jan 29, 2025, 9:52:49 AMJan 29
to software-design-book
For those interested in the chat I had with Johh, here's the YouTube link: https://youtu.be/vDjoE2dsnOE?si=obMqk5HnccLsD4ge

John, once again, it was a pleasure chatting with you for an hour.

Thanks!

Reply all
Reply to author
Forward
0 new messages