Weird and Wonderful Edge Cases

Plus: the CrowdStrike-Microsoft chaos

Happy Tuesday! What was special about 29th February 2024? It was a leap day. Despite occurring every 4 years, surprisingly, some of the world’s biggest companies forgot to build software that could handle this day.

In Sweden, card payments at ICA, the country’s biggest supermarket chain, went down. In Colombia, the ticket printing system at Airline Avianca, the country’s biggest airline, printed tickets as 1st Mar instead of 29th Feb. A racing game by EA sports, which was only released in Nov 2023, became completely unplayable, and users had to manually switch the date to 1st March.

IN SIMPLE ENGLISH

Edge Cases

What is an1 edge case: a rare and unexpected situation in software development and testing that is not typical or only happens in extreme situations.

  • a user inputs a birthdate of 01/01/1900

  • Elon Musk enters his son’s name, X Æ A-Xii, on a form that only accepts alphabetic characters

  • an event is scheduled for 29th Feb on a non-leap year

Where: edge cases2 can be found in3 any system, application or process.

Why: understanding and handling edge cases is very important to avoid bugs, crashes or weird behaviour.

How: to correctly handle4 edge cases, the developer or tester should have strong knowledge of the product or system and proactively consider user behaviour.

Let’s look at some famous edge cases. 

  • Jeff Bezos, founder of Amazon, revealed that in the early days of the company, “we found that customers could order a negative quantity of books, and we would credit their credit card with the price” (Business Insider)

  • Y2K bug: When computer programs were first written in the 1960s, engineers used the format YY (e.g. 67) instead of YYYY (1967). As the year 2000 approached, many believed that systems would misinterpret '00' and cause major chaos. Companies and governments spent billions of dollars to create patches and workarounds, which in hindsight, seems to have been completely unnecessary. (National Geographic)

1  use the indefinite article ‘an’ since ‘edge’ starts with a vowel

2  plural: edge cases, singular: edge case

3  use the preposition ‘in’ to specify where the edge case occurs & use the preposition ‘for’ to specify what the edge case is related to

4  other collocations include: identify an edge case, test for edge cases, consider edge cases

IN THE NEWS

The CrowdStrike-Microsoft chaos

A few weeks back, you probably heard (although possibly not, if you’re in Asia) about one of the biggest IT outages ever.

Computer systems around the world went down when cybersecurity firm Crowdstrike released an update with a faulty file. The crash affected Windows systems, taking out banks, airlines and healthcare businesses globally.

Crowdstrike identified and isolated the issue and rolled out a fix. Despite it being a simple fix, it still caused chaos with so many companies using both Crowdstrike and Windows. Even one week later, 3% of systems were still not back up and running again.

Phrase

Meaning

went down

phrasal verb - stopped working

outage

noun - the period of time a system stops working

released

verb - made available to the public

faulty

adjective - has errors

taking out

phrasal verb - causing something to stop operating

isolated

verb - separate to reduce negative affects

rolled out

phrasal verb - launched

fix

noun - a solution to a problem

back up and running

idiom - fixed and working again after being broken

QUIZ

(Answers at the bottom of the page)

Question: Which two phrases can replace “roll out” in the phrase “roll out a fix“

A: Remove a fix

B: Deploy a fix

C: Release a fix

D: Stop a fix

DESCRIBING DATA

The impact of redundancies

72 hours after the previously mentioned Microsoft-CrowdStrike outage, most major US airlines were back online - except for Delta Air Lines.

Why could this be?

With months on the x-axis and IT headcount growth on the y-axis, the above chart compares the change in the number of IT employees at four major US airlines over the last 12 months. It’s clear that Delta has shrunk its IT team while its competitors have increased theirs.

This example might make companies rethink the importance of investing in a skilled and robust IT team to effectively respond to major incidents.

LEARNING TOOLS

How to talk about testing in English

We can see from the stories above how important testing is for developers, engineers and analysts. With chapter 2 of the English for Programmers textbook, you can make sure you’ve got all the tools and skills for talking about testing in an English speaking team.

  • Do you know the difference between a sanity check and an ad hoc test?

  • Have you tried using parallel structure to make your documentation more professional?

  • Can you understand British English colloquial language in the context of code reviews?

JOBS BOARD

Fully Remote Jobs

Senior Product Manager at Toggl
€75,000
Apply here

RevOps Data Analyst at Hostaway
Competitive pay
Apply here

Senior Systems Engineer at Automattic
$110,000 - $210,000
Apply here

Quiz Answer: B & C (deploy and release) - it means to implement a solution to solve a problem/bug

Like what you see? We’ve got lots more resources on our website!

And as always, you can still submit your anonymous feedback and requests here.

Reply

or to participate.