Weekly hmms: Fowler, collaborations, HTML, and CTS

New week, new hmms!

Martin Fowler and exploratory testing

All testers' slack groups, forums, and blogs erupted this week with the tidings of joy: Martin Fowler wrote a post about exploratory testing. Of course, it seems a bit late and cursory, but at least now we have a very respected source to point to.


Mob programming

Finally found time to read a “Mob Programming Guidebook” by Maaret Pyhäjärvi. I’m not entirely sure about applying it at the moment, but it looks like an interesting method for knowledge sharing facilitation.

And contributions style roles can be reused as hats in other activities:

  • driver (intelligent input device)
  • sponsor (supporting others from a unique position)
  • nose (noticing things about the code)
  • navigator (translating ideas into code)
  • researcher (having better information available)
  • automationist (recognizing repetition)
  • conductor (enhancing others contributions)
  • mobber (always contributing in different ways)
  • rear admiral (helping designated navigator do better and learn)
  • archivist (improving team visibility)

Tips for code review

Google Testing blog is still alive and has posted a nice short guide about being a good code reviewer. The best thing is that there are not only tips for reviewers but also for authors. Likewise, they could and should be applied for issue reports and other communications.

Validation for email inputs

Standards are weird. We had a tiny funny problem this week with an OpenAPI spec and a format: email. The context:

  • SwaggerUI generates input fields, and with this format it will have type=email.
  • When I don’t care about cross-browser stuff, I use Chrome.
  • Our middleware seems to validate email formats, somewhere very deep in dependencies.
  • We also have a custom validation.

First, I checked a request with a garbage email. It failed on the middleware layer. Then I checked an email with non-ASCII characters, but our validation failed. That meant that validation in middleware was passing; therefore, its validation checks were better than ours.

The dev who worked on fixing the bug noticed an interesting behavior. If you use Firefox to open SwaggerUI, it will add a red highlighting for an email input field when a value contains non-ASCII characters. According to the MDN docs, this is a known problem due to HTML5 issue. The specification proposes using a simple regex for validation!

Chrome does not complain about internationalized values. And it means that Firefox implemented HTML5 spec too well, introducing a confusing behavior. Oops.

Carpal tunnel syndrome

I wasn’t diagnosed with CTS (yet), but my posture at home is awful, so my right hand hurts. I don’t have a proper desk and usually I sit with a laptop at a round table. Thus, there is not enough room to position a “mouse” hand.

A year ago I bought a cheap Anker vertical mouse. It’s great, even with my shitty habits I have had no pain. But it’s wired, and soon I’ll need a wireless one. Logitech is always my first choice in this case because it doesn’t drain batteries too fast. Unfortunately, their only vertical mouse is unreasonably expensive, so I’ve decided to experiment with their M570 trackball.

It’s cool that you don’t need to move your hand at all, but the pain has returned: it looks like vertical mouse works better for small spaces. For a trackball, you should be able to lay down your hand somewhere fully. Though, the more expensive trackball model can be vertically adjusted. Anyway, I’ll get a real own desk soon, will see how it goes.