What is the System Under Test? A tale from Gallic Wars

By Ssolbergj — Own work, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=2992630

September, 52 BC, Alesia, Gaul

Julius Caesar was waging wars in Gaul for six long years. He thought he had conquered Gallia for the glory of Rome, but in 52 BC a young, ambitious, and charismatic chieftain, Vercingetorix, managed to unify the Gallic tribes and revolted against Romans. Caesar pursued Vercingetorix and his fellow soldiers. Vercingetorix retreated to Alesia[1], a large fortified settlement, together with his ca. 80.000 fellowmen.

Sketch of the Battle of Alesia, drawn by Muriel Gottrop

Vercingetorix’s surrender

Caesar is going to receive Vercingetorix personally in his headquarters. He is aware of the desperate situation of the Gallic hero. Envoys sent by Gauls already negotiated the conditions of surrender. The next day, Vercingetorix should go to the camp and lay down his arms.

Ancient Rome and modern testing

I told this story to introduce an analogy between human interactions and the world of software testing (though wars and prisoner taking are nowadays are much rarer than 2000 years ago). What relationship do the main story characters have with the components of an automated test? Caesar is our System Under Test — something that we will be testing and checking. We will send him stimuli (Vercingetorix) and we will watch his reactions to them — what will be the final Vercingetorix state and which interactions will Caesar have with his subordinates (Labienus and Brutus).

Vercingetorix throws down his arms at the feet of Julius Caesar. Painting by Lionel Royer.

Epilogue

What happened between Julius Caesar and Vercingetorix in real life? Caesar in his “Commentaries on the Gallic War” is very laconic about the event and doesn’t describe the ceremony.

Enduring software engineer and long-distance cyclist