The best answers to interview questions/ Junior QA Automation Engineer | SDET

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
good afternoon QE automation engineers and those who are planning to become one soon my name is Sergio kromchenko I am a founder of economy 5 boot camp I've been teaching in a preaching QA for more than nine years and today I want to share three news with you guys first of all we're going to interview two of our ex students and now hope they're working as the key automation Engineers today we're going to go through 30 interview questions for the QA for a junior QA automation engineer position as you guys have sent us hundreds of requests for that video so we're going to spend approximately an hour answering those questions so you could learn how to answer them in the best way possible news number two one of our students have just received an offer which is 65 bucks an hour which is not bad as the first offer ever but I just wanted to tell you guys that this is an exception because he did not even finish the course he went only through half approximately half of the course and he got an offer already once again this is an exception this is not something everyone will get if you pay us if you get the course you have to study hell of a bunch you have to work really hard you have to study I mean he started full time some of you guys can study part-time but he'll start it full time and one more time this is an exception don't expect to get that much money within that short period of time and also for people who who are looking for a job from the outside you'll get much less just because everyone understands that if you are outside of the US very likely your spendings are much lesser than here you don't spend as much money on everything so you get less money as salary any news number three we are going to host our free webinar in just a uh in three days if I'm not mistaken you can follow the link right below this video if you would like to join us alright let's get directly to the video please hey everyone good to see you guys good to see you Sergey hey Sergey how's it going man oh good all good I'm here in the Boston Massachusetts living life play soccer this morning but I'm here to interview you guys and tell and actually ask you first of all I'm pretty sure a lot of people are wondering how do QE automation Engineers spend their weekends as look as it is in Brazil and Anastasia is in Texas so Anastasia sincere lady let's start with you how did you spend your weekend sure so I spent a lot of time with and actually last weekend I was in Boston too oh no way that's awesome I think the sound interrupted for a second you said you spend this weekend with family probably yeah sounds good sounds good so key automation Engineers also have families and lives they don't only write code Lucas how about you yeah pretty much the same I had I had um a wedding this Saturday from a couple of friends so we spent the whole day during the day there and at late of night so and today woke up a little bit later then went to have lunch with the family just chilling the afternoon and reading a little bit that's it possible alrighty thank you for the quick um semi introduction I think everyone already knows Lucas and if you guys do not I'm going to attach a link to the video right here and Anastasia I don't think we've had you on our YouTube channel yet right do you want to introduce yourself and tell us who you are how did you get here to this video yeah sure so my name is Anastasia I'm originally from Ukraine but I live in Dallas Texas uh last six years an advanced research course um a year ago I think or maybe a year and a half or maybe two even something like that yeah I think almost two years ago yeah and uh that was very helpful because previously I was learning kind of myself and um that was like not very structured um yeah I'm so I'm working with a career animation engineer last 10 months Stadium awesome thank you thank you thank you yeah let's feel comfortable by the way you guys gonna all notice that I'm one of those who cannot sit in one spot you'll always see my jeans popping up because I'm moving my legs I'm moving my body I just cannot sit in one place for a long time and I know a lot of people a lot of people are having fear that they will not fit this position or this career as you have to sit in one place and you have to program or write code but as Lucas is already waving with his head that's that's not the case uh I don't know that's not the case at all I can tell you that how do you do that how do you handle yourself if you are one of those people that as my Grandpa would say your twister you are always twisting things around and running around cannot sit in one spot yeah one of the things that is good about this position is that the flexibility you have to choose where you want to work for example I have my office at my apartment so I pretty much work every day from here but there are some days I like to go to a different Cafe and just work for in a different environment or uh sometimes I had to go to my mother's City and I just go and I can sit in her office or in her house and work from there then I can have a break in the middle of the day and have a coffee with her and chat a little bit with her and then get back to work so it's never boring yeah yeah that makes sense that's amazing that's amazing working remote uh awesome all right around the house all the time and sometimes someone working for on my bed if all girls are a video off so that's great actually that's what I like this job because I hit gym a lot I go as you guys can see those guns I'm just kidding uh I hit the gym a lot and a lot of times I would go to gym on Monday I would work out for like two or three hours and then I would be dead next day because of the heavy weights I would be just laying on the bed and typing in the computer all day yeah all right all right let's get started so I gotta I prepared a list of questions uh for the junior junior I would say mostly for junior but still uh QA automation engineer and we will go through those all together as always you guys know the drill I'll ask the question whoever wants to answer it volunteer if you do not wish the answers simply just just don't answer and I'll pick it up myself and I'll answer it uh all right first and the most important actually you know what this is the question that everyone gets during the interview but since this is this is the QA uh automation engineer interview I think we should ask this question you guys as well so tell me about yourself but it's it's a bit different because now we're just talking about a key automation interview position although you always talk about similar things whenever you are answering this question but you know what let's have our gentleman Lucas answer the question if you don't mind and then we'll go through the list of the more technical ones yeah sounds good so uh Hey guys my name is Lucas uh I'm based out of Brazil I'm QA automation engineer I took serious course so everybody knows that already if you look at the other video series you mentioned um I joined this position after coming from the construction engineering field I work as a construction engineer for many years then I decided to change careers and start working in Tech to have more uh freedom in terms of geographic geographical freedom to choose where I wanted to work from uh so that's pretty much it how I ended up in this in this automation world uh and I would say like my my responsibilities as a QA automation engineer include but are not limited to um testing the functionalities we we do in my company we do manual testing for for the functionalities for the releases so testing the tickets manually verifying the functionality for the releases uh checking for for Books five fighting bugs writing bug reports uh writing the test cases for the tickets that we tested to be able to write automation for them after that then automating those test cases in in an order that makes sense in in terms of criticality in terms of many things uh priority and whatever and so automating those test cases also writing those documentation for the team to help Junior Engineers that are joining that seem to know how things are going how things should be done um what else uh helping to to improve the efficiency helps you improve um how we handle Automation in our in our company looking sometimes looking maybe for a better framework for example how to to to handle different cases different types of tests um yeah coming with coming up with suggestions and things to to improve this um whatever and what else can I say hmm yeah joining a lot of meetings every day yeah awesome I think I think you mostly answered about your job duties overall but specifically about automation do you want to tell us I would always add that this company we're using such and such tools languages Frameworks yeah it's been a long time she said no answer this question so sometimes we forget it uh yeah we in my company we we uh we were using for the past years uh seleni web driver automation framework and now we are moving to playwright so we are working on the migration for all those thousands of test cases to play right so that's a ton of work especially because we still need to deal with the automation of all the new functionalities that are coming on every week every release so we have a lot of work in this case so we are migrating to play to play right right now we were halfway there so probably now on the second quarter we're gonna finish the migration and we're gonna have less work with every driver we can show that off and um we work as playwright accepts JavaScript and typescript we use both actually we're using mostly typescript right now because we're trying to um to make that a general pattern among the the engineering team no yeah and uh as test case management tool we use jira right now jira has the new functionality quality called quality I never know how to prep to pronounce that correctly because the rate's written is a little bit strange we were using a test rail before now we we migrated to to Quality which is uh here so jira has everything right now so we use jira for managing the tickets the bug reports everything and also the test cases so now it's all combined in one one platform interesting that's awesome that's awesome it improved a lot our our efficiency with test cases yep yep awesome great thank you for the answer and by the way guys if you want to know how do I usually answer this question the link is going to be attached right here all right now let's follow our list so first interview question well no second one uh what is the QA Automation and why is it important that's pretty much a general question that well a lot of times you can get for the junior position so people just want to know what in your opinion rmhk automation is and why is it important anyone I can take that sure let's do that let's go so uh so in testing uh we have both manual and automation testing so the manual testing as the name says it's pretty basically doing manually what the functionality described in a ticket uh should be done yeah the testing how that should be done manually so really going there clicking typing seeing if the things are working and uh on the automation side we're gonna use a code language like JavaScript for example an automation framework or like play Red for example to do exactly those steps but in an automated way so something that we would say I don't know maybe 10 minutes to do manually one test is going to take a minute or less than that and this is really important because it helps us to scale our our testing framework across the company so as our our application girls our testing has to grow as well and we cannot have so many Engineers to do everything manually for every release especially because we have to do to deal with regressions for example every release you have to pre-tests we have to test everything that was already developed to check that the new functionality did not introduce any regression in the application so we can do that manually which takes forever and we can do that with with automation so we can have all those tests automated to run every release to check that we don't have uh new bugs coming in um yeah but pretty much it that was a good one okay and next one will be um C the next one is going to be what is the difference between manual testing and testing I think you already answered this question just right now so the next one would be how many test cases do you have and how many are automated out of those I guess Anastasia you want to take this one yeah sure um so we have 160 Samsung test cases automated and overall we have around 200 so almost ever since automated nice it's mostly because um I work in a consulting company so it's um like short-term project so there will finish it and just um handle that framework to the client yep yep that makes sense that makes sense that's a pretty pretty straightforward answer awesome thanks a lot all right actually let me Mark those with uh would check marks so I would know which one I already answered okay and the next one uh how do you choose which test cases to automate let's go to the station yes so first you will automate main functionality like login um I would say check out um if it's scarce application search and then it will also depend on priority um if there is some new functionality that needs to be checked or also part application that takes um the long the longest time to go through manually uh so also kind of stuff like registration um maybe like forgot password so something that will involve uh sending emails to sending emails and like um verifying links are also important part yeah makes sense makes sense so pretty much uh regression uh regression runs right that those who are taking the longest time and then By Priority yeah fair enough fair enough that makes sense add something to that one of the things that is important uh when developers are are writing code they also add tests to the functionalities so developers are mainly writing unit tests integration tests exception tests uh which we call lower level tests right and we as QA automation Engineers mostly write end-to-end tests so one of the things I always do is checking when I check test the ticket check the pr of the developer and then see if the developer already ruled any lower level test that covers that functionality because sometimes that happens and sometimes we don't need to a to add an end-to-end because it's a it's a maybe sometimes it's a simple functionality and it's not really complex and it's already covered by a lower level test then we don't need an infant because the lower level is going to be much faster than the end-to-end one yep yep that's a really good addition to this question uh and if you guys will use it during the interview the interviewer should probably show you that awesome thank you in the next one on the next one uh what tasks can not be automated or should not be automated that's a good one yeah that's a good one yeah I I can charge fans for that um so tests that cannot be or should not be automated one of one of the examples is what I just said like tests that are already covered that they have a lower level coverage already because it's just the double work so you don't need to to have double double coverage on automation for that uh sometimes the tasks are are tests that deal with uh Integrations with different things that are not easy to automate for example sometimes you have I don't know some Microsoft integration with some different uh tool out of your your application that it's really hard to automate or sometimes that makes your application uh not your application your test really flaky because it depends on on the sinking with uh for example in another copy we have uh production with power bi from Microsoft right and it's really hard to automate because power bi has sometimes different timeouts to sync uh when you when you change something in the dashboard and then your test you you never have like a specific timeout that handles that that syncing process sometimes it's it takes longer it takes less time so that's usually are uh very flaky so we'll spend more time maintaining and refactoring those tests and actually running and checking results so it's easier to have somebody doing the manual manual test on that um that's a good one what else could not be automated let me think ketchup yeah recapture that's a good one yeah yeah recapture cannot be automated as well you know which should not automated well it should not be automated uh so whenever we work on the new projects when things are when we're working on a new UI which is will possibly not stick for a while when it's questionable right yeah yeah that's that's a good point because uh you may remember right now uh in the you know in my company we have a big platform it's divided by pods by pods uh each module of the application is a different part with QA Engineers oh sorry yeah good night I was going to ask what is pot and you're explaining it already yeah part is like it's one of the modules of the application we and each part is a team that has QA Engineers developers uh um product managers attack leads and everything uh and we have this pod as our like our own small application in the whole application so we have our own process our own things going on and in this part I started I don't know maybe eight months ago I think nine months ago at the beginning it was very like it was just uh we're just creating that new new module so like the UI would change like basically every release we have would have new things so at the beginning we were not automating stuff we just automated like the critical paths like the things that we would keep forever but all the rest we were just waiting okay let's wait a couple of releases and see uh how much that will change or if we're gonna keep that because we depend on customers uh using and and giving us feedback okay we don't like this let's change let's do something else so yeah that would be one of the things we would not automate yep yep that's a good one and also probably those test cases which which are easy to test manually but it's very difficult to automate I think those would be probably the last ones or at least we should de-prioritize them in for the automation so they'll be at the bottom yeah alrighty that was a good one and the next one how many tasks do you automate per day uh an essentially gonna take this one first it will very much depend on the test sometimes one test can take uh like a week or sometimes you convey it for some some selectors from developers and you can know even like freeze your test for a while but sometimes if tests are very simple or very similar sometimes you can automate like 10 tests per day so yeah that's very different that's the best answer you can get because it will depend I remember myself uh actually automating Microsoft integration through the platform for an audit and it took me a couple of days because it was a long long ass test case uh and then the other days when I was working for Verizon I would automate dozens of API tests very easily pretty much copy paste and it's copy paste added depending on the on the structure of the response uh all right and the next one will be uh what is a test script and how do you create one in JavaScript that's very Broad question I would say because it it's not very it's not specific at all like yeah what is a test script and how we create one in JavaScript it's probably if this was asked by developer who've never done test automation yeah so so in my opinion test script is just uh um like um so instruction of step by step how you would perform actions like the user would but in inside in the uh organized as a script with code that in this case JavaScript so it's just telling the system okay you do this and this and this in this order to test this functionality so this will be a test script in order to do that you have to combine a language model a language like JavaScript with a test automation framework that can be selecting web parameter can be playwrite can be Cyprus many we have many ones uh where you would write for example a test logging um and then you would use uh test navigate to uh page whatever task input login or username task input password task input task click login button and verify writing a search engine to verify that the page is loaded and then the user could log in that would be a simple example of that yep yep perfect guys I would answer it exactly in the same way all right let's go to the next one let's see and the next one is going to be and this one uh okay uh so since you guys both you guys have used playwright right great what are the main features of the playwright testing framework I can answer this because I love playwright so much um oh awesome that's gonna be another question then afterwards let's go yeah so I think my favorite feature is traces um so after test run you can um you you don't need like a headed mod actually because you can review how test run and what actions exactly perform also on each action you can click on the source and see what exactly part of code is it like where whereas uh might be where you can make mistake or stuff like that um what else yeah I think player age playwright especially this type script is very powerful combination um I I don't know if other framers can do that but uh I'm also doing I'm not like tasting API directly but with player they can intercept API response and then compare it to UI yeah yeah I was never doing it with other Frameworks so I'm not sure if um like cyber server web driver you can do it yeah yeah yeah that's a good one that's a good one so I think Cyprus can do that by default if I'm not mistaken but Webdriver IO you have to install Interceptor Library unless they have already added it because I haven't used Webdriver i o for a while you don't need to install a lot of things uh playwright includes I think everything um when playwright Auto weights for elements um it just makes your life so much easier solo shoes so true yeah one of the things I I like personally about playwright is the functionality where you can combine lots of different selectors for example you have a page then you have a row and this row has a a section in inside the section you have a button where you have to click and sometimes it's easier to get like a selector for for all just for that button because it has like thousands of buttons with the latest in select selector in the page so it would be able to to filter by the the bigger selector with the smaller selector with that small button inside this so you can combine different selectors in a row for for financial that's really helpful as well nice that's pretty good one uh anything what else we have there so the API as anesthesia said there is there are a lot of things to use so API client uh the I think the load testing or performance testing tool is also there right in play right I never use it not sure we'll start having some more and more performance stuff right now in our company so probably I'm gonna be studying about that in a few months got it got it so also nice is the the playwright supports multibrowser so you can run like the same tests in Chrome in Firefox in webkit for example exactly and but but those who are not familiar with webkit is Safari right yeah thank you uh already that was a good one uh so then a follow-up two follow-up questions to Anastasia uh that's what usually happens when you answer the question if you give some of this information the interviewer will ask you follow-up questions based on those answers so what other Frameworks are you familiar with because you said you like playwright better than other Frameworks what other ones are you familiar with uh Cyprus web driver yo um I think that's all yeah selenium awesome uh sounds good and why do you prefer web hold up not a web driver why do you prefer playwright versus other ones so I think that allergy like um say that there is you don't need to install a lot of things that yourself um other ones also um I think even playwright functions are much more developed um like click for example in Webdriver you know when I use it last time you can on the click install and uh in playwright um you can do first click you can do the clip click right click um you have so much more options for any function that you want to use yep yep so true so true is very handy I love uh playwright I'm just I'm kind of not intrigued but I'm in shock that not a lot of people are using it yet I know mostly Cyprus has a battery marketing team they've been in marketing for a while and but playwright is definitely a better tool in my opinion uh also because a playwright is using a sync await so you would not have to chain a lot of things into one long ass callback hell as it's called Uh and that's the beauty of I think weight which is used by playwright but which is not used by Cyprus but on the other side Cyprus is trying to make things easier although you are in the Callback as hell when you're using Cyprus and for those who are not familiar with it we'll record video later uh okay Coolio let's move on to the next one uh Lucas I guess you'll take this one explain the difference between end-to-end testing and the unit testing yeah sure I can take that one so unit tests are usually written by the developers we as QA automation Engineers I I don't know any QA automation engineer who has written unit tests uh so unit tests are basically verifying a very small units of the code so when the developer is writing uh uh creating something writing a function that unit test is going to verify that that small piece of the that function is giving the expected output so it's really working also expect yeah so this is a unit test and and trend has mostly written by a QA automation Engineers verifies the whole flow like a user will do for example like I explained before logging in So yeah so so the user would go to the page type the username type the password click and log in and verify like the page loaded and the user was able to log in so it's covering the whole flow of the that the user would yep yep that's pretty good answer thank you Lucas and next question would be how do you organize tasks in playwright I can take that one sure so I think any program I suppose with apply here like um do you familiar with try and kiss so kiss means keep it stupid um so if anyone can send your code and um guys don't repeat yourself so that will apply to a page object model where you will keep selectors separately and you can also keep your method separate like and reuse them yeah yeah and also um when you write in Spec file you will advance your uh test cases in um describes separate describes and you can also organize each test case um at least in playwright you can use steps yeah and um like each separate step of the main office case for example will a second step of your record that makes a lot of sense awesome thank you that was a good one uh okay and we will not dive into page object model yet um let's see what are the advantages of using JavaScript or the test automation that's a that's a really um interesting question yeah um yeah I can answer that yeah I would say uh JavaScript has many many advantages uh uh first thing is that is I think it's the mostly used uh code language in the world right now so it has like a big uh a big Community talking about live streams so uh almost anything you need uh you can find in the internet so if you don't don't know something you just Google it or nowadays you can ask Chacha PT for some help if you want uh but yeah you can you can really uh search for anything that you don't know about JavaScript that's that's one thing uh another thing would say that JavaScript is fairly easy to learn compared to other languages so if you compare it to Java it's really easy to learn you can learn in a few months you can try practicing you'd have tons of different courses nowadays available um exactly yeah is it a mile interrupt here because uh some of them one of the our potential students called me recently and he asked why do you guys teach JavaScript and not Java only in your course and my answer was because uh for the test automation for the test automation if you will use JavaScript it's pretty much you would ride a bicycle to get a groceries just as a human example if you would use Java to write test automation script it would be like driving a tank to the grocery store why the hell would you drive a tank to the grocery store just to get groceries you'd use JavaScript use your bicycle because it's much easier it's much faster to start with so that's the reason and also for the test automation for the same reason most of the new companies they new companies they are using JavaScript so the trend looks like this piece of wood right behind me and actually I don't even need to hold my hand literally that's the transfer of the JavaScript in the test Automation and x and this is the trend for the Java in test automation because why would you have to use such a heavyweight language unless you have to work directly with the hardware then it would be a bit easier if I'm not mistaken to work through the Java because that's pretty much what it's created for to program microwave right there to program uh TV right there so that's what Java is for and a JavaScript is one of the easiest languages in the world to learn and if you guys we'll take a look at the stack Overflow uh annual survey you'll see that the JavaScript is number one the most popular and loved language in the world that's already mentioned that's true one other thing is that JavaScript is also very uh it's easy to learn but it's also very uh has a good versatility so you can use it for front-end backhand so you can use JavaScript for apis and for other things from backend as well uh it's easy to use for a synchronous operation so you can use it very easily to to handle a synchronous programming which is uh totally involved in the test automation Frameworks it's also I used to combine with different automation Frameworks you can use it with uh sell any web driver or you can use it with player playwright we close it with Cypress you know yep yep yep exactly that was a good one all right next one what is the role of assertions in automation testing this one um I think assertions is the most part yes actually because otherwise suggest click in front of the pages doesn't make any sense so assertions will verify that you will end it to the page that you were looking for that you see elements that you need to see stuff like that exactly exactly and I can add that one of the most important mistakes of the newbies in test automation is that they write tests but they don't write assertions so pretty much your login as the Newbie would look like navigate to the page type in username type in password click login that's it but how the hell in a world do you know that you have been already logged in and you can see the dashboard that that's why we need assertions thank you Anastasia it was really good one now already marketed as done and moving on to the next one explain the difference between before before each after and after each hooks in playwright or any other Frameworks because they all use the same hooks yeah I can answer that one uh so when you're writing tasks uh the tests have different phases so uh we have the first phase of the task which is like setting up the environment we're gonna use to test so sometimes in our in our platform for example from my company we have a lot of uh permissions that the user needs to have in order to be able to perform some actions so sometimes in the before hooks we're gonna set those permissions for that user uh sometimes we need to create a specific user a specific environment to uh to to test for example you are creating an audit template and you have to create a user that's going to is going to be able to open and edit that Audi template so we we will do that in the before books and then do the the steps that user has to do in the test and then write the assertion at the end and that the after all of that we're gonna have to clean up all that data that was created because that's a good practice so every did everything we create for the task we usually try to clean it up after the test and the differences between before and before each in playwright it's called before all and before each is that if you have in the describe block if you have a lot of different tests the the before all or before is gonna do that it's gonna execute that function that thing you specified only once before all of those those tests and if you do before each is gonna as the name says it's gonna execute that before each of those tests and the after or after all and after each is basically the same thing one of them executes those steps once for everything the other one executes for every step for every test that makes a lot of sense thank you for a good explanation Lucas next question what is a page object model and why is it important in task automation I think I will dance for that yeah yeah you think you did uh partially if you're not mistaken or maybe it was full answer I remember now can you please duplicate it one more time just in case yeah sure so basic object model is um design pattern that you will use in your framework I think it's not just important it's actually necessary to use that because I couldn't imagine maintain framework without it I have never seen a framework without page object model uh so if for example developers do new design you can go just to one place and change your selector or change your method change it each test where you used it yep yep exactly it's well organized it's centralized so as as Anastasia mentioned that we can we keep all the selectors in one place where you can reference them so you so you wouldn't have to hard code your selectors in the thousands of in the thousands of tasks and then if code breaks you would have to change the code in thousands of pages you simply make the change in one page thank you Anastasia that was a good one all right we're slowly in running out of questions so the next one is uh how do you handle timeouts in playwright tests I think I had this question when I was getting my first test automation job although that one was about Webdriver IO or even Robot Framework for python I don't even remember but the question is the same how do you handle timeouts I can try to answer it uh so uh not sure if I get completely what what they want to to know about about this question but uh the timeout usually um Can Happen like the time I'll error in this case like for example a test uh didn't complete running because uh something happened and it had the timeout uh so the timeout is configured uh when you are organized for setting the playwright automation framework you can have in the global configuration file you can set a specific timeout that is going to be the default for every task for example I don't know uh one minute or whatever that every test is going to take maximum that time and um it takes more than that the test times out which is good to to have that set up because um the test if the test is taking much more than that that can indicate a problem that has to be taken some action upon so that's really useful uh but you can also if you need a you can set a specific timeout for for a different task in the test itself you can use the set timeout function to to set a different task than the default one so that that can help because sometimes you if you don't want to change the default timeout for the whole the whole thousands of tests you have you just have one okay I know this test is going to take longer because of I don't know whatever something happens it was is longer than the average so okay this test is gonna have need the time out longer than the other one um and you can also uh set specific timeouts in the text itself because sometimes it's it's not that I personally don't like too hard call timeouts in the test I prefer to to use a weights like uh wait for something that uh for example navigating to a page and I need to that something from that page to show up before executing some action so I prefer to use this kind of uh of of awaits but sometimes you need to use at specific timeout so you can use for example wait four time out uh a number of seconds uh and then the test is gonna pause on that timeout wait for the photo seconds and then keep running so sometimes you need some some other asynchronous operation to finish before keeping the test running and that's that's really helpful to use I have some kind of life hack for that um I had that situation um for mobile uh browser test performance lovers so instead of agent agent card-coded uh weights I was adding some extra clicks just like verify that click here so I I look at like one second of time and um that worked for that kind of situation oh interesting yeah yeah I agree that agent uh hard-coded ways is not uh best practice right in those cases yep yep that's for sure thank you both awesome and by the way this was one of the questions that you guys can uh can learn the answers to but SEO curriculum Anastasia there will be cases from your own experience and a lot of people who are looking for the first job uh what are they mostly missing is experience so you have to gather experience somehow before you go for an interview otherwise you will not be able to get it you have to either find a company that you can uh work for ask your uh for free find a company that will take you as an intern but I would doubt it because there are thousands of people like you who want to get it who want to get a free internship just to get experience so you could get the money later so I would recommend you guys to number one find the friend who has a company or find a course that offers you the experience uh working in a company and if you guys are interested I'm going to attach a link right below this video so you could learn more information about that all right moving on after a short advertisement how do you deal with the test test flakiness actually that's a good one that's the one that I had I had to answer about four times out of 30 interviews that I had in my life okay that's where that let's go so protest flakiness uh sometimes it might be related to your code um you can write it better and make this Note 3 actually but also I'm still related to the website performance for example then uh how we are doing dealing with it on my current project um it's we're using Circle CI as cicd so we run a test failed and a lot of times at least half of them will pass and in report they will be marked as a slaking test and then um if you are able to avoid some of like some of the pieces of the code that's used uh that um why test is actually flaky if you write your code to make it better that it will be nice but but if it is not possible then um I think this test will romantic yep yep rerun mostly is the best solution or as you mentioned just try to rewrite the code try to dig into the issue I try to debug it and find why is it failing Lucas yeah I can try to to also help transfer because that's a pretty good question because we deal with task flakeness like everybody every QA automation engineer is going to deal with that flickiness in their life so it's good to know how to deal with that uh playwright is actually as we are talking about this framework is very good because it's as Anastasia says it's it helps this build to built-in uh awaits before performing actions so if you are using an automation framework that doesn't have that one of the things you do for example before clicking on something you're gonna wait for that to be visible and stable and then you can click on that because sometimes the page takes some longer time to load and the the try to perform the action to click before the element was was visible so if the automation framework doesn't have this functionality add those uh waiting for the elements to be visible or something like that before performing an action sometimes the tasks run too fast and then uh and they fail because of that so we use that also in playwright for example when typing something in a text field you can use a delay so it would type slowly like a user will do not like extend generously and that makes it makes the dance more stable uh it also it's very good to use unique selectors so try to try to not use like XPath or actually avoid totally these kind of things especially if you uh once a table test I always try to stick to UniQue Ideas like ID or sometimes the class in my company we have we are adding data qads so what we do the developers write specific data queue ideas specific selectors that we can use for each part of the code or each everything they are writing so we can use that in the test and that's totally unique so that makes the test more stable as well yep that's a good one that's a good one and also if you guys are going to be watching this video have other opinion about the XPath if you think it's powerful thing and you want to use it please leave a comment below I want to hear why because I have that opinion that sometimes it's more useful to use expat and if you know how to use it it's it's we're very powerful but playwright has actually brought up a couple of new uh helpers you know and though by using those helpers your CSS will be as powerful as xpap is but it's not a conversation for the junior QE automation position uh we will discuss it later on in a separate video thank you moving forward all right um what are some common challenges uh let's see what are some common challenges that you have faced when implementing the test automation [Music] let me think common challenges I guess from my experience that would be Finance electors in case nobody added and the website is very uh automated in a form of UI that is generated dynamically most of the selectors generate dynamically so that would be an issue the other issue would be uh weights so if the automation runs I think previous conversation that we've talked about the flight test flakiness answered this one quite a lot because most challenges will be related to the test latiness but the challenge always at the beginning of test automation framework creation is what to choose which framework to go with uh and what you're choosing a money yeah you need to know what application you're going to use what are the aspects of it so you would know what framework to choose and when you choose your framework then how to set it up and train your team in case your team does not know how to write automation or how to work with this specific framework I guess but everyone wants to say as we talked before also watch ultimate that's it that's a good thing because you cannot automate everything so choosing the right task is should be automated is also very critical step in the implementation of it yeah yeah for sure and and everyone will actually have once again this is why it is important to have experience before you go for an interview because everyone will have their own answer my answer would be the most uh the most challenging uh let's see come on challenges uh when when I was writing automation is creating test automation infrastructure for my team it took me a couple of months because I did create it from scratch utilize AWS I did things that I never did in my life I do things that none of the engineers even developers in my company ever did in their lives so it took me a couple of months and quite a lot of nice with coffee and sugar but once again everyone will have their own answers to this question um all right let's switch to the next one how do you perform cross browser testing using playwright I think because Lucas have already touched this one right yeah yeah because playwright has its like as a built-in functionality it also it already has this option of testing in different browsers so you can use the same tasks running in chromium in webkit with Safari or Firefox so as we use this framework that's how we handle it so easy peasy playwright there we go alrighty um we'll see how do you simulate user interactions like clicking typing or searching options in playwright okay that's a general question yeah I would agree with that one um that's a very easy question I think you will just use um click method feel type exactly yeah this this question pretty much uh we'll find out if you have ever used playwright or you just said you've used it as some people will do who did not learn it but specify it in their resume alrighty and the next one how do you debug a fail cast in playwright that's a good one that's a good one you want to take that outside it's no it's not okay I can take it yeah I I can answer that uh so in playwright you will use Trace most likely because you can see exactly all the steps uh your test one and um as I already mentioned you also on each step you can see exact piece of code um executed yeah yeah and now and also if I can combine my answer with yours uh you can also use uh test pause you can ask the the the browser to pause at some specific step of the test uh so it's going to open the debugging console and you're going to be able to to use it uh or you can write the test from the beginning in the debug mode using slash slash debug so it's going to start running the test uh with the debugger open and you're gonna have to click and and your test is going to show you step by step with what it's doing which code is being used on that function and everything so yeah from my experience a lot of times tests will pass and debug mode and will not pass because it's running um much faster when it yeah when you're not using debug mode and then you will need to figure out what to do exactly exactly that's a good one that's a really good one and honestly in these cases the good old console log comes handy I like to use that one a lot uh when possible but debug mode of playwright is an equivalent of debug method of the Webdriver i o I believe it's a very similar thing where you could also stop it stop the code execution see what's happening um and you could actually execute at least a web driver yo you could stop the code and you could keep executing a web driver ieo methods upon selectors uh in the through the terminal I think it's called Rebel where you are using the code in a terminal during the execution so you could see that element is existing or is clickable or is visible right at this moment that was very helpful yeah that's for sure and also the console as you mentioned is also forgot about that it's very helpful especially for example if you're uh writing some something that has an API call and you have to use the response from that API call which you interact with for example I I created an element and that that API call is good is going to generate an element with an ID and I use to grab the ID of that element to uh to interact with it to to navigate to some page that use that ID in the URL or something like that and then you can use console log to to verify for example that that API account is actually giving you the Json file that you expect you grab that information from yep yep exactly and this answer is awesome all three of us did a great job and I want to remind everyone to hit the big fat thumb up button right below this video hit the Subscribe button and let's move on to the next question Just Another Second of advertisement foreign how do you handle API testing in JavaScript that's a good one I think so or Lucas um or you can just answer that one I think because I wanted to say that um on the current project we are not actually we are not doing um IPI testing but we are as I mentioned intercept and API responses and then data that we get from API to what we see in here exactly and that's a really good answer because I want I want everyone to understand that it is okay to say that I do not know I have not done API testing with this project or even at all I've never done it but I learned something or I've been using it partially in this and those situations that's completely okay we cannot know everything because we're human in my company uh we as QA Engineers we are not writing much of the the API test I'm also writing written by developers right now so uh but we are gonna start writing more because uh we're trying to stick to the end-to-end tests uh only to cover like any user flows like mostly uh some happy Paths of the of the users and and that all the rest should be covered by lower level tasks and if you if everybody watching this video is good to understand the concept of the test pyramid so we're not we don't want to write so much end-to-end tests because they are costly they are easy to to maintain they're yeah so they take a long time to shoot debug so yeah so it we're going to start right now writing lower um less engine tasks and more lower level tests and some of them are going to be API tests and uh I think we're gonna be using uh the functionality of playwright for that because it's very helpful you can exactly exactly right to write any any HTTP call to to do whatever you want perfect perfect thank you for answer uh and the next one explain let's see now now this one um that one how do you use custom commands in playwright that's a good one if you have used those that's a good one if you have not because you will simply say that I am not but I know you can use them it's easy if you Google you navigate your playwright website and read an official documentation copy paste edit create it use it boom killed it did you guys have any experience with the custom playwright comments I never used I think awesome moving forward already answered it all right so we're almost done guys by the way how do you perform parallel tasking in playwright that's also an easy question so you will just put uh describe or I think test actually test that parallel before the test um that's all and then these tests will run in parallel no it is interesting that's cool that's cool you can also said the number of workers you want to use for testing so if you especially well on the common line when you're writing the playwright test you can specify uh slash slash workers equals to two three four so the test is going to run in multiple workers at the same time awesome and for those people who do not know where work what worker is please leave a comment below uh we'll explain that on the next video alrighty and we've got a couple more actually I think we are pretty much done in this case yeah I think we've uh We've covered all the questions I wanted to cover nice cool in this case I'm going to ask you guys only one simple question at the end if you would ever have to start again from scratch if you would ever have to start learning QA automation from scratch what would you do differently I I think I would um start learning in academify earlier so much time on trying to learn myself and also is different schools by the way that's that's not a paid advertisement FYI I did not tell her to say anything foreign had two offers before I um finished um like my course but um I had some um like family stuff so I couldn't start working right away but yeah I just wanted to mention that um learning and surgery the course is very helpful so you can get your offer before you even finish the course not for everyone I'll be honest that's true that's true it's possible actually one of our students did today he told me that he got an offer and he did he went through I believe two months and a half or three months of Education the total amount of months is five months it takes you to become a key automation engineer with us but he went through three months and he already got a job offer but same thing as Anastasia this is these are rare cases you have to be uh you have to study quite a lot do you have to match the company's culture personality Etc et cetera et cetera in order to get job that quickly it's not everyone every single person in the world who will sign up for the course will give me money will get the job right away or even we'll get a job at all because this is up to you guys if you work your ass up if you work really hard if you do your best and listen to what I say very likely you will get a job very soon but I cannot tell you how fast because it mostly depends on you not on me I'm giving all my knowledge to everyone but the question is can you accept it so once again thank you for a good words Anastasia but not everyone can get an offer that quickly although some people can do can do it as we can see yeah Lucas how are you yeah in my in my case I I didn't go I didn't go to other schools before I just joined quality fight directly and that was a very wise decision because it gave me everything I needed uh to get a job offer two weeks before finishing the course all right exactly because I don't uh I don't want people to think that this is like a paid advertisement except codify what would you take do differently about learning things uh or yeah yeah that wasn't uh what I was about to say is that except the course um I would have started studying JavaScript first uh not first but beforehand like studying more JavaScript because it takes a bit a bit of time and practice not just time but you have to practice to get comfortable with it so at the beginning okay you you go through a course you learn it but only when you start applying it and practicing daily you really get comfortable and get experience with it so I would start studying JavaScript and practicing um earlier uh and I would also start applying to interviews more often because this is one of the things that really makes a difference when when getting a job offer is how much you are applying to job opportunities so I would apply to more and more and more uh job offers and uh job opportunities and go to as much interviews as I could because the more you go to interviews is pretty much the same as learning JavaScript the more comfortable you get so after you've gone through I don't know 10 15 interviews the the 16th the 17th one is going to be easier and easier and easier so I would do that yep yep that's a really good one actually this reminds me one of the questions that some of the people have asked our previous YouTube uh interviewers who I've interviewed uh one of I believe Ella or someone else got a question from the person saying that hey what am I doing wrong I applied for 40 positions and I did not get a job up for yet you guys are laughing I'm laughing because what the hell is going on 40 applications are you kidding me Veronica one of our first students actually she was our she was our Mentor for a while in at come if high school she had to apply 600 times before she got her offer now she's a senior product and one of the biggest streaming companies in the US but 600 applications that's not 40. so whatever you're doing wrong I mean I know you were doing wrong you are not applying enough as Lucas I mentioned you have to reply quite more often yeah that's true yeah I think I'm still uh stealing messages from London that my application was reviewed and it's here till then whoa that's amazing yeah you think for some companies it takes a while and by the way secret about it students who recent student who recently got a job he did start applying for a job as soon as he started the course he was just applying for jobs and then at the middle of the at the middle of the course he already comes out with a with a job offer and says you know what I'll be still visiting classes but mostly I'm done yeah you're gonna have you're gonna have a bit of confidence to do that because everybody who joins the course I know I know by me because I was like not at the at the middle of the course I was not confident I could get a job offer at all so I was like how much I really applied I don't know if I'm but don't don't worry about that you know because you don't need to go to the job office like really I need to depend on this one and it should get higher I'll just go because of the experience of going through the interview do your best get experience with the questions that are gonna ask you write them down like after the interview write the questions uh that they they ask you so you can have like a a backlog of questions to study later and just Just Go With It just practice and get experience and sometimes you're gonna get an offer that's that's how it goes exactly and watch our videos because you can learn a a lot here plus if you guys want to learn how to become a QA engineer on your own here's a video of self-education oops right here right here right there uh and also if you for all of our students who are signing up for the course early I mean my advice is to sign up early if you are planning to sign uh sign up at all because you're getting a list of pre-educational materials what I've done when I was becoming a qea engineer nine years ago I have started to study about a half a year before I went for the course because I was afraid that I'm going to be one of the dumbest ones in a class I was like probably everyone is the engineer or already programmer and they're going for a QA position and I'm only going to be a farm boy out of everyone so I did started to study because I thought I was going to be the dumbest but half a year later when I went for the course I was like I'm one of the smartest here come on so that's my advice alrighty guys well thank you so much for joining it was a pleasure to see you Anastasia and you Lucas I think people have learned a hell of a bunch of the information and do you guys mind if I'll leave your Instagram or telegram or LinkedIn profiles down below so they could message you because some people think we're fake no of course not please please do that we are deep fakes thank you very much for for the opportunity it's really helpful too for us also to to come here and talk a bit it's also very good to to refresh things in the memory practice is always fun exactly exactly thank you all and I hope to see you soon on the next YouTube video thank you awesome I hope you guys did enjoy this video in fact I do know if you did enjoy this video and if you did or did not you can leave a comment below and tell us what did you not like or what did you enjoy and also if you have any questions if you are not able to find a job or if you are are interested in the course in becoming a QA in automation engineer or in getting actual real life experience feel free to reach out to me by following the link to our website which is codemify.com hit the about section and you will see a phone number which you can use to reach me out all right thank you all and you have an amazing day I'll see you next time foreign [Music]
Info
Channel: Codemify
Views: 20,666
Rating: undefined out of 5
Keywords: qa, job online, software engineer, qa engineer, quality assurance, qa school, learn qa, codemify, qa bootcamp, learn qa online, how to become a qa engineer, qa tester, qa interview questiona and asnwers, qa interview questions and answers for freshers, qa engineer interview questions, qa testing, qa testing training, qa automation interview questions and answers, qa automation engineer, qa automation interview questions, qa interview q&a, junior qa tester interview questions
Id: FXRDK8YFlZM
Channel Id: undefined
Length: 70min 57sec (4257 seconds)
Published: Tue May 09 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.