Most Read This Week
Reboot Testing for Modern Software Development
The testing industry must evolve and adapt to keep pace with modern software engineering.
By: Vu Lam
Apr. 4, 2014 11:30 AM
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
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 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
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
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
Reader Feedback: Page 1 of 1
Subscribe to the World's Most Powerful Newsletters
Today's Top Reads