Testing And Related Discussions In Software

Movies

The other night I went to see First Man, the Neil Armstrong biopic, directed by Damien Chazelle, and starring Ryan Gosling and Claire Foy. Without going into too much about the plot (basically the follows Armstrong’s life during the Gemini and Appollo Missions) and quality of the film, I can tell you it is an absolute masterpiece. Check out the trailer here before you go and see it yourself.

This film brought to me a thought on risk. In software testing, we think about risk all the time. The risk to the product, projects we are a part of, the team, even the company. Being a stakeholder in testing, as part of product development involves a lot of risks. However, one area of risk we rarely touch on is the risk to human life, and the cost thereafter if the worst should happen. It’s not something that really comes into the realms of possibility, unless we are testing safety-critical software, as part of a larger system, such as an aeroplane, medical device or defence system.

During the missions that Armstrong worked on, many men and women had to deal with the risk that human beings would be harmed as part of the endeavours of sending someone to the moon. Armstrong and his team were at the heart of that. Many of his colleagues were killed or injured, either during missions themselves, or during Earth-based testing of the equipment they were using.

Take the testing of Appollo 1 and subsequent deaths of astronauts Ivan ‘Gus’ Grissom, Ed White and Roger Chaffee. They died during the ground testing of the command module. According to the report that followed, the fire that killed them was caused by an electrical fault, the nylon material used in pressure suit construction, and also the pure oxygen atmosphere of the capsule at the time.

The crews of these missions were in themselves a crucial part of the test data. If any of them were physically or mentally incapable of performing their tasks, then they either wouldn’t have been allowed to take part in missions. The lives of the people involved, as well as the financial and political cost of such missions, would have been too great. They knew the risks, and they understood them. They took the ultimate test. They were the test!

When I think about the risk concerns of the software I’ve worked on in the past, it’s often hard for me to disassociate from the ultimate risk of that product failing. It’s probably why I am so interested in security as a concept. For me, it’s one of the ultimate tests that a software tester can undertake. What can you do to undermine the systems you build, so that you can then protect them?

During the movie, I tried to consider what heuristics they had for solving the problems they encountered. I also considered what oracles they might have looked to when building up a picture of what was important for them right then. The scope seemed to be endless. The mind boggles of the complexity of the task.

Human life seemed to me to be at the heart of the story of this movie. Not only in the grander endeavour and global impact that the success of the Appollo missions had on the world, furthering our desire for scientific exploration of space.

I salute everyone who was involved in these missions, whether they were mathematicians, computers (see Hidden Figures) physicists, engineers, administrators, or the astronauts and their families. I also salute those who came after them, during the Space Shuttle and Soyuz projects. They weren’t just test data, they were the greatest pioneers (and testers) the world has ever seen.

I’m running a tutorial at ATD 2019

Follow me on Twitter

Dan Billing

I'm a software test engineer of 17 years, and recently I decided to go it alone as a consulting tester, founding my company The Test Doctor Limited.
I love testing and all its wondrous variety. I like to help others become better testers by attending events, speaking, blogging and giving training.
Most of my current work focuses on testing strategy across the whole of the clinical trials suite that we build. This includes any kind of testing, from UI, API, performance, security, mobile etc. Whatever needs to happen.
I'm also building on the training, coaching and learning I've picked up elsewhere, and bringing that into my new team.
I enjoy running workshops and speaking, especially in the technical testing and security space; and to a lesser extent the psychology of what testers do.
Hopefully, It'll make me a better tester too!