Tools for QA and Automated Testing
In this article, Chris Tozzi discusses some advantages and disadvantages of a couple of QA and testing automation tools.
Join the DZone community and get the full member experience.Join For Free
The automation of quality assurance and testing adds a lot of value and efficiency to your workflow. If you’re like most QA teams today, you already know that you should automate QA operations. And maybe you already do by using tools like Selenium WebDriver.
However, Selenium is only one of many tools that can help automate QA. Here's a look at some others that you might want to consider, with notes on the strengths and disadvantages of each.
If you know Selenium, you may already know Appium, too. If not, Appium is a test automation framework for mobile web apps that is based on the WebDriver protocol. If you need to test native, hybrid, and mobile web apps, it's one of your best bets. You can test the app you ship (no SDK, no need to recompile your app), write your tests in any language, use your preferred test practices, frameworks, and tools. It's open-source, too, and supported by a vibrant contributing community that's now part of the JS Foundation.
Watir, a Ruby-based testing framework for web apps, offers an alternative to Selenium.
Well, actually, that’s only partially true. There are two versions of Watir, one of which is basically a wrapper around Selenium. Watir Classic only supports Internet Explorer, while the Watir Selenium wrapper supports all common browsers.
Watir’s Selenium wrapper lets you write your tests in Ruby, which is an advantage if you're a Ruby fan.
WatiN is similar to Watir, but it’s based on.NET instead of Ruby. Its latest release is five years old, which makes it somewhat outdated. But it’s not too old to have any value. If you really like.NET, you might find it useful.
Microsoft Visual System Team Services, or VSTS, offers test automation features, including an integration with Sauce Labs. It won't be very useful if you don’t already use Visual Studio, of course. But for teams that do, it’s a good tool to consider.
JSoup is a Java HTML parser. It lets you write simple routines for parsing HTML files. You can also use it to modify or clean up HTML.
JSoup is not designed for automated Web testing per se, and it offers only a small subset of the functionality of Selenium. But if you need to do some quick work with HTML and want to script it, JSoup can come in handy.
Available in open source and commercial implementations, Sahi is a Web testing automation tool. It works well. The downside is that Sahi doesn't offer the convenience of direct integration with cloud infrastructure. That means that while you can use it for automation, you’ll have to build the environment yourself.
And on that note, let's talk about the cloud.
Last but not least is the cloud. The cloud isn't a specific test automation tool, of course. But it's worth mentioning within the context of QA automation because the cloud can help to build new efficiencies into your automated testing workflow.
Above all, the cloud helps you test more quickly by taking advantage of parallel testing. For that reason, it magnifies the benefits of automated testing. The main reason why QA teams automate their tests is to gain more speed and facilitate continuous delivery (not to mention freeing up Ops teams from the drudgery of updating VMs with each and every new browser/OS update). Because the cloud prevents you from being limited to your on-premises infrastructure for testing, the cloud speeds things up even more.
However, that's not all. The cloud also helps to make testing more Agile. It allows you to deploy extra testing resources as needed. That makes testing scalable and helps add flexibility to testing, assuring that testing does not hold up your continuous delivery pipeline.
In general, if you want your tests to be fast and seamless, the cloud is a crucial resource.
Published at DZone with permission of Chris Tozzi. See the original article here.
Opinions expressed by DZone contributors are their own.