Check out our interview below with Jaroslaw Kubik, chief architect of the newest Squish edition: Squish for VNC, an addition to our GUI testing ecosystem which enables full automation of remote displays.
- - Let's first talk about existing Squish editions. What users groups do the editions currently serve?
Squish editions are divided by the technology of the application. Namely, the toolkit used to build it. So, if you're looking to test a mobile app for Android users, you'd use the edition, Squish for Android.
Right now, we have editions for popular technologies for desktop GUI test automation, mobile GUI test automation, and embedded GUI and HMI test automation.
- - How does Squish for VNC come into play within this edition ecosystem?
Squish for VNC is unique within our existing edition ecosystem in that it's not dependent on the application technology. So it doesn't try to access the toolkit or internal data structures. That might include the accessibility API or operating system information. Squish for VNC is not interested in that. It works through desktop automation and simulated inputs. It's an image-based testing approach.
- - There's concern by some that an image-based testing approach leads to brittle and unreliable tests. What can you say about Squish's image-based recognition capabilities?
Some of those concerns are certainly valid, but we've worked to minimize the common pitfalls seen with an image-based testing approach. Squish has a variety of features for ensuring reliability and robustness of your image-based tests. We offer Fuzzy Image Search and highly-configurable image lookups plus use of image groups. We can combat the common problems.
- - Who's going to be using Squish for VNC?
Users working with unsupported toolkits, first off. Legacy technologies, for example. We do see some rare cases that under, say, certain security protocols, you might not be able to use an existing toolkit-specific edition. Some platforms restrict access to the app, but have a VNC server or some other remote access point on them. Squish for VNC is good for those cases.
- - You mentioned security concerns. Can you talk more about Squish for VNC for security-conscious customers?
If you're working with some security considerations about the app or about the system itself, where, on those systems, there may be by design an inability for an external tool like Squish to access application internals, Squish for VNC is good choice. Think of embedded devices. If the device already comes with VNC for doing testing or just in its regular operation, there's no barrier to cross now. And if it does need a VNC installation, that's relatively less invasive. Some folks have concerns with injecting anything into their application. And that's not necessarily from a restricted-access point of view, but rather from an application integrity or test integreity perspective. This new edition eliminates those concerns.
- - What performance considerations are there with this edition?
In the existing Squish editions, we see some performance overhead when, for example, folks are doing object searches in complex UIs where we have to iterate over the entire object tree.
With the VNC edition, performance considerations come into play with data compression and storage for the batches of screenshots. It's a different kind of problem.
- - What do you want to say to groups looking to move from an in-house solution to Squish for VNC?
Folks who are looking into an image-based testing framework should realize that what we're providing here is robust. We see some folks with in-house methods for the kind of thing we've done with Squish for VNC. It's a lot of work to do it -- and even more work to do it right. What we've done here is create a ready-made solution that's flexible to ease the burden and effort that some teams, especially more lean ones, might face.
Another thing to note is that groups doing image-based testing with another tool can easiliy make the transition to using Squish for VNC. When migrating, Squish can adopt existing image assets for the tests. It should be easy to make the switch.