News from the Worlds of Software Development and QA — August 2016

Welcome to this month’s news digest where we take a look at a few of this month’s interesting stories from the QA and software development worlds. If you are interested in checking out some technology news from July — including the hottest technologies for software developers — simply follow this link. Hopefully, this month’s digest offers some insights relevant to your daily work.

Outsourced Software Testing Market to Grow

A recent study from Research and Markets noted the global outsourced software testing market is slated to grow at an annual rate of 10.8 percent through the end of the decade. Part of this growth is expected to be driven by a shift towards business outcome-based metrics which is a sign of the continued maturity of the overall quality assurance market as these outcomes are able to be defined more clearly.

The study reported some of these reportable business impacts include: customer satisfaction, client revenue, the length of the QA lifecycle, as well as the overall release time. Yet another Cloud-based service acronym — TaaS (Testing as a Service) — was also noted by the study. As businesses continue to eschew their own in-house IT functions for Cloud offerings, the growth of the outsourced QAaaS or TaaS market makes perfect sense.

SAP developing Software at a Faster Pace

One of the main reasons why enterprises continue to embrace modern software development methodologies and practices like DevOps and Continuous Deployment is to speed up the process of application enhancements and fixes. The German ERP software company, SAP, recently reported they enjoy a software development lifecycle four times faster than only a few years ago. This news was told to the Wall Street Journal.

Company CFO Luka Mucic described the faster nature of their SDLC. “A couple of years ago, SAP would have released a major update to their core business suite modules every two years. Nowadays we are down to half-yearly development cycles,” said Mucic. The use of Cloud-based services, automation, and leveraging modular software designs are the major reasons behind SAP’s process improvement.

No Man’s Sky swaps out their QA Team

The development company behind one of the more popular new videogames, No Man’s Sky, recently brought on a new QA team to help fix some critical bugs hampering gameplay, according to an article in IGN. This science-fiction title available for the PS4 and Windows platforms has garnered a lot of publicity for its open-ended storyline and a massive universe featuring over 18 quintillion unique planets to explore. Yes, that says “quintillion.”

Hello Games, the developer of the videogame, hopes to release a patch addressing some of the bugs and other issues. The new QA team is actually larger than the entire development staff, which makes one wonder how many software testers originally worked on the project. The most egregious bugs involve a player becoming stranded without their starship — a difficult proposition in such a large virtual universe.

A release date for the No Man’s Sky patch is still to be announced.

Keep visiting the Betica Blog for additional insights and news from the software development and testing world.

Selenium — a Closer Look at the QA Framework

Let’s dive into Selenium to see if it makes sense as part of your QA or software development team’s toolbox.

We’ve covered many different QA testing tools here at the Betica Blog, and this time out our eyes are trained on Selenium. An open source tool for testing web applications, made available for free under the Apache Software Foundation license, Selenium offers an easy to use scheme for automating browsers, creating test scripts, as well as the capability to enhance those scripts with custom programming. This flexibility is one of the framework’s key features.

Let’s dive into some of the application’s other features and functionality to see if it makes sense as part of your QA or software development team’s toolbox.

Selenium was Forged as an In-House Testing Tool

Sometimes the best applications began their life as an in-house tool created by developers hoping to work more efficiently. The Ruby on Rails web development platform is a fine example of this kind of real world methodology. Selenium was created in the same manner in 2004 as an in-house testing tool at the development shop, ThoughtWorks.

The application was so useful, they decided to open source the software later that year. A whole community of adherents — including developers from Facebook, Oracle, Google, and other tech industry giants — continues to support Selenium to this day.

Selenium IDE makes creating Test Scripts a Breeze

Selenium provides two main components. The Selenium IDE leverages the Firefox add-on platform format for test script recording and playback functionality useful for creating bug reproduction scripts and general web application automation testing. Since it is a fully-functional integrated development environment, it is possible to enhance the recorded scripts using a wide array of Selenium commands.

In addition to its own internal format, the tool also saves scripts as HTML, Ruby, as well as other formats. It supports its own plug-in architecture to add even more functionality. Since the Selenium user community is quite robust, there are many existing plug-ins available to enhance your own testing efforts.

Selenium WebDriver takes things to the Enterprise Level

Selenium WebDriver, the other major component of the QA framework suite, adds scalability and distribution across multiple environments to the product’s automation and test script development features. Many in the community consider this component to be “Selenium 2.0.” It offers a more efficient version of the application’s core functionality which lends itself to improved scalability and remote browser automation.

The tool now encapsulates Selenium Grid, which essentially functions as a server, allowing scripts to be executed on remote browser instances. Multiple tests are able to be run in parallel, using different browsers, versions, and configuations. QA for the Web is no longer a nightmare!

WebDriver supports nearly all current web browsers. In fact, negotiations are in process with the W3C to make Selenium WebDriver part of the core web standard. As such, the framework is now supported by many popular development languages, including Python, Java, C#, and Ruby, as well as a host of development IDEs, including Visual Studio.

In short, if you are doing web development, you need to check out Selenium, as it is rapidly becoming the standard for creating and running browser-based test scripts.

Stay tuned to upcoming editions of the Betica Blog, as we continue to explore the ever-changing world of QA and software development.

Cloud Testing Providers — What Features should you Expect?

Last week, we took a high-level look at Cloud Testing — sometimes referred to as QAaaS (Quality Assurance as a Service). Software development companies are now able to leverage these kinds of services to perform QA in the Cloud, with cost savings and additional flexibility as the result. It is the latest in the trend of IT functions migrating to a Cloud-based service model.

If your firm hopes to use a Cloud Testing service on its next development project, knowing what features are typically offered by a QAaaS provider helps. Let’s take a closer look at what you should expect.

Some QAaaS Services are Similar to Standard Software Testing

Most of the functionality supported by a Cloud-based testing provider mimics that of any regular QA shop. You should expect the firm to offer a full range of testing services: Regression, Performance, Functional, Stress, Load, and more. Both automated and manual QA needs to be supported.

Your QA engineers need access to Cloud-based applications for the creation of test cases, plans, and any other associated documentation. The system you choose needs to be flexible enough to work with a variety of software development methodologies; most notably Waterfall and Agile. All members of your team need to be able to access the Cloud Testing system using different devices (desktops, tablets, and smartphones) from a variety of locations.

Support for mobile device testing is another desired feature, especially if your company focuses on development for the iOS and Android platforms. In these scenarios, the ability to handle a virtualized “smartphone test farm” or even a Cloud-based mobile device lab is definitely important. You also need to be able to easily test web applications on a mobile footprint.

Performance Testing is Vital when using a Cloud Service

As we stated in last week’s article, if you are using a Cloud-based service to test an application slated for a Cloud host, it is important to match the testing and production environments as closely as possible. You don’t want a scenario to happen where your load tests pass on your Cloud Test provider, but fail once your application is released to the public and goes viral. Ensure your production servers — virtualized or not — are highly scalable to handle any traffic unable to be properly modeled in QA.

Researching Cloud Testing Providers

Many different companies are now offering Cloud Testing services. This includes everything from industry giants like IBM to a whole host of smaller providers. Make sure to go with a firm whose offering supports your own shop’s methodology and toolset.

This article from InfoQ takes a closer look at Cloud Computing in general with a focus on the practice of QAaaS. It also provides a convenient list of Cloud Testing providers along with information on what services they offer.

Ultimately, Cloud Testing offers companies the same flexibility and potential cost savings achieved by leveraging other Cloud-based services like SaaS, IaaS, and DBaaS. If your organization is already benefiting from the Cloud, moving your software testing role to a QAaaS provider might make perfect sense.

Stay tuned to future posts on the Betica Blog as we analyze other aspects of the evolving world of software development.