If you're like me you've probably been seeing a lot of things in the news about Microsoft's new operating system, Windows 10. Since Satya Nadella become CEO of Microsoft it seems like the company's focus has really changed.
Where the previous CEO Steve Ballmer used to describe Microsoft as a service and device company, Nadella has discarded that concept and has tried to position Microsoft as a company capable of working across any platform — even those controlled by competitors — to help people become more productive. A great example of this is Microsoft teaming up with Dropbox to provide better support for Microsoft Office suite.
I believe Windows 10 is one of the first steps in that vision. It has a lot of built-in functionalities that are really innovative, like their virtual reality headset HoloLens, and it contains a bunch of APIs that are going to allow developers to create apps that can do a bunch of different things. They also have their Siri-like “Contana” built in, so there are going to be voice commands and other API functionalities that developers are going to be able to tap into.
I recently got an Email from Jeff Martin of Smart Bear telling me that they have been researching Microsoft 10, trying to understand what their products are going to need to do to run on Windows 10. Jeff has also thought a lot about how Windows 10 is going to affect testers once it's released.
I covered many of these points in an episode of my podcast entitled What Testers Need to know About Windows 10 during which I interview Jeff, but I also wanted to create a post that lists the top five things testers need to know about Windows 10.
New Browser – Spartan
Spartan is a major deviation from the way Microsoft has always done business. I think they looked at a browser like Chrome and asked themselves, “How can we create a lighter, more modern browser to really render the modern web?” As a result they created a brand new browser with a new rendering engine called Edge.
Thanks to that new browser, Spartan is now much more lightweight than Internet Explorer and has better extensibility, which will allow developers to create plugins for it much more easily.
For Spartan, Microsoft got rid of a lot of the old tech that was making Internet Explorer such a bloated browser; for instance, it no longer renders VBScript, and document modes. Spartan is an entirely new modern browser.
This is good news for me in some ways, but it's also bad news because I work for a large company that actually has products that are only compatible with IE9 and IE10. If you happen to be in the same boat, there's no need to panic since Microsoft has not abandon IE. At least not yet. Microsoft has put a lot of thought into how to handle the way in which enterprise customers are going to be making this transition. The new browser, Spartan, can actually switch back to the old rendering engine (Trident) and essentially become Internet Explorer 11 when it needs to.
If you are a test automation engineer and have ever tried to automate IE, then you might be shaking in fear of having to support another Microsoft browser.
As you probably know, automating browsers like Chrome and Firefox are much easier to use, and test run faster against them. The good news is that since Spartan is the first Microsoft browser to actually follow all the W3C standards, it should be as easy to automate as Chrome and Firefox.
In fact, based on what I've read, the rendering engine that Spartan uses – “Edge” — will make it so that it will be more related to Chrome than IE. Check out the use agent id string that Spartan will use:
“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0”
Notice the key part is the “Chrome” bit: Edge is likely to be presumed to be Chrome (or at least closely related to Chrome), rather than Internet Explorer. The Edge/12.0 at the end is the only bit that discloses the true nature of the browser.
The bad news for testers is that because of the backward compatibility there are actually going to be five browsers that will need to be supported, because you will now have Spartan, Chrome, Firefox, Internet Explorer and Spartan switching to the old rendering engine.
In essence, you'll need to test Spartan twice — once with the new engine and then again when it's in the compatibility mode. The small piece of goodness about this is that IE will eventually be dead. That should be good news to any tester even though the initial transition will be painful.
VBScript is Dead
Rendering of VBScript websites is not going to be supported in the Spartan's Edge rendering engine. What this really signals is VBSript has been abandoned. It's not something Microsoft is going to be focusing on, making it pretty much obsolete.
If you use certain test tools, like QTP, that use VBScript as their underlying engine, this won't affect your scripts — but what does matter is, why should you being forced to learn a language that isn't supported by anything except your test tool?
If you're a tester that has been using VBScript for things like Windows administrative tasks, it's probably a good time to start learning PowerShell instead.
Universal Windows Apps
Universal Windows apps are what Microsoft is calling their idea of write it once – deploy it across every platform. Take the Windows store. Right now, if you wanted to write an app for the Windows phone vs. Xbox vs. Windows desktop, you would need to write three separate programs. Now, however, Microsoft is consolidating everything into Windows 10. Windows 10 forms one platform with a small device-specific layer on top, which means you can write your application just once and with a few small tweaks get it to deploy on all the different platforms.
What will this mean for testers? This change should make it easier to test across platforms because at the end of the day the application will be 99% the same with just a few small differences. Your applications, however, will need to be able to handle switching between user modes. And that switching will need to be tested.
You can't just test desktop mode and test tablet mode – you'll also need to be able to test the switching between the two, because when do things typically fail? When things change.
Continuum Mode is a set of APIs that lets you switch between a set of inputs, as well as adjust things like your screen. This is aimed at the UI swapping feature for dual PC/Touchscreen devices.
The way Microsoft built universal device apps to work on different devices is essentially just another API. It's important to test against, but it's not going to be a gigantic change. It's just a different use case that you'll need to consider.
It sounds to me like Windows 10 is really just a collection of APIs that allow Microsoft to get all these cross device-type things. In reality it's just a program sitting on top of a core API that you can depend on being stable; from there it's just a question of usage.
The complication for testers is that usage now has more consuming models. If you have one application on your Desktop and you switch to tablet mode, you don't want any interference with your applications. This change kind of brings together the bits and pieces that haunt mobile testers — like gestures and screen orientation. By the end of the year there are going to be a lot of computers for “back to school” time that will function as both a desktop and a tablet.
What Does All this Ultimately Mean for Testers?
If you're a tester or a developer there are going to be a bunch of changes you're going to need to deal with when you company moves to Microsoft 10. What makes this such a timely issue, however, is unlike Windows 7, which was a paid upgrade, Windows 10 is going to be a FREE upgrade to Windows 7 and 8, making the adoption of Windows 10 accelerate much faster than past OS upgrades.
This means that you need to get ahead of this now and install a technical preview version of Microsoft 10 in order to see for yourself the upcoming changes, and how they might impact the applications that you need to test.