Welcome!

Microservices Expo Authors: Pat Romanski, John Katrick, Elizabeth White, Liz McMillan, Yeshim Deniz

Related Topics: Microsoft Cloud, Java IoT, Microservices Expo, Linux Containers, Agile Computing, Cloud Security

Microsoft Cloud: Article

Reboot Testing for Modern Software Development

The testing industry must evolve and adapt to keep pace with modern software engineering.

Traditional methods of software development went over the waterfall in a barrel and smashed on the rocks below. The Agile Manifesto was written more than a decade ago. Agile adoption has worked wonders for software development. New products leap from concept to market faster than ever before.

Software updates are expected to roll out quickly into live products without disruption, the cloud is growing ever larger, and mobile technology is impacting heavily on how applications are developed. Feedback from the end user informs the design. Documentation and planning are sidelined in favor of flexibility and speed. It's a trend that has powered the app revolution, but it's so focused on developers that testing has been forgotten.

Clear Out the Old
New builds come thick and fast nowadays. It has become much tougher to estimate the required resources to properly test a project at the outset and, even if you could create an accurate estimation, it would soon be rendered obsolete.

It's not feasible to have small, fixed-size teams of testers covering an Agile project. As each new sprint introduces new features, the amount of work grows. Testers must check the new functionality, but they also have to verify bug fixes and complete regression testing. If you don't scale the team up as time wears on, or develop automated tests to reduce the workload, then things will start to slip.

Building a New Approach
The Agile mindset in the developer community has given birth to countless methodologies, supported by books and dedicated software tools. The discussion and support is lacking in the testing industry and that needs to change. Testers need software tools that are up to the job. Test management should cover the entire lifecycle of testing. An adjunct of the project management software designed for developers is not going to fulfill their needs.

The Agile age demands skilled testers equipped with tools that enable them to record tests step-by-step, link user stories and test cases, automate scripts where necessary, export and import bugs, and extract an overview of testing progress.

By developing exploratory testing skills and employing automation where it makes economic sense, testers can rise to the challenges of modern software development.

Employ Automation When Appropriate
The real value of testers is in their ability to test drive new features and validate bugs. You don't want them engaged in a regression testing slog. It means duplicating work and it's dull and repetitive for the testers. You won't get maximum value from your resources that way.

Automating regression testing can free up testers to focus where you want them. It's not easy, but with the right plan it can work. You can't create your test cases and scripts until the code is deployed. What you can do is record the testing process as your testers work through the new build and then use the steps captured to generate new test cases that can serve as the basis for automated regression testing on the next release.

Tester as End User
In the days of waterfall development, testers would have extensive documentation and requirements to pore over in order to create a detailed test plan. All the test cases would be prepared and ready to execute when the build arrived. That's often not possible with agile development. If the developers are going to adopt an agile mindset, then testers need to do likewise.

Exploratory testing can be employed to examine each new set of features when the build lands. Testers can record their steps and then edit them to create a solid base for regression testing. A core set of test cases can be fully scripted and automated. This process requires an evaluation of where the most value can be derived and that decision should be informed by what you know is coming down the pipeline from the developers.

For this to work testers must be included in the development process early and often. They need to be in Scrum meetings, they need to understand the user stories, and they must be empowered to contribute and ask questions. Testers can obviously learn a lot from developers on the project, but they should also be able to ask questions on the business side. If they can truly emulate the intended audience for the softwar, they can make a bigger contribution toward ensuring that it hits the mark.

Let's Make a Change
If we accept that the development landscape has changed irreversibly, we can really focus on ways to empower testers. Adopt an Agile mindset, but apply it from a testing perspective. Seek out new processes and new tools that really deliver the functionality and structure testers need in order to add value in a timely manner. Encourage more communication and deeper involvement in projects so that testers can emulate your end users accurately and help to ensure that expectations are met. Modern software development is still evolving and testing needs to evolve along with it.

More Stories By Vu Lam

Vu Lam is founder and CEO of QASymphony, developers of defect capture tools that track user interactions with applications. He was previously with First Consulting Group and was an early pioneer in Vietnam’s offshore IT services industry since 1995. He holds an MS degree in electrical engineering from Purdue University. You may reach him at [email protected]

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@MicroservicesExpo Stories
For organizations that have amassed large sums of software complexity, taking a microservices approach is the first step toward DevOps and continuous improvement / development. Integrating system-level analysis with microservices makes it easier to change and add functionality to applications at any time without the increase of risk. Before you start big transformation projects or a cloud migration, make sure these changes won’t take down your entire organization.
When you focus on a journey from up-close, you look at your own technical and cultural history and how you changed it for the benefit of the customer. This was our starting point: too many integration issues, 13 SWP days and very long cycles. It was evident that in this fast-paced industry we could no longer afford this reality. We needed something that would take us beyond reducing the development lifecycles, CI and Agile methodologies. We made a fundamental difference, even changed our culture...
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, discussed how to use Kubernetes to set up a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace. H...
You often hear the two titles of "DevOps" and "Immutable Infrastructure" used independently. In his session at DevOps Summit, John Willis, Technical Evangelist for Docker, covered the union between the two topics and why this is important. He provided an overview of Immutable Infrastructure then showed how an Immutable Continuous Delivery pipeline can be applied as a best practice for "DevOps." He ended the session with some interesting case study examples.
Without lifecycle traceability and visibility across the tool chain, stakeholders from Planning-to-Ops have limited insight and answers to who, what, when, why and how across the DevOps lifecycle. This impacts the ability to deliver high quality software at the needed velocity to drive positive business outcomes. In his general session at @DevOpsSummit at 19th Cloud Expo, Eric Robertson, General Manager at CollabNet, will discuss how customers are able to achieve a level of transparency that e...
"DivvyCloud as a company set out to help customers automate solutions to the most common cloud problems," noted Jeremy Snyder, VP of Business Development at DivvyCloud, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it results in an overall increase in consumption. Writing on the increased use of coal as a result of technological improvements, 19th-century economist William Stanley Jevons found that these improvements led to the development of new ways to utilize coal. In his session at 19th Cloud Expo, Mark Thiele, Chief Strategy Officer for Apcera, compared the Jevons Paradox to modern-day enterprise IT, examin...
We all know that end users experience the internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices - not doing so will be a path to eventual ...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.
Your homes and cars can be automated and self-serviced. Why can't your storage? From simply asking questions to analyze and troubleshoot your infrastructure, to provisioning storage with snapshots, recovery and replication, your wildest sci-fi dream has come true. In his session at @DevOpsSummit at 20th Cloud Expo, Dan Florea, Director of Product Management at Tintri, provided a ChatOps demo where you can talk to your storage and manage it from anywhere, through Slack and similar services with...
Containers are rapidly finding their way into enterprise data centers, but change is difficult. How do enterprises transform their architecture with technologies like containers without losing the reliable components of their current solutions? In his session at @DevOpsSummit at 21st Cloud Expo, Tony Campbell, Director, Educational Services at CoreOS, will explore the challenges organizations are facing today as they move to containers and go over how Kubernetes applications can deploy with lega...
Learn how to solve the problem of keeping files in sync between multiple Docker containers. In his session at 16th Cloud Expo, Aaron Brongersma, Senior Infrastructure Engineer at Modulus, discussed using rsync, GlusterFS, EBS and Bit Torrent Sync. He broke down the tools that are needed to help create a seamless user experience. In the end, can we have an environment where we can easily move Docker containers, servers, and volumes without impacting our applications? He shared his results so yo...
Enterprise architects are increasingly adopting multi-cloud strategies as they seek to utilize existing data center assets, leverage the advantages of cloud computing and avoid cloud vendor lock-in. This requires a globally aware traffic management strategy that can monitor infrastructure health across data centers and end-user experience globally, while responding to control changes and system specification at the speed of today’s DevOps teams. In his session at 20th Cloud Expo, Josh Gray, Chie...
Don’t go chasing waterfall … development, that is. According to a recent post by Madison Moore on Medium featuring insights from several software delivery industry leaders, waterfall is – while still popular – not the best way to win in the marketplace. With methodologies like Agile, DevOps and Continuous Delivery becoming ever more prominent over the past 15 years or so, waterfall is old news. Or, is it? Moore cites a recent study by Gartner: “According to Gartner’s IT Key Metrics Data report, ...
Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple hosts in a cluster. Ansible is a simple IT automation tool for just about any requirement for reproducible environments. In his session at @DevOpsSummit at 18th Cloud Expo, Patrick Galbraith, a principal engineer at HPE, discussed how to build a fully functional Kubernetes cluster on a number of virtual machines or bare-metal hosts. Also included will be a brief demonstration of running a Galera MyS...
In his session at Cloud Expo, Alan Winters, U.S. Head of Business Development at MobiDev, presented a success story of an entrepreneur who has both suffered through and benefited from offshore development across multiple businesses: The smart choice, or how to select the right offshore development partner Warning signs, or how to minimize chances of making the wrong choice Collaboration, or how to establish the most effective work processes Budget control, or how to maximize project result...
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...
In IT, we sometimes coin terms for things before we know exactly what they are and how they’ll be used. The resulting terms may capture a common set of aspirations and goals – as “cloud” did broadly for on-demand, self-service, and flexible computing. But such a term can also lump together diverse and even competing practices, technologies, and priorities to the point where important distinctions are glossed over and lost.
In his session at @DevOpsSummit at 20th Cloud Expo, Kelly Looney, director of DevOps consulting for Skytap, showed how an incremental approach to introducing containers into complex, distributed applications results in modernization with less risk and more reward. He also shared the story of how Skytap used Docker to get out of the business of managing infrastructure, and into the business of delivering innovation and business value. Attendees learned how up-front planning allows for a clean sep...
"I will be talking about ChatOps and ChatOps as a way to solve some problems in the DevOps space," explained Himanshu Chhetri, CTO of Addteq, in this SYS-CON.tv interview at @DevOpsSummit at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.