QA Interview Flashcards
to prepare myself for a QA interview.
Tell me about yourself: (with a recruiter)
I work on web and mobile applications, testing UI and Functionality, Doing smoke and regression testing, using Jira, TestRail, chrome dev tool, ADB, Linux, Android Studio, and Xcode Testing different browsers and platforms. I have tested ios, android, windows, and mac.
Who are you looking for?
Tell me about yourself: (with hiring manager)
(Learn by heart, word to word, please repeat in front of a mirror)
*please make pauses and sound like a real person, don’t rush
I’ve been working in QA for the past few months making sure that all works, looks and feels good mainly focusing on functional and UI testing, testing both Web and Mobile applications, Making sure that requirements are implemented and reporting issues in Jira. working with iOS, Android, Windows, and Mac. I have a lot of experience with creating and maintaining QA documentation, using Testrail to create and execute test cases. Working with tools like Chrome Dev Tools, Xcode, Android Studio, ADB, and Unix. worked closely with Development and Product Management…Well, that’s pretty much it… Please feel free to ask if you have any particular questions.
*When reporting issues in Jira?
Once I saw a mismatch between actual and expected behavior.
How did you use ADB? (with Android devices)
To install/uninstall apps on android (adb install/uninstall)
To create a log file for Android (adb logcat)
How did you use Linux/Unix?
To search for errors/crashes/exceptions in the log file using “grep”
To run Linux/Unix command that we had in the steps of the test cases
*for example to clear cache and cookies on iOS devices, or to create files and folders on the device
To make sure all looks good, what do you mean?
(What did you look for)
yes, nothing is overlapped, misaligned or truncated. No grammar or spelling errors.
Correct font, size and color. According to the design document.
Call with a recruiter: (Relax it’s easy ;-) )
Recruiter: Hi Mr. X how are you doing?
You: Fine thank you, how are you?
Recruiter: Are you available on the market for new opportunities?
What kind of work visa do you have? citizenship? Green card? work authorization?
You: Yes, I’m looking for new opportunities. I have a green-card/citizenship/work authorization
Is it manual testing or automation?
Where is this position located? (in office/remote?) and what is the maximum rate?
Full Time or Contract? (you accept both!)
Recruiter: Yes, in your area. Manual. What’s your rate and availability?
You: I’m available for an interview anytime that works for you and can start the work in 2-3 weeks Notice, my rate is $35-40-45 (or 45-50) per hour if it’s a contract or 70-80-90K (or 90-100k) per year if it’s full-time.
Recruiter: what you prefer W2 or 1099?
You: W2 / 1099 (choose one), please send me the rate confirmation.
Recruiter: ok, I will send you the job description with rate confirmation (and sometimes rights to represent - RTR), please, confirm the rate with your updated resume attached.
You: OK.
(reply the e-mail with: “Confirmed”, and don’t apply twice [check job id] for the same position with another recruiter)
If they will ask you can answer:
- I don’t give my personal details like date of birth or ID/Green card before the interview
- Regarding SSN tell them that you give SSN last digits only after you pass the interview and receive an offer.
Why do you want to leave your current job and work with us?
Because it’s an internship and I’m looking for a long term opportunity
Our company lost many clients and that’s why the company is laying off people now, I want to find a stable long term opportunity
Because of the crisis, our company is laying off a lot of people and closing the office, I want to find a stable long term opportunity
Don’t say any negative stuff about the company/manager
Don’t say that you want more money
*Another potential answer:
Company planning to move Development and QA to East Europe next year
The project ends in a few months
You can say that: looking for new opportunities, challenges and exploring new tools and technologies
If you need to complete 80 test cases in 5 days, but after the first day you completed 8 test cases, what will you do?
I will continue executing test cases, also I will raise a concern to the QA Manager that we might need more time or effort/resources/people to finish this testing on time - if I see that the test cases are complicated or time-consuming.
What tickets/projects will you test first?
I will work according to the prioritization. Highest priority tickets first.
In case the priorities on the tickets or projects are the same (and they are time-consuming)
I would ask the QA manager which projects to prioritize
What do you do if a developer reassigns a bug/ticket back to you and marks it as
“Can’t reproduce?” (learn it!)
I will try to reproduce on the reported device, will make sure that I’m following the right steps, using the right Environment, Device, Platform, Build.
I will try to reproduce it on 1 or more other devices to make sure that it’s not device-related.
If not reproducible - I will close the ticket and leave a comment.
*Example: “Not reproducible on this-and-this Device, Platform, Build”
If reproducible - I will reopen the ticket and assign it back to the developer with my comment.
*Example: “Reproducible on this-and-this Device, Platform, Build”
What would you do if a developer reassigns a ticket/bug back to you and marks it as “as-designed” / “not a bug”? (learn it!)
I will double-check the requirements, if according to the requirements it’s expected behavior -
I will close the bug and leave a comment,
BUT if it’s not expected according to requirements - I will reopen the bug, assign it back to the developer and leave a comment,
If the requirements are not clear or maybe missing, I will ask the product manager for clarifications.
And will close or reopen the ticket based on his/her answer.
*Always leave a comment
What kind of comments do you leave once it’s as expected (according to the requirements)?
“as designed” or “not a bug”
What kind of comments do you leave once it’s against the requirement?
the comment would be for example
“This is a valid bug/issue according to the requirements (for example PRD/Design/BRD/Specs) page 27 line 7”
What kind of requirements did you work with?
PRD, Design
Where are the requirements located?
on Google Drive (shared with our team)
If they ask in which format was the document?
PDF with the PRD (how all should work)
PDF with Design document (How all should look)
How many pages does your PRD (Product Requirement Document) have? 25!
- Reopen means: change the status to Open and assign it back to the developer*
- *in real life if you are told that it’s not a bug you close the ticket and leave it alone;-)*
- (don’t mention it during the interview, it’s for your understanding)*
It is pretty often after SQA (Software Quality Assurance) engineer enters a bug, the bug comes back as “not a bug”
Why is that?
List of reasons:
- As designed, cannot map to the requirement or test case
- Will not fix, the bug is a too low priority (P) and will not be addressed in the near future
- This is a story, not a bug (enhancement request)
- Soon this area is going to be redesigned and completely changed and developers don’t want to waste time on it
How did you write bug tickets? (learn it!)
(you MUST answer very confidently and without going into details)
* I’m going to Jira and creating a new ticket.
- I am choosing the correct project, selecting the issue type—the new ticket, a bug report.
- Writing the Title
- Description with steps to reproduce, actual and expected behavior,
- Choose the Environment
- Set the Priority,
- Add the Attachments of the screenshots, videos, or log files
- Set the Assignee
- *Title - should be short and informative, should show what and where is the problem*
- Title example: The main page > “Start now” button is truncated*
*Extra in case you are asked for more: Link, Label
- Linking (Link) relevant ticket if there is such (“related to” for example or “duplicate of”)
- Label (any name of project/device/team/etc)
Examples when you add attachments:
- Screenshot (if UI), (for example: if something is overlapped, misaligned, or truncated)
- videos (if it will help to better understand the bug)
- log files (if for example crash of the app or any functional issue)
What are Bug Report components?
- Project: Name
- Issue Type: Bug
- Title (informative and not long, what & where happens)
- Description (Steps to reproduce, Actual, Expected)
- Priority (Highest, High, Medium, Low, Lowest)
- Environment (Which device and platform, mac/win chrome/ff/ie, Android, iOS, Browser version)
- Attachment (Screenshot, Video recording, Log file)
- Assignee
Tell me about your current PROJECT: (examples)
no need to say the name of the app if they don’t ask
Project name (Hirio):
I am working on a web and mobile app developed for job search management. Employers post job offers, and candidates can apply to them. The testing scope implies two sides: the employer’s and the candidate’s sides. I am working on both. Our app supports different browsers and operating systems.
I am primarily responsible for functional, black-box, and UI testing, writing and executing test cases in TestRail, and reporting and verifying bugs in Jira.
Responsible for compatibility testing, testing web and mobile applications, different platforms, and devices. I’m always trying to provide our customers with the best possible user experience and quality products. I worked closely with development and product management.
What responsibilities do you have there?
Example 1:
Our company specializes in Development and QA solutions.
As a part of a QA team, I was testing iOS, Android, Windows, and Mac, performing mainly Functional and GUI testing on mobile and web apps, covering basic functional testing, smoke, and regression. Used Xcode and Android Studio. Used Jira to write bug reports and verify bug fixes, used TestRail to create and execute test cases, worked closely with development and product management.
…that’s pretty much it.
Example 2:
I am mostly responsible for functional, black-box, and UI testing, writing and executing test cases in TestRail, and reporting and verifying bugs in Jira.
Responsible for compatibility testing, testing web, and mobile applications, different platforms, and devices. I’m always trying to provide our customers with the best possible user experience and a quality product. Worked closely with development and product management.
Example 3:
As a part of the QA team, I am performing functional and UI testing on different platforms and devices, web and mobile, iOS, Android, Windows, and Mac. I am writing and executing test cases in TestRail and reporting and verifying bugs in Jira. I always try to make sure that our customers get the best user experience and we meet all the requirements.
Example 4:
I’m mainly focusing on functional, black-box, UI testing on the web and mobile. Creating and executing test cases in TestRail, writing bugs in Jira. Using different tools such as TestFlight, Xcode, ADB, Chrome DevTools, and UNIX.
Making sure our customers get the best possible user experience.
What is black-box testing?
Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. (testing without access to the code)
How did you set a priority?
It depends on different factors, such as company culture, phase of the SDLC, place (main page or not?), and type (Functional or UI) of the issue and priorities of the company. Mostly functional issues were a higher priority than UI issues, and it also depended on where the issue was - e.g., if on the main page then the priorities were higher than on the non-popular page.
The priority of the bug is determined by the impact on business and overall user experience.
Guidelines around priority set by Product, Business, and Engineering departments.
Highest, High, Medium, Low, Lowest
P0 P1 P2 P3 P4
Priority:
P0 Highest Resolve immediately
P1 High Resolve right after Highest
P2 Medium Resolve right after High
P3 Low Minor issue
EXAMPLE:
- Blocker: stops user/customer from using the main functionality
- Critical: Core functionality is broken, but there is a way around
- Severe: Functionality is broken but not affecting core user experience
- Major-Minor: UI issues that are not affecting core functionality, but visually off
What is a Test Case?
Step Verifying that the requirement is implemented
How do you write test cases? (learn it!)
According to the business requirements.
For every requirement, we need to create test cases.
Requirements could be broken down into flows and each flow then gets broken down into individual pieces with detailed steps to perform the test.
What did you use to write test cases? Where did you write test cases?
What are the test Case components (test suites/test runs as well):
please learn it
- Test case ID
- Title / Purpose (Test description; Intent; Objective; etc)
- Pre-conditions
- Instructions (Steps to reproduce) (How to get an application from base state to an expected result)
- Expected result (Expected application behavior based on requirements)
- Actual result (only after execution) (Actual application behavior)
- Pass/Fail (Status) {Verification of actual result (application behavior) against expected result (specified in the test case)}
*If it’s failed you are going to write a bug report and mention the bug number next to the failed test case
How to Write Test Cases Without Requirements
https://www.mindfulqa.com/test-cases-without-requirements/
What would you do if you don’t know what to do and you’re stuck?
I will try to investigate for 20-30 min, I will try to search for the answer using documentation, If the answer is not found I will look into google, youtube, confluence page (Knowledge share page).
If I’m still stuck then I’ll ask another QA person or a QA lead for guidance.
If there’s still no answer, then I will ask my colleges or QA manager or the developer for help in order to be productive and not waste time.
Tell me about your day at work
- 09:00 turn on my laptop (or: arrive for work) and open my email and Slack to see if you have urgent messages
- 09:15 “Stand-up meeting” (or: “project team meeting”/” scrum meeting” 15 min) (I will discuss what you are working on today and hear the others)
- 09:30 going through emails and test-suites/test-runs assigned to me (*multiple test cases)(sometimes known as “test plans”) Executing test cases and marking them as Pass or Failed
- 12:00 lunch (+a walk)
- 12:45 keep doing/executing the test-runs OR work on tickets assigned to me OR write test cases* (if I’m done with test suites and tickets)
- 1:30 raise (created) bugs/defects (if the test case is “failed” or I found an issue)
- 2:00 “update and add test cases if necessary.”
- 3:00 going through my assigned tickets to verify (fixed or not)
- 5:30 * complete daily status report (usually once a week, Friday, in some companies once a month/3/year)
- 6:00 Stop working / Go home
What is a bug life cycle in your company? (learn it!)
OPEN > In Development (In Dev) > In QA > Closed/Done or Reopened
After I open a bug, the status is “Open,” It moves to a developer to fix the bug, and the status changes to “In Development.” After the bug is fixed it is assigned to a QA Engineer, and the status changes to “in QA,” the QA Engineer will start testing and try to reproduce the issue. If it is not reproducible, I close the ticket and change the status to “closed.” If the problem is reproducible, I reopen the ticket, assign it back to the developer, and leave a comment - status changes to “In Development.” After that, it goes back to “in QA” and is closed or reopened based on the results.
In case that the bug is still reproducible, I will reopen the bug and assign it back to the developer with my comment about where it’s reproducible, which device, platform, build.
If it’s not reproducible: “Not reproducible on device, platform, build”
Version 2: https://www.guru99.com/defect-life-cycle.html
How did you get to QA?
Example:
- My cousin is a qa lead at Google/Facebook/whatever and he helped me to become a qa engineer
- I learned Software Testing on Udemy.com, after which i got my first job
- I learned QA & Software Testing at careerist.com
How can a tester be sure that a bug has been fixed?
Try to reproduce it on the new build/version, and verify that it’s no longer reproducible
(across the supported platforms and devices)
What is a Regression test?
Making sure that change to the code didn’t break anything (for example: after each bug fix)
Regression Testing is defined as a type of software testing to confirm that a recent program or code change has not adversely affected existing features
Regression Testing is nothing but a full or partial selection of already executed test cases that are re-executed to ensure existing functionalities work fine.
Describe one big bug that you found in your project? What is your biggest/most interesting bug?
- I had this time when After a user logged out, you could click the “back” button, and it would take you back to the logged-in page with the user’s private information.
- I had this time when We had a page with infinite scrolling due to hundreds of items loading on the list. It was blocking the user from accessing the “contact us” page and our phone number and email, which was located in the footer of the page.
- Once I noticed that after signing out of my account, I was still able to get and see private user information which wasn’t supposed to be there in the notifications (a good example for a mobile app) example: messages, emails e.t.c
Think about a complicated bug that you found and tell about it
What do you prefer: white or black box testing?
I mostly was focused on black box (Functional, GUI testing) and I’m familiar with grey-box (SQL, API, Chrome DevTools) testing. Black box and Grey box is what I do.
Would love to learn white box testing.
With my program at Careerist, I also have the option to take an automation class with python.
example of your interaction with white box testing:
using grep (Linux) to find crashes, errors, and exceptions inside the log file
“briefly explain your mobile testing process”?
We always start from the requirements, to make sure what we are testing and where, which supported device, platform (android/ios?) and build, what are the preconditions, which settings should be turned on or off, is it vertical mode or horizontal mode, we want to test according to the test cases that were created for the requirements, we also want to test interruption of calls and messages during the usage of the app, we want to test install, upgrade and uninstall of the app.
Mobile/Web:
- In Mobile, we check Installation, Interruption (calls, messages, notifications, battery charge),
- Different Memory size, battery power consumption, portrait/landscape (vertical/horizontal), input method(different keyboard), swiping, navigation, screen size, in the mobile network: 2G, 3G, 4G
- Mobile Apps can work without an internet connection;
- Device fragmentation(for example: In one company there are many devices and systems, versions)
- Web Applications are more vulnerable to the hacks compared to the Mobile Application
Learn the basics.
What is special about web testing?
Testing without installation and upgrades, but heavy on compatibility (how it works on different browsers, platforms, and devices).
What is special about mobile testing?
Testing with a focus on installation, upgrades, backward compatibility, and device compatibility.
How would you test a toaster? (or: a vending machine, elevator, pen, a cup, iPhone, etc.)
*The only answer that you need to talk and bring up as much as possible test cases
First, I will ask for requirements because we always create test cases based on the requirements. If we don’t get any requirements and we are told to test it without requirements (for the interview purpose), I will start from functional positive test cases, will verify that it turns on/off, that we are able to put inside the required amount of slices, i will verify that it stops warming it once the expected amount of time is over. Will continue with functional negative testing - what will happen once we do things we shouldn’t do with the toaster, like using it upside down, or in a horizontal way instead of vertical, will continue with UI testing, making sure that it is made from the right materials and it has the required design, warnings, brand name, etc. (Verify that… Verify that…)
You need to show that you don’t just passively sit but you need to show that you always can create new test cases in order to test the product/feature/app from all possible Angles and ways, starting from functional positive, functional negative, UI, Stress, performance, etc.
How will you write test cases for LOGIN & PASSWORD functionality, positive & negative testing?
https://www.softwaretestinghelp.com/login-page-test-cases/
(learn 5 positive and 5 negative test cases)
https://www.guru99.com/test-case.html
What is the difference between positive and negative testing?
Positive testing aimed at showing software works as intended when the user does correct actions.
Negative testing aimed at showing that software handles properly situations in which the user acts not as the user is supposed to act (invalid inputs, unreasonable selections of settings, etc.)
What you don’t like (or Hate) about QA?
…………………..That we are in the bad news reporting business :) but someone needs to do that job - and it’s gonna be me
What do you like about QA?
I always had passion for tech and i like working with smart people, I like to break things, and I like to improve the user’s experience ;-)
Where do you see yourself in 3-5 years as a QA engineer?
I see myself as a professional QA Engineer, with deep knowledge of the product and the technology, using new tools and automation
(started learning classes now on careerist.com)
Why did you choose the QA career?
Because I love finding issues and contributing to creating a quality product, also I love to work in IT because new technology has always been my passion and I love to work with smart people.
Why do you want to work for our company?
A mismatch between actual and expected behavior
How big is your team?
(12)
- 3 Android dev (Developers)
- 2 iOS dev
- 2 QA (manual)
- 1 QA Manager
- 1 Product Manager (PM)
- 1 UX Designer
- 1 Front end developer
- 1 Back end developer
Or
(16)
- 3 Front end
- 5 Backend
- 2 QA Automation
- 3 QA (Manual)
- 1 QA Manager
- 2 Designers
What was the QA to Developer ratio at your previous job?
1:3 QA to Developer ratio typically, 1 QA to 3 Developers
Questions you can ask at the end of the interview:
- How big is your QA team?
- Which tools you are working with? (they might ask same from you)
- No more questions :)
(Optional)
- Who do you think would be the perfect candidate for that role?
- Do you use automation? which programming language do you use for automation ?
How many bugs do you report in one bug report? Why?
One, to ensure each bug is fixed and closed, each kind of issue should have its own bug report, if we have multiple issues of the same kind we can write one bug report which is going to list all of the issues associated with this (same) problem on the page/pages with the links to each of them.
How many bugs did you write on average per day?
It depends, on a regular day it was 5-7 but if we had new features or pages it could also be more (10-12)
How many test cases did you execute on average per day?
It depends, 25-50 on average if I didn’t have other tasks to work on.
How many test cases did you write on average per day?
Depends on the day and the tasks, between 0-30.
What do you need to do when you find a bug?
Make sure that it’s reproducible, Reproduce the steps across different supported platforms and devices in order to isolate the issue and make sure that it’s not an only device-related issue,
if it’s reproducible we want to check that it was not been already reported by someone else in Jira,
if it wasn’t - we create a bug report
*If it was already reported (before yours) your ticket will be closed and called duplicate
How do you perform GUI (UI) testing?
According to requirements or Design documents or based on GUI standards, to make sure all looks and feels good, nothing is overlapped, misaligned, truncated. (example: text in the button is not centered)
Everything must be aligned, have correct grammar, spelling and format (color, size, font).
GUI = Graphic User Interface , UI = User Interface
What kind of issues do you encounter in browser compatibility testing?
UI issues on Internet Explorer (IE), some buttons/elements/images are overlapped, misaligned, and truncated on different browsers.
CSS is often broken in IE older versions.
Which browsers do you like and why?
Chrome, fast, and I love to use chrome developer tools in testing.
When is the best time to do Cross Browser Testing?
Any testing reaps the best benefits when it is done early on. Therefore, the industry recommendation is to start with it as soon as the page designs are available.
Supported browsers of course.
How do you prepare a browser for GUI (UI) testing?
I clear cache and cookies (not always, because users don’t do it all the time and we want ideally to feel the user experience), I make sure I have the supported version of the browser.
*We can also use chrome developer tools for verifying font, colors, size, etc…
What/how to use Chrome Developer Tools (Chrome Dev tools): Chrome DevTools
The button doesn’t work? you can check the console tab for javascript errors
You want to check size, color, font? Elements tab
Network errors? (HTTP response codes) Network tab
please watch this video
Did you use linux/unix commands ?
YES
Which commands did you use?
pwd, cd, ls (LS), touch, grep, mkdir, open
What UNIX (Linux) commands do you commonly use? (iOS, macOS)
https://www.guru99.com/must-know-linux-commands.html
There is a very good emulator of Unix shell for windows called CMDER https://cmder.net/. Supports all Unix commands in the Windows environment. Strongly recommended for all Windows users for practice.
(cd ls pwd touch mkdir open grep)
Did you use ADB (it’s for Android!) commands?
Yes