Go beyond test early and test often. “Testers have to be in constant communication with developers to know what changes are coming so that they can adjust test cases appropriately,” said Bracken. “You should try to automate when you can, but be smart about it.”
Bracken recommended doing performance smoke tests on CI builds multiple times a day, rather than conducting full load tests and leaving the larger more complicated tests for nightly builds or near the end of the sprint.
Test on real devices. “On mobile devices, there are interoperability concerns. For example what happens to an app’s functionality if you start testing?” said Jean Suplick, solution architect at Orasi Software. “So it is very important to test on real devices whenever possible.”
Testing on real devices provides quick, on-demand access to the different configurations of real devices, according to Suplick.
Consider the configurations. Testers should take into account the number of different device, operating system, carriers and network configurations an app needs to be tested on, according to Suplick. For mobile, the device and the network are especially worth considering, said Bracken.
“For performance testing, devices have different screen sizes and hardware capabilities, which dictate what content is delivered to that device and how fast,” he said. “Additionally, mobile network conditions including bandwidth, latency and packet loss can have a huge impact on application performance.”
Catching up to the speed of development
With software development getting faster and faster, everybody wants to be the first to release, and with end users becoming more and more demanding, updates happen almost every day. So SD Times asked experts: If development needs to be quick, fast and effective, how can testing catch up?
Jean Suplick, solutions architect at Orasi Software: The question implies that testing is something separate from development, which really isn’t the case. Even if by development you mean coding, then testing is already there in the form of unit testing. And certainly, if you’re doing test-driven development, the answer is plain.
In the agile world, though, the same types of testing we’ve done in the past still apply. You still need to do integration testing, as well as functional and non-functional testing (for instance performances/scalability and security testing), and end-to-end testing of the full business processes. You still need to do regression testing. The pressure is how to accomplish all the testing in the time allotted, how to efficiently test.