Software teams are expected to deliver high-quality software in ever-shorter timeframes, but in practice release speed or quality usually suffers. When release speed is the primary driver, testing may be compromised or a subset of planned features may be released. When quality is the main goal, the release schedule may slip. In today’s increasingly mobile world where application alternatives are just a mouse click or a tap away, businesses must find ways to deliver high-quality products at speed.
Testing isn’t a second-class citizen
Product features have always been sexier than testing even though the reputation of products and the companies who produced them depends on quality. Developers enjoy the lion’s share of tool investment, while testing is often treated as a cost center with dubious business value, at least until customers complain or abandon the product, or a high-profile failure occurs.
Similarly, more time is allocated to coding than testing. As organizations become more agile, testing teams, like everyone else involved in the SDLC, have to work even faster. To keep pace, more tests need to be automated.
The DevOps movement also demonstrates that testing doesn’t get the attention it deserves. Although more development and operations teams are working closer together, the DevOps term (and sometimes even the practice) overlooks testing.
“If I’m rapidly developing software, following TDD or BDD, testing is the only way I can ensure my ops guy is going to be happy,” said Nikhil Kaul, a product marketing manager at software testing solution provider SmartBear. “You need a mechanism that allows all of them—development, testing and operations—to talk to each other and consume each other’s work. Otherwise, you can’t accelerate software delivery.”
Why testing remains a bottleneck
There is no shortage of tools for addressing specific testing requirements; however, tool fragmentation often works against software development organizations as a whole. Understandably, different roles and different teams use different tools, but the siloed nature of the tools often results in inefficiencies such as duplicate efforts and incomplete test coverage. Software teams can avoid such inefficiencies when the efforts of manual and automated testing teams working across desktop, mobile, and Web are universally orchestrated and monitored.
“Tools are generally designed for a specific audience, so they don’t pay attention to the overhead that is created as a result of having so many disjointed tools,” said Kaul. “When you have a lot of people using a lot of different tools, the amount of effort that is necessary to work across teams is huge, especially if you want them to collaborate or reuse and consume each other’s work.”
Even within the testing function, siloed practices can negatively impact product quality and team productivity.
“There are manual testing and automated testing silos in organizations when really they need to work together for the benefit of the QA manager,” said Kaul. “A lot of organizations have traceability across automated tests, which is very important. But they forget about the manual side of things. You need visibility across both because there are things you won’t catch with automated testing.”
A healthcare company once used spreadsheets to trace both manual and automated tests back to requirements. After it implemented SmartBear testing solutions to create, run and report on tests, the testing team discovered it had been missing coverage for some requirements entirely. In retrospect, it became clear that the automated and manual testing teams wrongly assumed that the other team was creating and running tests when in fact no such tests had been created or executed.
Despite the many challenges that tool sprawl causes, individuals and teams will not forfeit their favorite tools without a fight. If the company or a team mandates the use of a replacement product that is hard to learn, hard to use and hard to deploy, it will likely be underutilized if not circumvented entirely. Given the ever-shrinking nature of software delivery cycles, enterprises increasingly expect new products to complement their existing environments without disrupting the current processes.
“A good process for a developer is not necessarily a good process for a QA, and yet you need to correlate these processes for testing efficiently,” said Kaul. “One way to do that is to choose a solution that supports users with different skill sets and that can be easily customized to suit the role and individual users’ preferences.”
It’s a complex world
The days of developing a single application for a single platform are gone. Over the past two decades, the proliferation of operating systems, platforms and devices has accelerated, and the trend is going to continue. Meanwhile, software teams will be expected to deliver software even faster, without sacrificing product quality despite the growing complexity.
“If you want to develop software faster, you have to test smarter,” said Kaul. “The only way you can avoid testing becoming a bottleneck is to have insight across all your testing processes and integrate test automation earlier in the life cycle. Both of those things will pay off in huge efficiency gains.”
Test smarter with SmartBear
Testing more doesn’t always improve product quality, but testing smarter does. Using SmartBear TestComplete and QAComplete, software teams can avoid unnecessary test duplication, improve overall testing efficiency, and ensure full traceability from requirements to testing to defect resolution. More than 2 million users in 90 countries rely on SmartBear’s easy-to-use test and performance-management solutions to ensure the quality of their desktop, mobile, Web and cloud applications as well as to keep pace with accelerating release cycles.
Automate tests effectively
TestComplete is an open test platform for creating, maintaining, and executing automated tests across desktop, Web, mobile and client-server applications. Its easy-to-use interface allows novice testers, business analysts, and expert test engineers to quickly build and reuse script-free tests. TestComplete is also customizable so it can accommodate existing processes and adapt to personal preferences.
“Users can generate scripts by simply recording and replaying any kind of test for a mobile, Web or desktop application,” said Nikhil Kaul, a product marketing manager at SmartBear. “The tests are really robust because TestComplete works at the object level rather than at the image level. When the application’s interface changes or when controls are moved, added or resized, existing regression tests don’t fail.”
Financial service and solution provider Fidelity National Information Services used TestComplete to automate lengthy manual tests, identify problematic application areas, and expand the types of tests it automates. Now, test runs can be executed in 15 minutes rather than two hours.
Developers building smartphone and tablet apps use the TestComplete Mobile module to test iOS 8 applications as well as native, hybrid and Web Android applications. It enables access to device data, which allows testers to test for user experience in landscape or portrait mode, as well as gestures across devices.
“You can also record a gesture on one Android device that can be automatically tested on any other Android device,” said Kaul.
Orchestrate manual and automated testing
QAComplete is a test management tool that consolidates the planning, organizing and scheduling of all the tests associated with a release. With QAComplete, QA teams can manage and run manual and automated tests using a single interface. In addition, QA managers and project managers can get a consolidated view of all testing activities by project as well as across teams and across projects. Selenium users can run Selenium scripts from within QAComplete and take advantage of its reporting engine, which provides robust, value-added features such as insight into test coverage.
“QAComplete provides a central place for managing all testing activity. It also links testing to requirements and defects,” said Kaul. “If you’re using Selenium, you can get enhanced reporting on your scripts that Selenium doesn’t provide.”
Learn more at www.smartbear.com.