Excel Chorizo Gravy

This post is part of a series where I review some food and then I review some aspect of software development.

Food: Frothy Monkey, Chorizo Biscuits and Gravy with Over Medium Eggs

Thoroughly disappointed in the biscuits and gravy. Lets start with the biscuit. It's thick, grainy, and overcooked on the bottom. I don't know why so many places cook biscuits like this for biscuits and gravy. B&G should have flaky light biscuits covered in consistent thick gravy. Biting into hard, grainy and chewy chunks of biscuit distracts from the creamy consistency of the gravy.

Now the eggs. I'm not the biggest fan of over medium eggs, but I understand why people like them. However, breaking two over medium eggs (which came out more like over easy) over one large biscuit with a ladle of gravy on top turned the dish into biscuit and gravy soup, with raw egg yolk as the broth. It completely overpowered the rather under flavored chorizo gravy, which I ceased to be able to taste after breaking the eggs.

So now we have chunks of grainy, hard biscuits floating in raw egg yolk.
The dish could be made MUCH better in three steps:

  1. Give a shit about the quality of the biscuit. We want a light, flaky biscuit.
  2. Dial up the chorizo gravy so that it's the star of the dish. It's hard to imagine bland chorizo gravy but here we are.
  3. Firm up the eggs. The liquid yolk ruins the consistency of the gravy. A soft scramble would be perfect.

Code: Specifying test cases in Excel

Maybe I'm in a bad mood from my biscuits, but I can't think of anything positive to say about this.

For those of you wondering, it's common to use Excel to specify test cases for large automated UI testing suites. This is largely because automated UI testing is an area where we try really hard to include "non-developers" in the process of creating tests. This makes sense, because these tests are usually on the scale of user interactions (functional tests that launch a browser and use the website like a user would, using selenium, cypress, or similar). Incorporating excel datatables into important user stories means that non developer stakeholders can "create a test" by adding an entry
to an excel sheet! It's a noble goal, but I think a failed one.

Excel sheets are stored as binary files. As soon as a few people start editing excel sheets to run test cases on their own, you will be in a shit storm of merge conflicts. You also end up with an "implicit ui" of sorts. Some cells are required, some are optional, some can only take certain inputs, and some are out of date and don't get used. Documenting this in the excel sheet isn't really practical, because you want to parse it as a csv list of tests cases. It also slows down the developer process. If you have to run test cases from an excel sheet, you end up having to edit an excel sheet to run certain cases. Finally, the non technical users will not like using git or an IDE or anything like that, and so will likely begin maintaining their own changes to test cases that aren't properly merged into the existing suite.

If you're dedicated to using excel, at least save the files as CSV, so that git can do a proper diff on merges. A better idea would be to use a more expressive format that more easily translates to code, like JSON. I would recommend instead keeping your test cases as code in some way. Many test frameworks have support for specifying "test cases" above a test template. If you don't want to use one of those, write a macro or even just a for loop. You will get the help of your languages analysis tools and potentially it's compiler, which will make strange errors when running tests much less common. The test report should clearly show what is under test, and non developer stakeholders can simply request a test case be added.

The main thing is is: Usually, we write test cases in excel when we want some users of the framework to be able to escape the complexity
of writing code. But you have not escaped. The complexity will show up in maintenance issues, merge conflicts, and time spent supporting non-technical users.

Subscribe to BenIsOnTheInternet

Sign up now to get access to the library of members-only issues.
Jamie Larson
Subscribe