Continuous Testing at the Speed of the Agile Modern Business

Relying on automation to execute whole test on large deployment, doesn’t mean the role of the QA engineer is going away. Learn why?

With more companies of all sizes embracing the Agile and DevOps methodologies, the speed of the software development lifecycle continues to increase. This reflects a competitive business world which operates all over the globe on a 24-7 basis. The days of the biannual release cycle appear to be obsolete.

Continuous deployment and other offshoots of Agile strive to make software enhancements a quick and painless process, so it stands to reason this “need for speed” would influence quality assurance. Enter continuous testing. We’ve mentioned this concept in a previous post, but this time out we’ll take a closer look at this emerging QA trend.

Preventing QA from becoming a Bottleneck

Companies embracing continuous delivery leverage automation to make various aspects of the SDLC faster. This includes automating builds, migrations, and other related tasks. While a need for manual software testing still exists, especially when it comes to validating usability and interfaces, companies are taking advantage of automated tests as part of a continuous testing model.

Continuous testing requires extra effort to be spent on developing these automated tests. This concept applies when it comes to determining whether or not to deploy the software into production after the test run is complete. Business stakeholders need to work closely with QA engineers to determine the criteria for a go/no go decision; factoring in performance, reliability, and security issues.

Additionally, many continuous testing programs involve QA personnel at the beginning of the lifecycle, with the hopes of validating design work before development takes place — the extra cost of handling bugs later in the SDLC still matters in this scenario. The scope of testing includes automated API tests, unit tests, as well as system and integration tests. Security and performance testing is also performed when relevant.

Managing the Continuous Testing Process

Relying on automation to execute a whole range of tests as part of a larger build and deployment process doesn’t mean the role of the QA engineer is going away. We mentioned earlier about the importance in properly developing automated tests able to determine whether or not to deploy a release. It is also vital to involve QA personnel in the management of the entire automated testing process, including performance monitoring and defect analysis.

Many QA tools and applications now include support for continuous testing that goes beyond simply automation. These typically provide a robust mechanism for authoring tests in addition to the real-time defect reporting and performance features needed to truly take advantage of CT.

Resources for Learning more about Continuous Testing

A wide range of eBooks and other material covering continuous testing are available if you are interested in learning more about this topic. SOASTA, known for their performance analytics software, offers an eBook on Continuous Testing in an Agile World. IT managers interested in the subject need to check out Parasoft’s book aimed at technology leaders.

In short, continuous testing needs to be considered by any organization hoping to truly take advantage of Agile or DevOps.

Keep tuned to the Betica Blog for further dispatches from the wide world of QA and software development.

Automate your IT Infrastructure with Ansible

More modern software development shops continue to boost productivity by leveraging a variety of modern methodologies — most notably Agile and DevOps — as well as the software tools to make things run smoothly. Automation also plays a big role in helping the development and QA processes become more efficient. Ansible is one such automation engine earning accolades in IT departments for its simplicity and power.

If you are looking to get more done in less time — a common refrain in today’s technology world — read further to learn more about Ansible. It might just be the missing link in your shop’s arsenal of tools.

A Closer Look at Ansible

Ansible’s automation engine handles a host of tasks normally taking up the valuable time of software engineers, QA personnel, and network administrators. These include the provisioning of Cloud environments, application deployment, configuration management, and loads more. Since it was first developed for multi-tier architectures, Ansible won’t have a problem modeling your shop’s entire IT infrastructure — Cloud-based and on-premise.

This free-software automation tool first became available under the GNU Public License in 2012, and it is compatible with the Linux and Windows platforms. A company named Ansible, Inc. offers commercial support while maintaining the application’s codebase. Ansible, Inc. was acquired last year by the major Linux distributor and open source software company, Red Hat.

Similar configuration automation tools include Chef and Puppet. Ansible holds an advantage over these older applications with its agent-less architecture. This allows management of remote machines without a local daemon present, greatly reducing the overall network traffic.

Simple and Elegant Configuration Management

With no remote agents and no additional security considerations, Ansible deploys in an easy manner. It uses simple documents, called Ansible Playbooks, written in a YAML format to describe automation and configuration tasks. This means nearly all system functionality is controllable using only a text editor and a terminal program.

When running, Ansible connects to all the nodes in a system, while quickly installing and executing a small program called an Ansible Module over SSH to perform a variety of orchestration and management tasks. The module then removes itself upon completion. Modules can be written in a variety of scripting languages: Python, Perl, Ruby, or anything that can output JSON.

The tool plays well with other network applications, enabling you to connect and get inventory information from a variety of Cloud management tools, like Rackspace, OpenStack, and EC2. Of course, you can simply define all this information in a text file — simplicity and flexibility are the keys. Ansible also comes with over 200 pre-written modules, so you can get started managing your network environment with minimal hassle.

A simple architecture with little network overhead, combined with Modules to perform functions and Playbooks to orchestrate the whole show makes Ansible worthy of consideration for automating your organization’s technical infrastructure. It integrates nicely with your existing Cloud investment while taking advantage of your development staff’s scripting language acumen. Download Ansible and give it a test run to see if it makes sense at your shop.

Come back to the Betica Blog regularly for additional news and information about the software development and QA universe.

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.