Stats: Software Version Fragmentation

Software FragmentationJust how fragmented is the world of real-life, still-in-use software? More fragmented than you’d like to think.

Not only are you contending with frequently released operating systems and versions, the back log of versions you need to support isn’t shrinking as quickly as most developers would probably like. Just how old is some of the software people are still clinging to? Let’s look at some numbers.

The old standby browser, Internet Explorer, is famous for having users who aren’t the quickest to update. Despite repeated rumors of its demise, IE6 is still kicking ever so slightly (with less than 1% of IE market share), according to stats from W3Schools. Internet Explorer’s market share is mostly spread across versions 8-10, though IE 10 hasn’t quite caught up to the others. So, if you want to cover the entire fragmentation of Internet Explorer, you need to test on five different versions.

In the mobile world things aren’t any better. We’re up to the seventh major version of the Android operating systems (with several sub-versions mixed in). If developers want to support all versions with a sizable market share, they need to account for Gingerbread, Ice Cream Sandwich and Jelly Bean – all of which have more than 25% of the Android distribution. While it pales in comparison to the big players, Froyo still accounts for nearly 4% and even Eclair has almost 2%. Total: 3 major versions that definitely need support and 2 older versions that should possibly be considered (location and popular device manufacturer of your target market will be a major deciding factor).

iOS is less forth coming with their distribution stats but David Smith took a look at the users of his Audiobook app to give people a general idea of what overall version distribution might look like.

On all mobile platforms (iPhone, iPad and iPod Touch) users are overwhelmingly using OS versions 6+ (more than 80% of users). Step down a major version and you reach another 10%. Anything lower than OS 5 is pretty nominal and developers like David have stopped supporting these versions (which each grab 1-2%).

Audiobooks no longer supports iOS versions prior to 4.3.0. The population below these limits was below 4% when support was dropped. Residual usage will occur at these OS versions but no new customers are being added.

Now for the kicker. Windows XP was released 12 years ago and is still in use … by a lot of people. From CNET:

Microsoft’s XP operating system is still used on more than a third of the installations out there, according to figures from Net Applications. Is it really still that popular? …

On Friday, figures from Net Applications showed XP with a robust 37.74 percent of all Windows and Mac OS installations worldwide, down only slightly from 38.31 percent in April.

Desktop OS Marketshare

It’d be difficult to support all past versions of software and the hope is that if enough developers stop supporting it eventually these holdouts will update. In the meantime it’s important to pay attention to the version distributions in your field (be it mobile, desktop or web) and support as many versions that have significant users.

As with all data, don’t take these stats blindly. Do a little digging to figure out which versions are most important to your user base and be sure to develop and test for those. If you’re having trouble achieving test coverage in this fragmented world, crowdsourced testing can give you access to a lot more hardware/software combinations than you could ever house yourself. If you’re going to support multiple versions, do it right, don’t skip testing.

Essential Guide to Mobile App Testing

Harnessing Community in the New Development Life Cycle


uTestWith consumers having a greater voice than ever in what they expect from their apps, how do you build awesome apps that not only satisfy users’ appetites but work as they expect? Over time the software development life cycle has begun to evolve. While there are more inputs into the process than before, there are also more resources.

Join uTest and Cloudspokes as they co-host a webinar on unlocking the power of community development and testing. On Thursday, April 11th at 3 pm (EST) these two companies will discuss how the software development life cycle is shifting and how to get the most of out of these changes.

Learn about leveraging the crowd and hear examples of companies that have successfully crowdsourced their development and testing efforts.

Register today!



Essential Guide to Mobile App Testing

Crowdsourcing – A Solution for Individuals and Companies

crowdopolis-big-appleThose of you who follow uTest closely are well aware that crowdsourcing is an efficient approach, put to use successfully within our in-the-wild software testing services.  As the job creation in the U.S. continues to lag behind other aspects of the recovery, there is increased discussion around crowdsourcing as an under-utilized way to help increase both the skill sets and marketability of individuals while providing flexibility to companies still staggering from the 2008 collapse.

In a post on’s Global Business Hub Blog, our own Matt Johnston lends his thoughts to this very topic:

“The beauty of crowdsourcing is that, in this economy, no one would think it’s possible,” writes Johnston. “Individuals can actually take their future into their own hands, without worrying about the next round of layoffs, hours being cut, or office politics. For companies weathering the same economic challenges, it’s hard to imagine hiring more full-time employees, regardless of their qualifications.”

Johnston also points out how technology companies have been early adopters of crowdsourcing, using it “for project funding, software testing, IT services, localization and globalization.”

You can hear Johnston talk more about the subject in person tomorrow at the at the Crowdopolis conference in New York City.

To learn more about uTest’s crowdsourced community of professional software testers, follow @uTestcommunity and stay engaged via the community Facebook page.



Essential Guide to Mobile App Testing

How to Successfully Integrate Outside Testing Teams

Successfully integrate outside testing teamsThere are several ways to go about software testing. Some companies test entirely in-house, some outsource all their testing, some rely on beta programs, others use crowdsourcing. Many companies use a combination of testing scenarios.

“According to a recent report from analyst company Pierre Audoin Consultants (PAC), software testing is one of the most important tasks for 91% of IT departments, and almost all believe it is crucial to outsource this activity. The report also revealed that three-quarters of companies already use service providers with onshore and offshore capabilities to provide testing services,” wrote Computer Weekly.

So if you’re not keeping all the testing in-house, how can you be sure it will see be successful and up to your standards? It starts by being prepared, knowing what you need and having continued dedication to your choice.

Here are a few particular focus areas to make sure the integration of your in-house testing and outside testing goes smoothly and ends in success.

  • Know why you’re considering outside help

There are several reasons companies seek outside testing help:

- Limited in-house testing team
- Working with tight time frames
- You need an expert you don’t have on staff
- To free up your in-house team to deal with more important testing tasks
- To cover a wider testing matrix
- To ensure your product works in-the-wild

Knowing why you’re seeking outside help is vital to choosing the correct auxiliary company, having a successful experience and successfully integrating your in-house efforts with the outside testing.

  • Clearly define roles

Figure out what you’re going to keep in house and what you’re going to move to the new team. Redundant testing and small tasks (like regression testing or bug fix verification) are ideal for an outside team and will free up vital in-house testers to work on pain points, new features and critical bug fixes. Moving a portion of testing out of house is a great way to ensure testing is comprehensive and complete while allowing your in-house team to focus on what’s most important. Clearly defining the roles of each team with help keep everyone on task and avoid unintentional work overlap.

Continue Reading

Essential Guide to Mobile App Testing

The Phases of Mobile App Testing

Mobile App TestingWith so many mobile apps on the market your app certainly won’t last long if it is flawed. Anything from bad functionality, poor usability, slow load times or subpar security can sink your app. So how do you make sure your app is up to the task? By paying attention to testing from start to finish. Here are a few particular testing steps you can take from inception to launch.

The Brilliant Idea

You have a brilliant idea and recruit some awesome developers to make it come to life. At this phase of the process you should also recruit an awesome tester. Incorporating a tester into the team before the product is built can save you a lot of pain down the road. A tester looking over plans may be able to highlight potential problem areas that will require special care, or even identify ideas that flat out won’t work as designed. Being aware of these problems before developers spend time coding the application will save you time and hassle, making the entire SDLC run smoother.

You may want to also to bring in specific testing experts to look over designs. Specialized testers like security experts or usability experts will offer similar benefits as having a general tester on the team, but on a much more micro scale. It is easier to build a secure app from the beginning than going back and trying to patch vulnerabilities after a product is built. A security expert will know the most common vulnerabilities and can help you design around them before development begins. Similarly, a UX expert has a deep understand of best usability practices and what end users tend to like and dislike. Having a UX expert review design plans before a build can ensure you’re heading down a path that will lead to happy users.

Your Product is Ready for Testing

When you get through the planning and development phases and get to the point where there’s an actual app to test there are a few things you can do that will make your life easier and your testing more complete.

Find the Right Tools
Invest in tools that take limited maintenance and have an extended return. If the effort to maintain and run a testing tool is great than the benefit the tool provides it’s not worth it. Consider a versatile tool that fills multiple needs  – and thus provides multiple benefits for a single cost.

Apphance is a mobile testing tool that will carry you from version to version and through launch, offering multiple benefits along the way. Once you add the Apphance library your app you will be able to distribute builds to testers over the air and collect crash reports, bug reports, feedback and device information. After launch, Apphance continues to offer benefits by giving users a way to provide feedback directly to you from within the app.

Continue Reading

Essential Guide to Mobile App Testing