Writing – Advice from Johanna Rothman

Just before Christmas (2020) Jabe Bloom asked this over on Twitter::

Johanna Rothmann‘s answers were short and easy to understand (but maybe hard to actually do):

I (publicly) agreed…

…and am now signed up to be informed when the book writing class opens.

It already showing some effect: I’m (re-) starting to update “Fast Feedback Using Ruby” (for the just released Ruby 3). 🙂

A Double Self Retro On Its Way To A Multi Self Retro

So, I read Bruce’s post (and the blog post it links to, as well 😄) over on Twitter:

I liked the post and Bruce wrote:

If you wanna join in, please feel free and I’m sure we’ll both be happy to share what you write!

Bruce, the legend

Thank you the invitation, Bruce (and Chris, I assume)!

What is this and why did you agree to do a double self retro?

We’re approaching the end of a year that swooshed by rather quickly (especially the part after mid-March) and which was … different, to say the least. To me, it’s worthwhile reflecting on what happened and where it has led to.

What did you think your goals were when you started the year?

Simply put: To survive. After battling cancer in 2018 & a good part of 2019, I hoped to return to some form of normal life. — As far as that’s desirable or possible after that time. I hoped to find a project to work on. And I did. In fact, I had the opportunity to (re-) join the same project (but different team), that I left way to abruptly due to the illness. It’s incredible to find such acceptance.

How did your goals change through the year?

After the first follow-up examination, when it was clear that everything’s totally fine, my doctor advised me to enjoy the summer. I took this as a goal, and am pleased to say: It worked well. I started to go swimming in the North Sea — and didn’t stop going (but I do stay in the water a lot shorter!).

How did you recalibrate in the year, when things changed?

They didn’t change that much. During the chemo therapy part of my treatment, I had to pretty much self-isolate, so I was used to it. It was ‘just’ that everybody else now also kept a good distance.

I also started working on “Softwarepeople … Work From Home“, a free ebook with contributions by people from all over the planet. I helped me to have a reason to contact folks and see what the situation is like elsewhere.

Highest point of the year

When people whom I admire & respect a lot agreed to contribute to the book.

Lowest point of the year

I had to have one (small, compared to what I went through before) surgery early March. Coming out of the hospital, into a lock-down, was frustrating.

Which item of clothing have you worn the most?

Probably this super-cosy jacket I bought on Rømø in Denmark. It has a few labels on it saying “Alive And Kicking”. Apart from being really comfy, I find that to be a nice fit to the whole situation.

Have you discovered any new tools?

I rediscovered GraphViz, a tool to, well, visualise graphs. I even wrote a small tool to turn tables that describe paths though a set of steps in to a graph description, that GraphViz then turns into an image file. I wrote posts about GraphViz and how I used it:

Best coping mechanisms

I started going to the gym very regularly, well until they had to close due to the pandemic.

Did any songs help you cope with the year?

  • Amy MacDonald – Pride
  • Neil Diamond – Beautiful Noise

and, I admit it,

  • Adriano Celentano – Prisencolinensinainciusol

TV shows that helped you cope

None.

Who is your favourite new friend of 2020, and why is it Chris?

Because, he’s Chris (Baumann). With apologies to the other Chrisses I know. I took the question verbatim from Bruce, and it explicitly asked for Chris (but not which Chris). 😃

What have you learnt about yourself this year?

Swimming helps me to focus.

Any regrets?

If any: That I didn’t switch from gym-based sport to home-alone sport faster.

What have you enjoyed?

Swimming, even since the temperature dropped below comfortable, working in my new team, the online edition of the Agile Testing Days and the coding puzzles at AdventOfCode.

What advice would you give to past you…January 2020?

I’d use the words of Douglas Adams: ‘Don’t Panic!’

After Updating to macOS 11.0 Big Sur

The Context

In my current project, we’re using Apache Tomat and Eclipse as the IDE. The Java Platform is Amazon Corretto 11. I’m using macOS and the working setup before upgrading was this:

  • Tomcat is installed using Homebrew:
    brew install tomcat
  • Java was installed by downloading the package (see link above) and running the installer.
  • I have set
    export JAVA_HOME=/Library/…/amazon-corretto-11.jdk/Contents/Home
    in .zprofile so the right Java version is used.
  • I’d start Tomcat from the command line and our tests from inside Eclipse.

This worked nicely.

After The Upgrade

The upgrade went smoothly for most of the software I am using: Other IDEs, installations of Ruby, Elixir, databases, REST clients, git, etc. all continued to work nicely.

The tests however failed in an interesting way: While basic REST calls worked (e.g. a GET request to retrieve version info), the tests that were using the actual functionality were receiving a plain “Internal Server Error” from Tomcat and the application logs showed some getContext method that ended up receiving null instead of the expected object.

Running the same tests on the same machine using the way the tests are started in CI still worked well. The difference between running from within the IDE & the command line: The command line starts Tomcat and runs the tests against that (and then stops Tomcat), while the IDE uses the already running Tomcat. — Aha!

The Solution

Tomcat logs several environment variables it’s using when it starts, among them JRE_HOME.

And this environment variable pointed to another Java environment, that came from a different source, had a different Java version, and furthermore was (obviously) incompatible with the Java environment set up in JAVA_HOME.

Pointing JRE_HOME to the same Java environment solved the problem and tests are running just fine again. Phew!

The documentation has a section about this (docs can be so useful!):

(3.2) Set JRE_HOME or JAVA_HOME (required)

These variables are used to specify location of a Java Runtime
Environment or of a Java Development Kit that is used to start Tomcat.

The JRE_HOME variable is used to specify location of a JRE. The JAVA_HOME
variable is used to specify location of a JDK.

Using JAVA_HOME provides access to certain additional startup options that
are not allowed when JRE_HOME is used.

If both JRE_HOME and JAVA_HOME are specified, JRE_HOME is used.

The recommended place to specify these variables is a “setenv” script. See
below.

…/tomcat/9.0.39/libexec/webapps/docs/RUNNING.txt in my Tomcat installation

Furthermore, there are comments explaining what to expect with respect to JAVA_HOME & JRE_HOME in catalina.sh:

# JRE_HOME Must point at your Java Runtime installation.
# Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
# are both set, JRE_HOME is used.

…/9.0.39/libexec/bin/catalina.sh. lns 61 ff

It’s still not entirely clear what caused this behaviour.
If you have an idea or ran into a similar problem, I’d definitely like to known about it.

Agile Testing Days 2020 – the Other Two Days

In a previous post I summarised the 1st day of the Agile Testing Days 2020.

Lean Coffee

2020 was the first year, I facilitated a LeanCoffee. Thank you Janet Gregory & Lisa Crispin for inviting me to help!
Since this was an online-only conference, we used a web application and Janet selected LeanCoffeeTable. I found it easy enough to use. I particularly like the ability that all participants can enter actions and learnings during the topic discussions as well as generate a PDF to summarise the meeting. I found this a very pleasant experience.

Here are some of the ideas and insights, I kept:

  1. No Testing Column
    I’ve learned that some teams entirely remove the testing column(s) from their boards. Obviously, this simplifies the board. But more importantly, it also seems to help teams integrate testing tighter with the overall development. This in turn supports teams working as one entity, and not as a number of people who happen to work on the same story.
  2. After all those years: So many topics about testing
    Even after years, in some cases decades in testing, there are still areas that one can learn about, drive into and possibly thrive in. The next point is one that surprised me a bit.
  3. Automated accessibility testing
    At least some parts of accessibility (commonly abbreviated a11y) testing can be automated. More on that later.
  4. Productive ensemble testing
    Test in an ensemble testing (formerly known as ‘mob testing’, similar to mob programming) can be productive even with people that haven’t worked together. This was mentioned by a Lean Coffee participant who joined a group of people (with whom they never worked with before) for a testing session. To their surprise people worked together quite well.

The Last Talk On Software Testing

I had the great pleasure to moderate Rahul Verma’s talk ‘The Last Talk on SoftwareTesting’, where he explained were he thinks the business of tasting (no typo!) went wrong. Entertaining, hilarious and light hearted. And thankfully not actually the last talk on software testing at all. Here’s a very nice summary by Ekaterina Budnikov:

Automated Accessibility Testing

I participated in Cecilie Haugstvedt‘s workshop ‘Automatic Accessibility Testing for All‘.

I was really surprised how far automated testing of accessibility is possible – and how easy it is to get started! In addition to that, I found it interesting that automated a11y (the common abbreviation for accessibility) tests can and should be divided into unit and integration tests.

An important learning: The tests that check contrasts (e.g. of text and background) are integration tests: Most often colours are set site using CSS, so not every article, product description etc. needs to be checked individually. Also the computation of how good (or bad) the contrast is, seems to be more time consuming than I thought it is.

For a first step to get some idea of accessibility of a page in Chrome: Using “CMD-OPTION-I” (on a Mac) or “View ➙ Developer ➙ Developer Tools” (via the menu) open the developer tools. Then go to the ‘Lighthouse’ tab & click generate report.

Moderating a New Voices Track

I also really enjoyed moderating Chris Baumann‘s talk ‘Extreme learning situations as testers’. The talk & topic were so good, some of the attendees stayed in the Jitsi room to discuss the topic for the whole next time slot! The following tweets cover some of the ideas & insights Christian shared with us:

Thank you Mariia for the wonderful summary!

Do you also have insights and ideas you took home (where you probably were all the time anyway, this year)? What are they?

Navigation

%d bloggers like this: