To use Cucumber (BDD) with Gatling (Performance)

Hi Friends,

I need information about testing of BDD integration with gatling. somebody that can help me?

Thanks,

I have seen Cucumber used wrongly too many times, primarily with feature files written post application implementation and steps written imperatively to believe in its overall benefit. It’s easy to blame the tool’s usage and absolve the tool.

However, there seems to be some basic specification semantics here:
https://gatling.io/docs/2.3/general/functional_specs/.

Aidy

Hi Aidy

Off course, I understand your point of view. I am going to review this basic semantic speficiation. I need to know if is possible have BDD in Gherkin on .feature file.

Thanks so much :slight_smile:

What would a Gerkin file expressing a load test look like?

“”"

Given 100 concurrent users per second
When I update my personal details
Then an updated confirmation receipt is returned
And the p99 is within 500ms
“”"

It doesn’t even read well or in my opinion add any value.

For me, BDD is about writing readable tests from a user perspective - and if that interpretation in correct - then the Gatling DSL built around the HTTP domain is sufficient.

Aidy

This would be a very basic test with one single scenario and one single HTTP request, right?

Not an expert here, but IMHO, Gherkin is too limited to express sequences of actions.

What I find as an interesting development is that load tests are now being seen from a functional perspective. However, our tools do not match this perspective. WebDriver is used most probably with a dynamic language driver like JavaScript or Ruby and then we switch to Gatling with an easy to understand DSL for basic simulations. Anything more complex is straight Scala. The Holy Grail is the combination of functional and load tests. Too much time and effort is wasted on completely different codebases and tools. This I think would mean a switch or some config that would run a headless browser with one user in Gatling.

Gating is a test tool and both developers and testers use test tools. Testers may find Scala difficult (which may or may not limit Gatling’s audience). Scala itself is a niche language mostly concentrated around Big Data and DSLs. The functional programming paradigm shift has not occurred - when the fundamental issues with previous languages may have been around heavyweight object-orientation and concurrency. Maybe Gatling could have a dynamic language binding (JRuby, Groovy) and attempt to cross the barrier between the skillsets of testers and developers and between load and functional tests.

Aidy