In test automation, code involved in testing is not only test logic, but also a bunch of other supporting code, like URL concatenation, XML parsing, UI, etc. Test logic can be buried in this unrelated code, which has nothing to do with test logic itself, making test code hard to read and maintain. In this article, the layered architecture of test automation is presented to solve this problem.
In programming world, refactoring has become a highly frequent used word among programmers. Programmers make code more readable and design more. IDEs come with support for various refactorings. Testers who develop or maintain automated test scripts usually do not have that kind of luxury, but share the same needs. ITest2 is a tool that brings refactoring to the testing community.
This article explores how Gorilla Logic's new, open source Flex user interface automation testing tool, FlexMonkey, can enhance the productivity of both developers and QA testers. FlexMonkey allows developers to incorporate user interface testing into unit test suites and continuous integration environments, and allows QA testers to expand those tests into comprehensive quality tests.
Interview and Book Excerpt: Hani Suleiman & Cedric Beust, "Next Generation Java Testing: TestNG and Advanced Concepts"
InfoQ.com recently interviewed Next Generation Java Testing: TestNG and Advanced Concepts authors Hani Suleiman and Cédric Beust. InfoQ is also pleased to offer a chapter excerpt, "Mocks and Stubs". 4
Srini & Kavitha Penchikala give an overview of the support provided by Spring framework in the areas of unit and integration testing, with a sample application. 16
Today, almost every modern application consumes or produces XML. Stefan Bodewig explains the challenges in testing XML-based applications, and shows how to use the XMLUnit Java Framework to do so. 8
Jeff Xiong shows how to use Selenium, a browser-based acceptance testing tool, to test Ajax apps. 8
Using logging seams you can easily create unobtrusive unit tests around legacy classes, without needing to edit class logic as well as avoiding behavior changes. 3