1

So i haven't used cucumber yet, but have been exploring it deeply. Right now I'm starting up a QA dept (just me right now) for a Small Web-Dev company.

I've been researching the heck out of every QA thing under the planet, and i've seen cucumber mentioned a lot. Before my job here I was used to the old-style "write 500 test cases" that get as specific as "click here...expected result: button gets clicked"....etc...

I've realized this isn't maintainable, that being said Cucumber seems like an interesting path into BDD. That being said...where are Feature files actually stored? Right now were trying out testrail, and using Jira for User stories.

My idea is to use the Gherkin Language/Cucumber to create acceptance tests, and then maybe Jenkins to actually run the tests on a daily basis or something. (and run them myself on my computer as well off). But Im not sure how/where to store them.....what does everyone else do?

Side Question: There seems to be a lot of hate on cucumber...on the web, but yet a lot of people use it? Why's that?

thanks!

  • Web-Dev? Is this websites or web-applications? I ask because I think both have a different life-cycle and thus another approach from a quality standpoint. – Niels van Reijmersdal Jul 13 '15 at 15:19
  • Websites, Rails driven ones specifically. I think I'm also a little bit confused at what Cucumber actually does...like I know you define the Feature file, but how does cucumber actually do the "test", does it use rspec? or does it do it on it's own? How does it interact with the web? – Mercfh Jul 13 '15 at 15:36
  • 1
    I think you should open another question as it does not fit within just this one: "How can Cucumber help to test website?" – Niels van Reijmersdal Jul 13 '15 at 16:14
3

I would store the Cucumber features files next to the code it tests in the version control system.

This way your tests will reflect the "current" version even if you branch or release versions.

I have build a lot of tests based on Cucumber (JVM version), personally I was very happy with it in a tester / product owner role.

From a developer perspective it adds an extra layer of complexity and overhead when creating tests. The goals of the feature files should be communication between the business units and the development teams. If none reads the feature files except developers I can understand some peoples frustration.

  • On You Second Point:Well as QA wouldn't I create the tests? I have a development background/CS degree...and while I'm a little rusty, i've been looking for a way to reintegrate my coding skills...seems like this would maybe be a good opportunity? – Mercfh Jul 13 '15 at 14:36
  • You could, but what if a test fails? Who is responsible for fixing the test? If the tester is the sole responsible you will lag behind and the test-suite will be in a continuous broken state. If a tests brake someone should be assigned to fix it. Better is to build the testsuite with the development team, its perfectly fine if you create most of the tests, but I think the dev-team should also create and maintain the tests. – Niels van Reijmersdal Jul 13 '15 at 14:47
  • Also read this question: sqa.stackexchange.com/questions/9109/… – Niels van Reijmersdal Jul 13 '15 at 14:48
  • Hmmmm good point, perhaps I could at least create the feature files? Im not sure...im in sort of a tough position of trying to integrate CI (as is the dev team) but working off an "Agile-ish" sort of scenario. I don't want to just "do it the old way" cause writing test plan x10000 doesn't really help us in the long run... – Mercfh Jul 13 '15 at 14:48
  • Also your last question brings up good points, I'm just trying to find something that works, we don't have a lot of extra manpower since we are not a HUGE team....but I'm thinking of starting somewhere to "get started" with Automation, since I worry getting stuck in the "old way" might cause harm. – Mercfh Jul 13 '15 at 14:53
1
  1. In the beginning of your project , feature file should be in Jira .

  2. Once QA and BA agree on feature file , freeze it .

  3. Now , copy this feature file in your code base in a package named "features".

Believe me ,

you always want to keep a versioning on this.

Also , ignore the hate .

I implemented POM principle for my Page objects as well as feature files , its well maintained.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.