Web QE Interview help points
Have you landed that web QE interview? Awesome. Are you prepared for that interview? Here is a few review points that can help you get ready for it.
Most Quality Engineering jobs require you to have both manual testing skills and automation skills. As we move more into automation sometimes we forget some of the manual skills we learned. Test case creation is a base skill all QE's should have. You might be handed requirements or test cases, but incase you are not handed complete test scenarios you should know how to write them.
TEST CASE CREATION
You might be presented with a medium and asked what test cases you would write for this. Sounds simple right?
You asked what test cases you would write for testing a soda machine. Wait I thought I was interviewing for a job working on a website, why are you asking about a soda machine? The fundamentals of testing do not change even if the medium does. For this example sodas are $0.25, the machine is the old school push button (no fancy menu).
What test cases do you think of?
1) You put the correct change in and expect a soda.
Awesome positive test case covered.
2) You put in $1.00 and expect a soda and some change.
3) You put in $0.05 and make sure no soda is dispensed.
Great you have covered a few positive and a negative test cases, but what other stuff can you check? They want to see if you can think outside the obvious and help cover all the test cases.
Here is my list.
4) I test all different combos of change, to make sure it counts correct and hands out a soda.
5) I put in change, select a soda that is noted as out to make sure it does not take my money and no soda.
6) I validate that when no change is put in that it does not dispense a soda.
7) I validate that when a soda is out, that it shows the out of stock notification.
8) I make sure it will dispense change when the machine is without power.
9) If it accepts dollars, I will make sure it will not accept them when the power is out.
You might be going some of this is just a given, but remember you are the tester, you need to validate the given. If you are handed a website say a login screen. You will probably test the following scenarios:
1) Good username/password make sure we see success
2) Good username and bad password, make sure we get error
3) Bad username and good password, make sure we get error
However you would also want to test the following:
4) Is the expected text showing on the screen? (any text showing you would want to test for)
Recommended by LinkedIn
5) Does the username and password labels show?
6) Does the username and password input boxes show and interactable?
7) Does the password input box show ** when text is shown
8) If either box has placeholder text, does the text show?
Those added tests show you can see the bigger picture, this is a web QE position, everything on the website/module should be covered in testing. Make sure you are looking at everything.
UNDERSTANDING CSS AND ELEMENTS
A good web Quality Engineer is good about finding elements on a page. You might think this is simple chrome has built in tools that will build the css or xpath locator for me. You are correct it does, however if you are asked to build one, the interviewer wants to know if you are able to build that path on your own. Remember you might be given the paths before the site is active, so the tool would do no good at that point. If you are not familiar with how to build the css or xpath, take some time to work on this. It can be overwhelming at first, but with practice it can become second nature. Most sites now a days use id's, so most locators can be as easy as [id = 'login'] but you need to know how to open the dev tools and read the HTML. You could also be asked why id's are preferred to class paths. Understand why id's help QE's and make writing locators easier.
HTML
This brings me to the next phase, if you are going to be working on websites you need to have a good basic understanding of HTML. You might go my job is to validate stuff, not build it. Yes the job is to check stuff on the website. An understanding of HTML will help this. Do you know what h1 is? how to determine what is in it? How to close a tag? Take some time to get familiar with the syntax. You don't need to be an expert just have a working knowledge, you could be asked how to write a basic login page, this does not mean one that buttons function, just showing text, text box and button.
PROGRAMMING
You have applied for a QE code with focus on automation. Can you write code without seeing other code to base it off of? You will be expected to write some programs. This are not complex programs. They are to show a few things, 1) you have the ability to write code, 2) you can understand a question and solution it, 3) how you think through a problem. Let's say you are asked to write a program that prints out on the odd numbers between a given set of numbers. First pick the language you are most comfortable with, even if the job is for another language, pick the one you are the most comfortable with. While you write out the code, comment and talk through your thought process. Know that even if the code for some reason does not work, that explaining of thought process can help the ones interviewing you help understand how you would tackle it.
SELENIUM
If you have selenium experience, you could be asked a few questions on it. Selenium is a huge topic, however most of the questions will be around select topics. Do you how to find an element on the page? When you have that element how do you get the text? What if you want to get the placeholder for the element instead of text? .getText() vs .getAttribute(). Selenium is one of the big tools used in website test automation, there are other tools that work well. If you have mentioned you are an expert in selenium you might be asked how you would handle doing upload of document files, or other complex topics.
API
Working on a website, you will need to interact with API's. You might need to mock responses, or interact with live data. When it comes to the interview they are probably want to see if you understand how to determine if the data returning is correct. Have you explored checking data with Postman?, this can be a good help. Do you know the difference between 200 and 201? What about 401 and 404? This is good stuff to brush up on. One question you could get asked is if the data the shows on the screen is not showing everything where is the issue? Of course you don't know. You should know where to check to determine is the issue is a UI or backend issue. Remember Chrome dev tools are your friend, the network tab can help out with this.
QUESTIONS
These are some of the questions you could be asked when interviewing for the job. At this stage it might be your turn to ask some questions. Here are some questions that could be good to ask, esp. if the company is looking for some skills you don't have.
1) Does your company give time for new employees to get up to speed on skills?
2) Does your company have access to any courses or trainings that can help someone learn new skills? (pluralsight, udemy, etc)
3) What are the team make ups? Are QE's part of a QE team or are they mixed in with Front End developers? How many QE's to how many devs?
4) What is a typical work day, sprint like?
5) What are the testing tools used at your place? (jenkins, javascript, in house tools, etc)
FINAL THOUGHTS
I think brushing up on the above skills will help you get ready. You might get asked other questions, or variations but if you are prepared this should be easy. Remember don't get yourself worked up, relax, show off the skills you have. If you don't know something just admit you don't know. Giving a fluff or false answer can look worse then admitting you don't know something. They are interviewing people as they have a need, they are not looking to trip you up. They want to see if you would be the correct fit for their team.
Josh Thayer I enjoyed reading this article. Very well written.
What a great read! Thank you Josh!
Good Job Josh 👏 very detailed I hope it will be useful for engineers who is looking for QE jobs.
These are great pointers!