DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Culture and Methodologies
  3. Agile
  4. Twist 2.0: Test Automation in BDD - Now with Groovy

Twist 2.0: Test Automation in BDD - Now with Groovy

Mitch Pronschinske user avatar by
Mitch Pronschinske
·
Mar. 02, 10 · Interview
Like (0)
Save
Tweet
Share
20.89K Views

Join the DZone community and get the full member experience.

Join For Free
A lot of organizations transitioning to agile are focused on getting planning and communication practices in place, but they tend to neglect engineering practices until later.  ThoughtWorks Studios tries to correct this anti-pattern with its ALM tools, which are designed to handle changing requirements in the development process and adapt to the way agile teams work.  Another longstanding problem in the developer world is the knowledge barrier between programmers and non-programmers, which leads to poor collaboration in software production.  DZone spoke with Clint Sprauve, the Twist product manager, and Cyndi Mitchell, the managing director of ThoughtWorks Studios, about their approach to test automation and functional testing in their newest version of Twist.  Twist 2.0, which was just released, features Groovy support, Hybrid Test Execution, and continues the Behavior Driven Development approach.

With agile, the changes in software requirements are so frequent that many stakeholders have trouble keeping up with test automation.  As a result, Sprauve says they don't try to keep up and requirements are not in sync with testing, so more time is actually spent fixing the tests to meet all the requirements.  ThoughtWorks Studios' answer to this problem is a testing suite (Twist) based on Behavior Driven Development (BDD).

About Behavior Driven Development
BDD encourages collaboration between developers, QA, and various other non-technical business participants.  It extends TDD by using a domain (retail, manufacturing, etc.) specific language to write tests.  It's a language that non-programmers can comprehend and use to coordinate with developers and QA folks.  In Twist, BDD allows non-programmers to run requirements as test specifications so that the developers know what they're building as plans change.  This approach gives tests more longevity as reusable assets, and not just as throw-away artifacts.

Twist Interface for Business user, Tester, and Developer interaction



With Twist, business users can express testing scenarios in plain english using the domain specific language (DSL).  The combined interface provides a place where developers and test automation specialists can track the changing requirements from the business user in real time and implement those changes in the tests.  Users can rephrase a step without breaking the automation, keeping scenarios in sync.  Unlike Keyword Driven Development, there's a layer of abstraction that keeps the automation intact when changes are made to the requirements.  This allows the same test cases to be used if, for example, you migrate from a C++ system to a Java system.

Twist 2.0 New Features

  • Hybrid Test Execution:  Allows the execution of manual and automated test steps within the same scenario.  This lets users create automated steps for those that are still working on manual testing.
  • Groovy Support:  Simplifies the on-ramping for those doing test automation in Groovy.
  • Sahi Support:  Abstracts out many difficulties in test automation for web applications.  Twist now supports both Selenium and Sahi (which is similar) for web testing.
  • Java SWT support:  Allows testing of Java SWT (Standard Widget Toolkit) based applications.
  • Data Driven Test Scenarios:  Provides fuller testing coverage for applications with many data inputs (address, name, etc.)

Twist uses an Eclipse plugin to provide its testing IDE.  It's backend is written in Java, making it easier to find testing resources.  Twist also supports waterfall methodologies in addition to agile methods.  Finally, Twist 2.0 will run on the latest versions (and many older versions) of Windows, Mac, and Linux.  ThoughtWorks Studios also develops an agile management suite (Mingle) and a release management and CI tool (Cruise).
Testing Test automation Twist (software) Groovy (programming language) agile Behavior-driven development

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How We Solved an OOM Issue in TiDB with GOMEMLIMIT
  • Microservices 101: Transactional Outbox and Inbox
  • Best CI/CD Tools for DevOps: A Review of the Top 10
  • Introduction to Spring Cloud Kubernetes

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: