Skip to content
Farhan Sheikh edited this page Sep 14, 2024 · 17 revisions

This repo has example Eclipse Xtext and Apache Maven plugins to upskill manual QA testers to QE testers so that together with the developers they can adopt BDD and TDD.

  • I've explained why I created this project here.
  • To understand the context within which I've used these tools and frameworks, I created this presentation here.
  • I've put some notes on what the plugins do here

Why Sheep Dog? I'm a dog person and when I heard Ryan Tierney (Lean Made Simple podcast) use the sheep dog analogy, it resonated with me. Basically if you send in a bulldog to do the job, it runs into the middle of the flock barking and disrupting everything. With a sheep dog, you never see it. You see the grass around the sheep move, you see the sheep move and everything happens quietly and peacefully. When I thought about how to transform my team, I realised heroic effort was unsustainable and big bang changes were bound to be too much effort. Instead it had to be this gradual organic evolution of our ways of working similar to a sheep dog moving a flock.

Project structure

These are the 4 projects.

  1. sheep-dog-test - Demonstrates how to add a jar to an Xtext project. This has the code that is reused in the Xtext editors in this repo.
  2. cucumberxtexteditor.parent - This is the Eclipse plugin that the testers use to write their test cases.
  3. sheep-dog-dev - This converts the test cases into UML models and converts those into Cucumber and Java or anything else. I'll try wrapping this in other build tools in the future.
  4. sheep-dog-maven-plugin - This is a Maven plug-in that's just a wrapper around sheep-dog-dev. The developer can make a batch script to do a git pull and run this to refresh the test data/automation that they need to continue their red-green-refactor cycles.

How to

If you share some of my experiences then you might find the code here useful. I've tried to document and develop these projects for folks who are new to Xtext and Maven plugin development. I'd read the wiki pages in this order

  1. How to create the plugins
  2. How to build the plugins
  3. How to run the plugins
  4. How to modify the plugins
  5. How to test the plugins
  6. How to release the plugins