Skip to content

Agile Testing Tools

In Agile Projects, Testers are responsible for the following daily tasks: • Supporting developers in coding by clarifying the expected behavior of the system • Helping developers in creating effective and efficient unit tests • Developing automation scripts • Integrating automation testing tools/scripts with continuous integration for regression testing To facilitate the efficient and effective implementation of these tasks, a Continuous Integration (CI) system which supports CI of Code and test components is used in most of the Agile projects. Testers and developers in Agile projects can benefit from various tools to manage testing sessions and to create and submit Defect reports. In addition to the specialized tools for Agile testing, Agile teams can also benefit from test automation and test management tools. Record-and-Playback, Test-Last, Heavyweight and Test Automation Solutions are not suitable for Agile teams due to the following reasons: • Test-last workflow does not work for Agile teams • Unmaintainable scripts created with such tools become an impediment to change • Such specialized tools create a need for Test automation specialists and thus foster silos.

The Tools that are widely used are −

Tool Description
Hudson CI Framework
Selenium Functional Testing – Integrated with Hudson
CruiseControl CI Framework
Junit Java Unit Test
Nunit .Net Unit Test
Cobertura / JavaCodeCoverage / JFeature / JCover Java Test Coverage
Jester Java – Mutation Testing/ Automated Error Seeding
Gretel Java Test Coverage Monitoring Tool
TestCocoon C/C++ or C# – reduces the amount of Tests by finding redundant Tests and finds Dead Code
JAZZ Java – Branch, Node, and Defuse Coverage and implements a GUI, Test Planners, Dynamic Instrumentation, and a Test Analyzer
Ant Java – Automation Build
Nant .Net – Automation Build
Bonfire Agile Testing add-on for JIRA

Agile Test Automation Tools

Agile test automation tools effectively support early test automation through a test-first approach, writing test automation codes using real languages and domain specific languages, focusing on the expected behavior of the system, separating the essence of the Test from the implementation details, thus making it Technology independent and fostering Collaboration. Automated Unit Tests (using Junit or NUnit) are white-box tests and ensure that the design is sound, and that there are no defects. These tests are built by developers with support from testers and can be independent of the functionality required. However, this approach may not ensure customer requirements and hence lack business value. This is resolved by automating Acceptance Tests that are written with collaboration of customer, other stakeholders, testers and developers. This reflects the expected behavior of the product, and the developers’ involvement ensures the production of code as per the requirements. Agile Tools and Frameworks that support Automated Acceptance Testing are: • Fit • Fitnesse • Concordion • Ruby • Cucumber Both Automated Unit Tests and Automated Acceptance Tests are necessary in Agile Development for successful completion of the project.

Fit


Fit is an acceptance test automation tool developed by Ward Cunningham that enables customers or product owners to write examples of product behavior in Microsoft Word and Excel. This makes it easier for programmers to turn those examples into automated tests. Fit 1.1 supports both Java and .NET, making it versatile enough for use in virtually any development environment. The tool also features a flexible architecture that allows it to be customized and extended according to the needs of the user. Additionally, Fit has the ability to produce HTML reports, making it easier to keep track of test results. Finally, the tool is open source, meaning that it can be used and modified freely, making it an excellent choice for teams looking for a cost-effective way to automate their acceptance tests.

FitNesse

FitNesse is a type of web server which allows visitors to edit existing and create new pages by using a simple markup language. This language allows for easy formatting such as headings, bold, underline, italic, bulleted lists, and more. Acceptance Test Automation in FitNesse involves: – Expressing tests as tables with input and expected output data. – Using FitNesse to format the test table on the page. – Alternatively, using the Spreadsheet to FitNesse command to format the table in Microsoft Excel. – Running the test. – Obtaining test results by color coding of the cells in the test table. – Green cells indicate that expected values were obtained. – Red cells indicate that a different value than what was expected was obtained. – Yellow cells indicate that an exception was thrown.

Cucumber

Cucumber is an open source software testing tool based on Behavior Driven Development (BDD). It enables users to write acceptance tests for web applications in an easily readable and understandable format. This tool is mainly implemented in Ruby and extended to Java framework, both supporting Junit. It also supports other languages such as Perl, PHP, Python, and .Net. In addition, Cucumber is used in combination with Selenium, Watir, Capybara, etc. Key features of Cucumber: 1. Used to write acceptance tests for web applications 2. Allows automation of functional validation in easily readable and understandable format like plain English 3. Implemented in Ruby and extended to Java framework, both supporting Junit 4. Supports other languages like Perl, PHP, Python, .Net etc. 5. Can be used along with Selenium, Watir, Capybara, etc.

Leave a Reply

Your email address will not be published. Required fields are marked *