Do you have experience in Word?
“I’ve had a few inside me, if you know what I mean.”
“Ah, good. A salad lover.”
Cucumber? I barely know her.
required skill for certain onlyfans work
Yes, I actually do. It’s a behavioral driven testing framework. I love the idea of it but hate working with it because everyone uses it improperly.
What the steps in a scenario should look like:
Given a user has a bank accout And the account has a balance of $10 When the user attempts to withdraw $20 Then the transaction should fail
How everyone I’ve worked with uses it:
Given the system is setup Given the user TESTUSER1 Given load TESTDATA1 When the user sends a request ACTION | AMOUNT WITHDRAW | 20.0 The the response should be 400 STATUS | MESSAGE Failure | Not enough funds
Your (verbose and harder to understand) example reminds me of https://jbehave.org/reference/stable/story-syntax.html
On that same page is Gherkin which is what both examples are. (I may have gotten the syntax slightly wrong.) Cucumber uses Gherkin. I forget which is which exactly. Maybe Cucumber is the code that reads Gherkin and executes step definitions.
For whatever reason, people try to make a small number of extremely flexible step definitions which leads to scenarios that don’t actually read as business requirements. (Which is the entire point in the first place.)
Given a user has a bank accout And the account has a balance of $10 When the user attempts to withdraw $20 Then the transaction should fail And the account should have a balance of $20 Given a user has a bank accout And the account has a balance of $10 When the user attempts to withdraw $5 Then the transaction should succeed And the account should have a balance of $5 Given a user has a bank accout And the account has a balance of $10 When the user attempts to deposit $5 Then the transaction should succeed And the account should have a balance of $15
Doing something like this is more elegant. The steps definitions would be
a user has a bank account
performs setup tasks to load a test user into the system.the account has a balance of X
would either load the account with that much or just make an initial deposit.the user attempts to withdraw X
/the user attempts to deposit X
would both perform those actions. If it’s a web API they’d be HTTP requests.then the transaction should X
would check HTTP status code. You could make this two separate step definitions or have logic based on the word. Two separate step definitions is probably better.the account should have a balance of X
checks the balance in the account.
Maybe that’s why I hate using it, or maybe I just hate testing frameworks that do more than run tests. Here’s what I want from a testing framework:
- run tests in classes or modules
- report output with some configurable name (javadoc comment, Python Docstring, etc)
- some way to parameterize tests with different inputs
- organized output that shows what failed
- if it’s an integration test, keep track of failures over time
Our QA uses cucumber and it works for them, so I only whine when I need to deal with it.
Cucumber can do all of that. Except for failures over time but I’ve never used a framework for that. CI tools typically track that.
I think there’s one question you should answer in order to fully describe your “testing framework”: is it being used for “end to end tests” or “integration tests” or “unit tests”? https://k-hartanto.medium.com/testing-pyramid-and-testing-ice-cream-cone-what-is-the-difference-6ddde3876c20
For unit tests, something like https://en.wikipedia.org/wiki/JUnit is useful. For testing a program after it’s deployed, something like https://jbehave.org/reference/stable/story-syntax.html is useful. You get different information about your program from each type of testing, and one type can detect issues even if the other didn’t, so doing both is useful.
“Oh” Drops cucumber
This is one of those things where if I was to say, “no, but I know celery”, people would think I was being silly.
Well yeah, cucumber is a Ruby/Java/etc testing framework and celery is a Python async task queue framework. Know what job you’re applying for, silly.
😁
That some new framework or something?
Edit: yeah, a testing tool.
And here I thought the fact that it’s spelled “Cucumber” and not “qcmbr” was the giveaway that it’s a joke.
Hey, i’m german. It’s Gurke here.
At the rate those things get spewed out, you can use pretty much any dictionary word and it’ll be the name of some kind of software tool. Probably in javascript.
Surprisingly, yes, I do. Cucumber is a testing tool
for ruby applicationsfor a whole lot of programming languages.Yeah, we use gherkin, which is a variety of cucumber. Programmers name things weird. Java is a coffee bean and C is just a letter; they’ve just gotten big enough that people recognize them now.
With capybara and selenium
Java is an island
Gherkin is the syntax, Cucumber is a specific implementation.
C is just a letter
It’s the successor to B, which was derived from BCPL (“Basic Combined Programming Language”)
Incidentally, C++ is a reference to how integer values are iterated in C. And then C# is a pithy take on C++ wherein you’ve stacked two rows of plus signs on top of each other.
There’s often some rhyme or reason to these names.
I found this interesting, was there an A?
Proceeds to go look it up while still hoping for your knowledge
Java is also an island
(Sorry, small inside joke for German-speaking Java programmers)
And slang for coffee, which is some old tech too IIRC
Java for insels
Have always personally seen Gherkin being used with Cucumber, as I believe that they’re two parts of the same whole, but I’m happy to be corrected if wrong :).
My understanding is that Gherkin is the syntax used to write the scenarios / acceptance criteria, whilst Cucumber is the tool that interprets said scenarios and executes them as automated tests.
There are only two hard things in Computer Science: cache invalidation and naming things
– Phil Karlton
I wonder what A and B looked like XD
Eating, preparing, or inserting? The answer is yes.
Demonstrate doing all three in the proper order. You get one cucumber.
Careful, they might rule you out for being overqualified
Testing stuff with cucumber is really cool tbh
I disagree. I’m a full-stack engineer, and every time I interact with our QA test suite in cucumber, I break out in hives. I hate keeping the gherkin feature file up to date with the test code, why so much complexity?
Ah. Yeah to be fair I’ve only used it on personal projects. I’ve never had to use it at work. Maybe I’d change my tune after that experience
Or maybe we just use it poorly. It doesn’t help that we use perhaps my least favorite language for testing: Java. I’ve written tons of integration tests, but we just used Python and unittest with some plugins to make output nicer, and it was pleasant enough.
It’s a terrible time right now. I’ve applied for over 100 roles this year and only got 3 interviews. Interviews went well, but you never move on. Likely they had someone in mind for the position already.
I think I’m close to reaching out to one of those temp agencies and try to find a year contract somewhere with the hope I end up getting a permanent offer somewhere.
I have 10 years experience in operations and finished a BBA a year ago and it has not amounted in any new opportunities sadly.
Just keep working on your cucumber. Things will come around.
Getting onto a short term contract sounds like a good next move.
Something is better than nothing, but keep looking.
Do cucumbers have experience in you?
I assume that’s what experience with cucumbers was
Yeah but then they add all these new requirements to be considered “experienced”. Every company really wants you to know Cucumber++ but only to spent all your time converting old legacy Cucumber code. It’s going to be an awful job to take.
And some of them don’t even know that CucumberScript is an entirely different language. No one would ever use CucumberScript in the Backend. It’s clearly a frontend only language. But nope. They keep trying to ask you if you have experience with Cucumber++ or CucumberScript for backend work. These recruiters have no idea what they are even asking you. You clearly should be using Eggplant. It’s the only thing that will work longterm as your backend requirements expand.
Cucumba!
Fun fact!
Cucumbers taste better when taken in anally
*end-to-end
That’s not what I meant when I said I had taste buds up the ass!