Digital Edition

SYS-CON.TV
Reboot Testing for Modern Software Development
The testing industry must evolve and adapt to keep pace with modern software engineering.

By: Vu Lam

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.

About 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 vulam@qasymphony.com.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1



ADS BY GOOGLE
Subscribe to the World's Most Powerful Newsletters

ADS BY GOOGLE

You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know ...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an over...
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection...
In his session at 21st Cloud Expo, Raju Shreewastava, founder of Big Data Trunk, provided a fun and ...
The cloud era has reached the stage where it is no longer a question of whether a company should mig...
The need for greater agility and scalability necessitated the digital transformation in the form of ...
ChatOps is an emerging topic that has led to the wide availability of integrations between group cha...
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting ch...
While some developers care passionately about how data centers and clouds are architected, for most,...
"Since we launched LinuxONE we learned a lot from our customers. More than anything what they respon...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every ...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily ...
"As we've gone out into the public cloud we've seen that over time we may have lost a few things - w...
In his session at 21st Cloud Expo, Michael Burley, a Senior Business Development Executive in IT Ser...
Sanjeev Sharma Joins June 5-7, 2018 @DevOpsSummit at @Cloud Expo New York Faculty. Sanjeev Sharma is...
We are given a desktop platform with Java 8 or Java 9 installed and seek to find a way to deploy hig...
"I focus on what we are calling CAST Highlight, which is our SaaS application portfolio analysis too...
"Cloud4U builds software services that help people build DevOps platforms for cloud-based software a...
The question before companies today is not whether to become intelligent, it’s a question of how and...
Kubernetes is an open source system for automating deployment, scaling, and management of containeri...