A Tale of the Tester’s Machine: Why Testers May Be Moving Over to the ‘Mac’ Side

Sète, France | Photography by Raphael Awoseyin

Sète, France | Photography by Raphael Awoseyin

GIVE THEM THE USUAL

As testers, we didn't use to give much thought to our machines. Especially when we did only manual testing. The QA function wasn't any different from that of the business analyst in terms of computational needs. We got the standard company machine, which was most likely a PC. Even more so if the company was not particularly in the tech industry. All we needed was a machine that could run the software which we were testing. So what were we testing?

Through thick to thin

For all intents and purposes, when I say back then, I’m referring to the early 2000s and the end of the .com bubble. During this time period, commercial software was dominated by what we call thick-client software. These are applications that need to be installed, and mostly live and run on a user’s machine with the bulk of its functionality situated offline. One advantage of this is users don’t necessarily need internet or network access to use the application. But the drawback is the software is highly platform dependant.

Windows was by far the dominant platform among the general public all the way up to the early 2000s, as a way of consuming most thick-client software. Therefore, most software was geared towards this platform, while Linux was often an after-thought. Macs were pretty much left out of the conversation when it came to widely distributed software in the early 2000s. With this in mind, in the thick-client testing world, a PC was naturally indispensable for testing.

But slowly, with the rise in internet speed and availability, companies started moving more and more towards thin-clients. This meant relying mainly on network servers to accomplish key functionalities. For most companies, this meant the move to web apps, making software platform neutral via the internet. For testing, that came with the shiny red browser question. Which browsers should we be testing on? Up until 2008, I’d say the answer was clearly Internet Explorer at over 60%, with Firefox just below 30% according to StatCounter statistics. All the others; Chrome, Safari, Opera, were negligible. So, as testers, we stuck with our standard PCs and perhaps kindly asked for permission to install Firefox. And for all other browsers, we'll just add a little disclaimer saying our site works best with IE. Now it's your problem.

BROWSER Disruption & The Mobile Takeover

Browser usage trends. Courtesy of StatCounter

I believe there are three main things that happened which eventually disrupted our cosy suburban tester machine life. One is the rise of Chrome; A browser pushed through by Google who had no platform allegiances and virtually controlled the internet with their search engine. The browser wars suddenly became more interesting with its arrival in 2009 and showed a meteoric rise. So much so that by 2012, Chrome had achieved the previously unimaginable. It dethroned IE as the new dominant browser.

What did that mean for us testers? We started prioritising our tests on Chrome. Although, many companies still had IE as their ‘official’ browser, any web app destined for the general public was most likely going to be used on Chrome at some point. Selenium, which at this point was already becoming the bread and butter of the test automation world, favoured Chrome and Firefox, while IE and eventually Edge support remained rather flaky.

Chrome continued to rise and widen its lead, and by January 2019, Chrome accounted for just over 61% of total browser usage. This, when compared to less than the 3% using IE, is simply phenomenal. In fact, according to StatCounter in 2019, IE is no longer even in the top 5. Coming in even below Opera! Meanwhile, Safari, a browser normally not even associated with PCs has taken the number 2 spot at over 15%. But as we will later discuss, this change was in no small part due to the rise of mobile devices as a primary means of accessing the internet.

Given these new developments, for our cross-browser testing, shouldn’t we be prioritising Chrome and Safari? But wait a minute, being PC users, how are we suppose to test our application on Safari? Apple made a Safari version for Windows, but we all know no one in their right mind actually uses Safari on Windows. Furthermore, the Safari version for Windows was notoriously buggy (so much so that Apple quietly killed it). Safari is used by MacOS and eventually iOS users. So what do we do? Many companies just continue to ignore Mac users, while others invest in a token Mac machine for testing sessions. Another solution is cloud-based testing using services such as BrowserStack and SauceLabs.

Operating system usage trends. Courtesy of StatCounter

Alongside this was the rise of mobile devices and in particular Android and iOS which led to the eventual fall of Windows as the indisputable king of operating systems. In 2017, for the first time ever, Android became the most prominent operating system used by consumers, beating out Windows. Why? Mobile devices. People have gone mobile, and found out that most of their internet usage can be done directly from the convenience of their smartphone and tablet. Google, being the mother of Android, was already two steps ahead and made Chrome the official browser for Android with solid iOS and MacOS equivalents, further solidify its title as king of browsers. And then there’s Safari. By 2013, iOS had already overtaken Apple’s own MacOS at the number three spot, all thanks to the ever growing popularity of the iPhone. And of course, being consistent, Safari was made the official browser across Apple devices.

So to recap, in 2019, the top 2 browsers are Chrome and Safari, regardless of operating system or device. While the top three operating systems are Android, Windows, and iOS. With our ever increasing shift towards mobile, saying Windows has become negligible for mobile testing would be an understatement. Therefore, it follows that in a mobile first world, we need to prioritise tests on two operating systems and two browsers; Chrome, Safari, Android, and iOS.

DEVELOPMENT READY

Meanwhile, as testers, we’ve begun to do more and more development with test automation. Our needs have changed. I’m not sure exactly when it happened, but at some point the tide started to turn. Test automation and other technical software testing demands more processing power. Suddenly, our ‘business as usual’ machines aren’t cutting it. We need faster, better machines. The standard company laptop was too weak and slow. QAs started demanding so called ‘developer machines’. ‘Why do you need a developer machine? It's only for developers, and you don't do development.’  They would say. 'Yes, I do!’ We would reply. ‘ Just check out this code I'm writing…'. Albeit, many testers remained on ‘slow machines’ and some fortunate ones got the upgrade. Perhaps companies thought it was too pricey giving non-developers all that power.

Developers’ primary desktop operating system usage. Courtesy of Stack Overflow.

Now if you know the development world, many developers swear by their PCs or sometimes Linux machines. That's because these machines are generally more customisable, and cost-effective among other things. A developer's tinkering nature is nourished in such an ecosystem. So as a newly adopted foster programmer, you got your lovely new ultra powerful PC and smiled. 

A 2016 survey released by Stack Overflow showed that PCs are still by far the most prevalent primary machine for most developers. But some changes may be on the horizon. The previous year, MacOS had overtaken Linux as the number 2 primary operating system among developers, and the trend appears to be sticking, with Windows use expected to drop below 50% in the near future.

But even having a machine powerful enough for development is not enough. Testers need machines that can test on the main user platforms. We are caught between this secret society tech world and the general public. Since we are now dealing primarily with thin clients for desktop applications, the OS is of less importance. We want to test on browsers. This means Chrome and Safari as previously mentioned. But for mobile, on the contrary, we do care a bit more about the OS than browsers. Especially as we may be testing native apps. So this means Android and iOS.

THE RISE OF THE MAC

I'm not sure when it happened, but at some point, Macs stopped being a niche market. I honestly think this coincided with the success of the iPhone, which remarkably boosted Apple’s brand recognition. Following the release of the iPhone in June 2007, by Q1 2015, sales had skyrocketed from 51.03 to 74.47 million units compared to the previous year, eventually reaching a peak of 78.24 million in Q1 2017. The thing is, most people are not tech savvy. They go with products they see others using, peer advice, or simply whatever they can get. But regardless of what the users are doing, several things happened that fundamentally changed the way the tech world views the Mac:

Year to year iPhone sales. Courtesy of Statista

  • In April 2006, Apple embraces Windows by offering Boot Camp, a dual boot option for Intel-based Mac users to run Windows XP.

  • Programmers started using Macs for development as they didn't have a choice if they were to develop those popular iOS apps.

  • People started buying more Macs to sync with their shiny new iPhones. This can be seen in the near identical rise in Mac sales.

  • In February 2016, Microsoft, perhaps recognising the potential slip in popularity of its Windows-based C# language, acquires Xamarin, a tool for cross-platform native mobile app development using a shared C# codebase. The following year, Microsoft also introduces a MacOS version of Visual Studio, its popular C# development program. 

Year to year Mac sales. Courtesy of Statista

And while this is all happening, someone has to test to make sure the application works as it should. Macs are the only machines on which you can truly test both Chrome and Safari browser configurations. There has also been an insufficient supply of testers in the market and one way to attract them is to offer a shiny new MacBook Pro. It's what the kids want!

But the last straw comes from mobile testing. In particular, test automation. Anyone who has ever done mobile test automation can tell you it's a big pain the… let's say framework. Testing with emulators is fine, but if you wish to test on real devices, you'll quickly find that an iPhone plugged into a PC is about as good as a toaster plugged into a cat. Unless you want to settle for emulators, you need a Mac to run automation on an iOS device. It's just that simple. And funny enough, Android devices? They work seamlessly with a Mac.

What’s interesting is, in the mobile space, we've actually seen a slight shift back to the thick client paradigm. Applications are custom made for their operating system, taking advantage of device hardware, and need to be installed and run. But most features still remain dumb without a network connection. Lucky for Apple (and perhaps for us as well), Google was either never able to or not interested in making ChromeOS a replacement for Windows, choosing to rely on a cloud-based model. And in a world were Microsoft has no mobile OS to compete with, Macs take the cake as the cross-platform weapon of choice.

Half-eaten apple, anyone?

Needless to say, more and more companies have started to realise it may make more sense to just offer testers a Mac. Despite the cost, MacBooks are becoming the standard testers’ machine, and it may not be long before it also becomes a developers machine. Are we getting richer? Tech startups are obtaining more and more cash, and the tech industry is incredibly lucrative with venture capital funding climbing from 29.4 billion in 2006 to over $84 billion in 2017 in the US alone.  I'm not sure what this means for the PC industry. Reinvention? The Microsoft Surface Book is certainly a step in the right direction with sales more than doubling between 2014 and 2018. But unless either Apple starts being a bit nicer to PCs regarding iOS app development, or the world population starts to boycott Apple products, I don’t see the Mac adoption trend slowing down any time soon. Perhaps one day when the Internet becomes inconsequential, operating systems and even browsers as we know them may become completely irrelevant. But until then, the future’s pretty much looking like a half-eaten Apple.