With over two million public testers, Windows 10 is poised to be a bigger deal for software development and QA professionals than any previous OS release. What makes this release even more important is that Microsoft is offering a free upgrade to Windows 10 from Windows 7, Windows 8, and Windows Phone. Consumers therefore will be more willing to try the new version given the free upgrade. Add to that, a plethora of new features Microsoft is releasing with this release, testers need to be well prepared to ensure applications behave as expected on the new OS system. Some of the key features that could pose a challenge include:
Project Spartan
The new Microsoft browser, codenamed Project Spartan, is powered by a new rendering engine. Unlike Internet Explorer that was driven by Trident (MSHTML.dll), Project Spartan has EdgeHTML.dll as the rendering engine.
Microsoft won’t be getting rid of Internet Explorer anytime soon and Spartan has been designed with a dual-engine approach. Users should be able to run websites designed for old Internet Explorer browser as Spartan can switch between EdgeHTML and MSHTML. This essentially means that testers will not only have to test against both the browsers, but also ensure that the trigger to old IE engine occurs when legacy sites are being loaded.
Additionally, with Spartan, Microsoft has dropped support for VBScript. Microsoft’s unwillingness to invest in VBScript essentially means that VBScript is becoming less relevant and it is absolutely essential for testers and automation engineers to invest time in learning modern scripting languages. On the flip side, automation testing vendors too need to move away from VBScript and provide support for other modern scripting languages.
Among other new features, Spartan helps remove clutter from the web page and thereby makes the experience like reading an eBook. Users can even save pages for reading in an offline mode. Testers, as a result, would need to confirm that websites containing blogs, articles, or newsletters support this new feature. Additionally, ensuring end users are able to sync the saved reading list across multiple devices (PC, tablet, and phone) using the new browser would be important to test for.
Also, with Spartan, Microsoft recently spoke about its commitment to Selenium WebDriver. John Jansen, who is Principal Software Engineering Lead at Microsoft, mentioned that Microsoft is invested in Selenium WebDriver and is currently in the process of figuring out the details. With other major browser vendors already putting their weight behind WebDriver, Microsoft’s commitment signifies that we can expect automated testing using Selenium WebDriver to continue growing.
Universal Windows Apps
Through Universal Windows Apps, Microsoft has finally delivered on the promise of cross platform compatibility. Universal Windows Apps is great news for the development community in particular. It provides developers with a common Windows platform and one API layer across Windows 10 devices – desktop, phone, tablet, and Xbox. This means developers need to code only once for all Windows 10 devices. Add to that, store unification, which helps developers publish their applications across devices easily and thereby reach new customers. With developing and deploying applications across devices getting easier, we can expect the number of applications built on Windows 10 OS to increase.
One on the other end, with Windows 10, Microsoft is making it easier for consumers to use apps across devices. Consumers don’t need to buy separate versions of apps for separate devices. Users as a result would be more willing to try applications across multiple devices.
Accelerating time to market by ensuring testing doesn’t act as a bottle neck while releasing apps across devices would be crucial to balance the consumer demand for applications with the supply. An ability to reuse test cases across devices could come in handy while reducing testing time. Additionally, testers would also need to check their Windows 10 applications for backward compatibility with Windows 7, Windows 8, or Windows phone.
Continuum Mode
Windows 10 allows users to switch between a desktop and a notebook mode, commonly referred as Continuum Mode. Users just need to detach the keyboard from the desktop and then use gestures to interact with the touchscreen as if it were a notebook. The lines between desktop and notebook are therefore getting blurred.
With Continuum Mode, testers would need to ensure that the interface of the application remains consistent when a switch is made to a notebook mode from desktop. Also, hybrid notebook-tablet device means that it is not only essential to test for mouse controls, but also touchscreen movements. Gestures recording and replay will thereby be crucial to test these hybrid devices.
Testing Windows 10 APIs
Windows 10 plays an integral role in Microsoft’s attempt to be a dominant player in connecting the Internet of Things. While Microsoft has released many APIs with this release, Cortana and Office 365 are the most strategic ones. In fact, Microsoft’s virtual assistant Cortana API is now integrated with desktop and Project Spartan. This means end users can now leverage voice commands to interact with desktop applications or browser out of the box.
Checking for request and responses is the minimal testing that needs to be done to ensure these APIs work as expected. Additionally, many times, making a call to these APIs may be expensive or these APIs may not be even available for testing. Hence, creating mock APIs through service virtualization can come in handy here.
We at SmartBear see Microsoft’s Windows 10 as a meaningful attempt to minimize fragmentation in the mobile and PC device market, while also bringing cross device compatibility. However, testers need to be better prepared to reduce additional effort that might be required to test new and old applications on Windows 10 and be prepared for testing Windows 10.
Author:
Nikhil Kaul is Product Manager, Testing Products at SmartBear Software, the choice of more than two million software professionals for building and delivering the world’s best applications. Previously, he served Digité, a leading provider of collaborative enterprise software and solutions for Agile Application Lifecycle Management, in various roles including Senior Solution Executive. There, he worked with a variety of clients, from Fortune 500 customers to smaller accounts, which in turn helped him gain critical insights into the development, testing, and application life cycle management market. Nikhil recently received a Master’s Degree in Business Administration from Georgetown University, where he led the Georgetown Operations Club as VP of Technology. Follow him on Twitter @kaulnikhil.