- Speak Tech English
- Posts
- Weird and Wonderful Edge Cases
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
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