Best Software Testing Training Institute. We help software testers to be more efficient and effective in their work, through the certification of competencies. please subscribe our youtube channel : ua-cam.com/channels/0xat537YITJbN_9GSMUALA.html Fb page : facebook.com/learn.automation.testing linkedin page : www.linkedin.com/in/qa-cult-64835bb1/ website: www.qacult.com for various blogs and Upcoming Events.
I've been doing web and microservice application development for a long time and this is one of the best teaching videos I've come across. The concepts were well explained and the examples did not overwhelm the viewer. Great Job!
Nice to hear! If there are any other topics you would be interest feel free to let me know. I have experience in a wide array of software development and automated testing projects
Thank you so much! This was a pretty elaborated explanation, even if your voice was hard to hear due to the volume. I'll be applying this knowledge to my upcoming interview.
Awesome! I hope it helped and good luck. For some people UA-cams audio normalization on this video is a little odd for some reason. I've has some people say that if they view it in something like TeamViewer or other remote software it doesn't work correctly. I have also been told by some people that when they were logged out of UA-cam the audio was fixed
Good job Sir ❤❤❤. You know using an good example is the key to be a good teacher. And u r doing it. Lots of UA-camrs don't understand it. I subscribed your channel thank u 🌹❤
Just watched this first episode, as a addition to my (non-automated) testing experience, and i have to say it was very pleasant watching it, good pace, nice explanations. I am also impressed by how easy Gherkin looks.
Thank you for this very clear definition of Gherkin language! Could be great if you include in your 3 video a reference to the other two, in order to start properly!
Best Software Testing Training Institute. We help software testers to be more efficient and effective in their work, through the certification of competencies. please subscribe our youtube channel : ua-cam.com/channels/0xat537YITJbN_9GSMUALA.html Fb page : facebook.com/learn.automation.testing linkedin page : www.linkedin.com/in/qa-cult-64835bb1/ website: www.qacult.com for various blogs and Upcoming Events.
The keywords Given, When, Then, And, But, etc., are recommendations not set in stone rules. They are meant to make your scenarios more readable. But they are in no way strict keywords like in a programming language. For instance, you can use "Given" for an action and "When" for a precondition and the test will execute the same way. You can also use the same keyword throughout if you want (i.e. use "When" for every line). The only drawback to this is that it makes your document less readable by humans. So, what Jared showed here is the RECOMMENDED convention to follow.
@@Driverforcash I am not sure what you mean by that. The keywords (I guess) are just a guidance. They hold no special meaning with regards to test execution.
I think it acts as a single loop, taking one row of values at a time. So first iteration of the loop takes "name" for placeholder and "missing_name_error" for placeholder Second iteration of the loop takes "email" for placeholder and "missing_email_error" for placeholder And so on...
do you have and example how to implement a 3 steps like: - given table with 3 records (and provide all values for all columns of the 3 rows). - execute database procedure that does something with the table. -provide table values as they should look after executing procedure to confirm procedure works as intended. I used in a client jenkins -> maven + liquidbase maven plugin + cucumber maven plugin, and was really great but.. ci/cd system was already in place, so i/we just used without caring how to setup it from scratch. So it has been frustating googling for this type of cucumber test "table before--execute procedure--table after" and i simply cant find anything online. The point i am at the moment is seems to me cucumber tests need implementation of the steps to do the real work, which in my case would be to truncate table, insert records in a table, execute procedure and finally compare whatever table rows have vs the snapshot i got in after test. Would appreciate any suggestions that would allow me to either grab some open source implementation of cucumber tests like the one im looking for, or at least a simple example of how to implement steps, so i can eventually try implementing myself the steps i mentioned (probably in python i guess).
One option would be to use tables in your gherkin something like what I have below. I have also worked with clients where we read the data from a spreadsheet to populate the data and verify the expected result. Given the "User" table has the following records: | first_name | last_name | account_balance | | Jane | Smith. | 100.01 | | Jon | Smith | 500.00 | When I execute the "subtract fee" on the "User" table Then the "User" table should have the following records: | first_name | last_name | account_balance | | Jane | Smith. | 99.01 | | Jon | Smith | 499.00 |
@@TheOhayoDev Meanwhile I kept googling and learned a bit more on this subject of tests: 1. we need to manual code the steps - this is where i been struggling as why i cant find anything online or github, surely someone had implemented the given table > execute proc > then table pattern right ? But i havent found a good soul sharing that. 2. Theres Cucumber and thers Behave. A friend of mine suggested Cucumber more Java env and Behave more Python env. Im database sql developer so i rather stick with the elegant Python i guess to implement the pattern. But thanks, your example its exactly what myself as developer used in enterprise customers, but as a user, as i havent created the ci/cd pipeline.
Please share nice link example showing implementation of implementing such steps using Behave: Given the "User" table has the following records: ---> would load into test original_collection and then SQL truncate table + insert i suppose. | first_name | last_name | account_balance | | Jane | Smith. | 100.01 | | Jon | Smith | 500.00 | Then the "User" table should have the following records: --> would SELECT into test collection and compare with original_collection. | first_name | last_name | account_balance | | Jane | Smith. | 99.01 | | Jon | Smith | 499.00 |
There are some tools that you can use to help with the multifactor authentication. On past projects where we have had to get through the Google's multifactor authentication we had to work with google to setup a specific account.
Best Software Testing Training Institute. We help software testers to be more efficient and effective in their work, through the certification of competencies. please subscribe our youtube channel : ua-cam.com/channels/0xat537YITJbN_9GSMUALA.html Fb page : facebook.com/learn.automation.testing linkedin page : www.linkedin.com/in/qa-cult-64835bb1/ website: www.qacult.com for various blogs and Upcoming Events.
This is great, and it looks particularly helpful, especially for integration testing. I'm curious, however, if you could explain or demonstrate the aspect where you say you have to write your test codes. How does this tie to the code and perform tests?
18:21 Are there tools that would generate those combinations of variables exhaustively or even with some intelligence (e.g. boundary value analysis, equivalence class testing) based on Gherkin? I know that there are some model-based testing tools that can do this but didn't found it yet for Gherkin.
This video helped me a lot! Thank you! But what I don't understand is, when you write your cucumber code, how do you know if it succeeds or fails? It should be in the Then statement right?
@@TheOhayoDev to be honest I don't know where to start so cannot say which topic. I have a problem which I am trying to solve since 4 days and could not get it. And it's due on Monday. If you could take a look. I did few steps and don't know if it's correct
@@TheOhayoDev sir i tried sending the message but for some reason I don't see the message icon on your channel. I tried both desktop and mobile still unable to do so. Can i please contact you through email ? Jamalm0203@gmail.com
Thank you for putting this onto youtube - watching the video after having read the blog truly cleared up some questions. Question - Over what time frame should all the sessions for one story be completed? if in the instance, there are many unknowns and further discovery is needed, but capacity is limited - would it be fine to pick up the second/following sessions a week after? also, would you recommend doing 1 example mapping session everyday or at least a few a week? thanks so much
Generally our most successful projects have nailed down the broad strokes of all the stories in a planned release over a couple days. After that we usually work closely with the product owner multiple times a week for the life of the project to continue to refine the stories and tasks needed for the release. Don't expect to plan it everything up front.
Thank you for the video, Jared. I am helping with a project at work using Cucumber and am trying to figure out how to run a callback (to log some custom output) after a Timeout error occurs. a default timeout length is set in a setup config file, and the tests that exceed that time limit do show as timing out in the console, but when this occurs we want to log some custom output. Ideally this custom output needs to be run dynamically for any test that fails because of a timeout, s inserting a setTimeout callback for each individual test is not an option. I was thinking about playing around with an After hook and checking scenario to see if it failed, but I don't know if there is a better way to do this. I have not been able to find documentation to show how to do this and wanted to know if you have any suggestions. Thank you.
Good Morning How are you ... You are doing a great job yours videos are user friendly .... Question : I have 35 test case in my frame work and i wanted to run smoke test . So what I did i have put all test cases in a new feature file name smoke.feature and now when i am running this feature file I am getting an error " Invalid Session Id " . I will appreciate if you please help me fix this error ..... All of my test cases are working great individually ...... Thank you You have a nice day Frank
Yeah for some people UA-cams audio normalization on this video is a little wonky for some reason. I've has some people say that if they view it in something like TeamViewer or other remote software it doesn't work correctly. I have also been told by some people that when they were logged out of UA-cam the audio was fixed
Assumption: When a developer runs these tests, thus would be after they have written the code for the solution. Question: (Developer process steps) Scenario 1 1. Does a developer look at the requirement (user story) 2. investigate the current code to see how it works and understand this 3. Define what code changes are needed to the current code to meet the requirement 4. Write the code they have defined to meet the requirement 5. Then run the Gherkin tests to prove the changes work and the requirement is met Or Scenario 2 Do they copy and paste the "Given, When, Then" into Gherkin and keep running the test looking for errors and defects for the tests, and keep correcting the code until there are no more errors Thanks
That would depend on whether they are using TDD (Test Driven Development) or not. Using a TDD approach, they would actually write the test first, have it fail, then write the code in order to try and make the test pass. You would usually iterate this process numerous times until the test passes.
@@TheOhayoDev Well then maybe look into some fundamental Computer Science principles like State tables and Truth tables. I think 'technologies' like cucumber only exists because of general ignorance in the field.
@@chrischoir3594 Sounds like a solid idea. I've been teaching at the local community College and I definitely noticed the students struggling with the concept of truth tables
One of the most clean, concise, helpful tutorial videos on Cucumber I've found. Many thanks.
Best Software Testing Training Institute.
We help software testers to be more efficient
and effective in their work, through the
certification of competencies.
please subscribe our youtube channel : ua-cam.com/channels/0xat537YITJbN_9GSMUALA.html
Fb page : facebook.com/learn.automation.testing
linkedin page : www.linkedin.com/in/qa-cult-64835bb1/
website: www.qacult.com for various blogs and Upcoming Events.
Six years past, but still relevant data. Thank you!
I've been doing web and microservice application development for a long time and this is one of the best teaching videos I've come across. The concepts were well explained and the examples did not overwhelm the viewer. Great Job!
Nice to hear! If there are any other topics you would be interest feel free to let me know. I have experience in a wide array of software development and automated testing projects
Thank you. I found your presentation most helpful compared to others I have seen on UA-cam.
Clean, Clear and to the point. Great explanation. Thank you very much.
Glad it was helpful! Let me know if there are any other video topics you're interested in.
I love how you explain things in "plain English". You make it very easy to understand these concepts.
You made it sound simple! Thank you, as newbie I had a good overview.
Glad it was helpful!
Thank you so much! This was a pretty elaborated explanation, even if your voice was hard to hear due to the volume. I'll be applying this knowledge to my upcoming interview.
Awesome! I hope it helped and good luck.
For some people UA-cams audio normalization on this video is a little odd for some reason. I've has some people say that if they view it in something like TeamViewer or other remote software it doesn't work correctly. I have also been told by some people that when they were logged out of UA-cam the audio was fixed
I really like the structure and pacing of your explanation. Definitely checking out the other videos.
Awesome, thank you! If you have any suggestions for anything else you would like to see let me know.
Excellent session. It is explained with simple language. Thank you.
Great hi-level intro/explanation that's not too high-level (with some specific examples) - EXCELLENT! THANK YOU
Glad you enjoyed it!
Very comprehensive, nice work!
Very well Articulated...clear examples. Great work Jared!..Thanks!!!
Good job Sir ❤❤❤. You know using an good example is the key to be a good teacher. And u r doing it. Lots of UA-camrs don't understand it. I subscribed your channel thank u 🌹❤
Just watched this first episode, as a addition to my (non-automated) testing experience, and i have to say it was very pleasant watching it, good pace, nice explanations. I am also impressed by how easy Gherkin looks.
Yes author of this video explains awesome. And you, are you an QA engineer?
Have you seen the author's"Gherkin best practices" video?
Yep. But you still need to write the code for the test.
Thanks for the Introductory video- It exposed me to the future Cucumber life!
The best explanation ever, thank you.
Wow really? I'm glad you liked it. This was my first video so it is nice to get some positive feedback
The video is simple but explained in a very good manner so as to make to newbie understand cucumber effectively. Thank you.
I am currently trying to learn Cucumber with Ruby and this has helped! Thank you.
Great intro, very comprehensive, thanks!!
great tutorial, i have been searching for a tutorial that is not explaining at the speed of light with an accent that I have to decipher .
Thank you Jared for your explanation. It's useful for me new entry in Ruby.
Excellent Presentation Jared - Cannot ask for more than this!
Thank you, very well explained with examples.
Glad it was helpful!
Thanks you :) Nice tutorial what cucumber is. What is and how to use it and functions in it works.
Explained well, but the volume is kind of low. Thank you.
Thank you for this very clear definition of Gherkin language!
Could be great if you include in your 3 video a reference to the other two, in order to start properly!
Best Software Testing Training Institute.
We help software testers to be more efficient
and effective in their work, through the
certification of competencies.
please subscribe our youtube channel : ua-cam.com/channels/0xat537YITJbN_9GSMUALA.html
Fb page : facebook.com/learn.automation.testing
linkedin page : www.linkedin.com/in/qa-cult-64835bb1/
website: www.qacult.com for various blogs and Upcoming Events.
The keywords Given, When, Then, And, But, etc., are recommendations not set in stone rules. They are meant to make your scenarios more readable. But they are in no way strict keywords like in a programming language. For instance, you can use "Given" for an action and "When" for a precondition and the test will execute the same way. You can also use the same keyword throughout if you want (i.e. use "When" for every line). The only drawback to this is that it makes your document less readable by humans.
So, what Jared showed here is the RECOMMENDED convention to follow.
So is cucumber just a guidance to a feature file then ?
@@Driverforcash I am not sure what you mean by that. The keywords (I guess) are just a guidance. They hold no special meaning with regards to test execution.
It was a very informative video.keep up the good work.u made this really easy to understand.thankyou.
thank you, this is a great intro to the subject.
Glad it was helpful!
Thank you for your dedication and good job!
I'm missing a github example project, but the explanation is very clear thank you.
thanks a lot very useful I hope there is a full playlist in your channel
Can anyone help me for the upload functionality in cucumber framework with gherkins
Great video, extremely helpful & easy to follow
Thank you! This was truly helpful for me.
The sound in the video is so low.
Does the scenario outline with two headers shown at 18:25 act as a nested loop? Awesome explanation by the way!
I think it acts as a single loop, taking one row of values at a time.
So first iteration of the loop takes "name" for placeholder and "missing_name_error" for placeholder
Second iteration of the loop takes "email" for placeholder and "missing_email_error" for placeholder
And so on...
@@HowRandomIsRandom You've got it exactly
Great job Jared!
This was extremely helpful. Thanks so much for doing the video.
do you have and example how to implement a 3 steps like:
- given table with 3 records (and provide all values for all columns of the 3 rows).
- execute database procedure that does something with the table.
-provide table values as they should look after executing procedure to confirm procedure works as intended.
I used in a client jenkins -> maven + liquidbase maven plugin + cucumber maven plugin, and was really great but.. ci/cd system was already in place, so i/we just used without caring how to setup it from scratch.
So it has been frustating googling for this type of cucumber test "table before--execute procedure--table after" and i simply cant find anything online.
The point i am at the moment is seems to me cucumber tests need implementation of the steps to do the real work, which in my case would be to truncate table, insert records in a table, execute procedure and finally compare whatever table rows have vs the snapshot i got in after test.
Would appreciate any suggestions that would allow me to either grab some open source implementation of cucumber tests like the one im looking for, or at least a simple example of how to implement steps, so i can eventually try implementing myself the steps i mentioned (probably in python i guess).
One option would be to use tables in your gherkin something like what I have below.
I have also worked with clients where we read the data from a spreadsheet to populate the data and verify the expected result.
Given the "User" table has the following records:
| first_name | last_name | account_balance |
| Jane | Smith. | 100.01 |
| Jon | Smith | 500.00 |
When I execute the "subtract fee" on the "User" table
Then the "User" table should have the following records:
| first_name | last_name | account_balance |
| Jane | Smith. | 99.01 |
| Jon | Smith | 499.00 |
@@TheOhayoDev Meanwhile I kept googling and learned a bit more on this subject of tests:
1. we need to manual code the steps - this is where i been struggling as why i cant find anything online or github, surely someone had implemented the given table > execute proc > then table pattern right ? But i havent found a good soul sharing that.
2. Theres Cucumber and thers Behave. A friend of mine suggested Cucumber more Java env and Behave more Python env. Im database sql developer so i rather stick with the elegant Python i guess to implement the pattern.
But thanks, your example its exactly what myself as developer used in enterprise customers, but as a user, as i havent created the ci/cd pipeline.
Please share nice link example showing implementation of implementing such steps using Behave:
Given the "User" table has the following records: ---> would load into test original_collection and then SQL truncate table + insert i suppose.
| first_name | last_name | account_balance |
| Jane | Smith. | 100.01 |
| Jon | Smith | 500.00 |
Then the "User" table should have the following records: --> would SELECT into test collection and compare with original_collection.
| first_name | last_name | account_balance |
| Jane | Smith. | 99.01 |
| Jon | Smith | 499.00 |
Great explanation! Keep it up man.
Thanks for this. It was quite helpful.
Great introduction. Thanks
Hopefully it helped 👍
Thank you so much for the amazing work
Nice introduction tutorial. But also help to do hands on experience on it.
Excellent Job Jared ! Thank you so much !!
Great Video, Thanks!
Thanks for the presentation. My query: how to handle dynamic input e.g you have to login with requested random 3 pins every time out of 6 pins.
There are some tools that you can use to help with the multifactor authentication. On past projects where we have had to get through the Google's multifactor authentication we had to work with google to setup a specific account.
Thanks for the video Jared.
Very Helpful, thank you for creating this video.
Thanks for the great introduction!
Best Software Testing Training Institute.
We help software testers to be more efficient
and effective in their work, through the
certification of competencies.
please subscribe our youtube channel : ua-cam.com/channels/0xat537YITJbN_9GSMUALA.html
Fb page : facebook.com/learn.automation.testing
linkedin page : www.linkedin.com/in/qa-cult-64835bb1/
website: www.qacult.com for various blogs and Upcoming Events.
Hi! Can you create a tutoriak on how to use automation conmected to Cucumber Studio
What kind of automation are you thinking of? Web testing?
This is great, and it looks particularly helpful, especially for integration testing. I'm curious, however, if you could explain or demonstrate the aspect where you say you have to write your test codes. How does this tie to the code and perform tests?
18:21 Are there tools that would generate those combinations of variables exhaustively or even with some intelligence (e.g. boundary value analysis, equivalence class testing) based on Gherkin?
I know that there are some model-based testing tools that can do this but didn't found it yet for Gherkin.
Thank you so much!
excellent explanation! thanks
Thank you, learnt something new
Glad it was helpful!
This is awesome too. Thanks
Thanks a lot. Very good lesson.
Very well explained, but please level up the volume, because even if I set the volume higher the ads are way too loud (ears destroyed)... thanks!
Sorry about that. Definitely working on dialing the audio in on later videos
That flicker on the video just gave me an epileptic episode. Thanks for the warning :{
@@TheOhayoDev see bottom right corner 8:16
@@TheOhayoDev was just joking though. I dont have epilepsy., but can imagine that someone who does have epilepsy might get a fit from that flicker
Awesome man, thanks!
Hi @jared Is there a scenario repository for web features that exist somewhere? Maybe Someone in here knows where. Thank you!
Thank you!
You're welcome! I hope it helped
Thanks for nice Video, My Question is Feature file contains multiple scenarios, it there any way we can prioritize the scenarios in a feature file
Прекрасный урок большое спасибо .
Very good, thank you
The volume is way too low :/
This video helped me a lot! Thank you! But what I don't understand is, when you write your cucumber code, how do you know if it succeeds or fails? It should be in the Then statement right?
More videos like this one, I loved it. One question thou... I would press on When it would log me in ?
If given is for some required data how i can handle with optional data?
@@TheOhayoDev thanks
@@TheOhayoDev can I have your point of contact . I am intrested in taking training
@@TheOhayoDev to be honest I don't know where to start so cannot say which topic. I have a problem which I am trying to solve since 4 days and could not get it. And it's due on Monday. If you could take a look. I did few steps and don't know if it's correct
@@TheOhayoDev sir i tried sending the message but for some reason I don't see the message icon on your channel. I tried both desktop and mobile still unable to do so. Can i please contact you through email ? Jamalm0203@gmail.com
@@TheOhayoDev and thanks a million for helping me out sir
Thank you for putting this onto youtube - watching the video after having read the blog truly cleared up some questions. Question - Over what time frame should all the sessions for one story be completed? if in the instance, there are many unknowns and further discovery is needed, but capacity is limited - would it be fine to pick up the second/following sessions a week after? also, would you recommend doing 1 example mapping session everyday or at least a few a week? thanks so much
Generally our most successful projects have nailed down the broad strokes of all the stories in a planned release over a couple days. After that we usually work closely with the product owner multiple times a week for the life of the project to continue to refine the stories and tasks needed for the release. Don't expect to plan it everything up front.
Good job!
The material seemed a little under-rehearsed which was distracting. Still appreciate the content and the work you put into it.
Thanks for the feedback. I will definitely try to improve on that in the future
Thank you for the video, Jared. I am helping with a project at work using Cucumber and am trying to figure out how to run a callback (to log some custom output) after a Timeout error occurs. a default timeout length is set in a setup config file, and the tests that exceed that time limit do show as timing out in the console, but when this occurs we want to log some custom output.
Ideally this custom output needs to be run dynamically for any test that fails because of a timeout, s inserting a setTimeout callback for each individual test is not an option. I was thinking about playing around with an After hook and checking scenario to see if it failed, but I don't know if there is a better way to do this.
I have not been able to find documentation to show how to do this and wanted to know if you have any suggestions. Thank you.
brent marquez Z
judging from the channel name, I expected the video to start with "Ohayoo"
Lol sorry this video predates the channel name. We do use that intro in some of the newer videos
Great Video. I think the woman in the background had COVID
In 2017?
Lol yeah I think that would have been called COVID-16 or 17
Awesome 👍
Good Morning
How are you ... You are doing a great job yours videos are user friendly ....
Question : I have 35 test case in my frame work and i wanted to run smoke test .
So what I did i have put all test cases in a new feature file name smoke.feature and now when i am running this feature file I am getting an error " Invalid Session Id " .
I will appreciate if you please help me fix this error .....
All of my test cases are working great individually ......
Thank you
You have a nice day
Frank
Good.
Thank you!
Volume is SO QUIET...
Nice, thanks
thank you soooo much.
good video
Glad you enjoyed
nice tutorial, but sound is very low
Yeah for some people UA-cams audio normalization on this video is a little wonky for some reason. I've has some people say that if they view it in something like TeamViewer or other remote software it doesn't work correctly. I have also been told by some people that when they were logged out of UA-cam the audio was fixed
Thanks a lot !!
I hope it was helpful
Assumption: When a developer runs these tests, thus would be after they have written the code for the solution.
Question: (Developer process steps)
Scenario 1
1. Does a developer look at the requirement (user story)
2. investigate the current code to see how it works and understand this
3. Define what code changes are needed to the current code to meet the requirement
4. Write the code they have defined to meet the requirement
5. Then run the Gherkin tests to prove the changes work and the requirement is met
Or
Scenario 2
Do they copy and paste the "Given, When, Then" into Gherkin and keep running the test looking for errors and defects for the tests, and keep correcting the code until there are no more errors
Thanks
That would depend on whether they are using TDD (Test Driven Development) or not. Using a TDD approach, they would actually write the test first, have it fail, then write the code in order to try and make the test pass. You would usually iterate this process numerous times until the test passes.
Can i have an email. I am intrested in taking training
Audio was too quiet.
thank you
I like
Thanks
thanks
it is a good video Jared, but I am finding extremely difficult distinguishing when and then from your video. Please take care of it next time
Not able to hear properly, even with full volume.
too much ads
Thanks for sharing your knowledge...However, I must say though this is not BDD.
Gherkin and Cucumber are tools used for Behavior Driven Development.
Spaces instead of tabs? That's terrible design. There are much better formatting options available to put in a framework. Fail on Cucumber.
I don't see the point of this. It's way too much work for too little gain.
Very valid point and I do not necessarily disagree from a practical standpoint
@@TheOhayoDev Well then maybe look into some fundamental Computer Science principles like State tables and Truth tables. I think 'technologies' like cucumber only exists because of general ignorance in the field.
@@chrischoir3594 Sounds like a solid idea. I've been teaching at the local community College and I definitely noticed the students struggling with the concept of truth tables
poor sounds !
Thank god you are not pronouncing it kookambah