Job Interview Flashcards
Tell me about yourself: (with the 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.
Testing ios, android, windows, and mac.
Who you are looking for?
Tell me about yourself: (with the hiring manager)
I’m working in QA for the past __ months/years,
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 do you report 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 the 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 by that?
It means nothing is overlapped, misaligned, or truncated. No grammar or spelling errors. Correct font, size, and color. According to the design document.
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
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 it on the reported device and will make sure that I’m following the right steps, using the right Environment, Device, Platform, and 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 clarification.
And will close or reopen the ticket based on his/her answer.
What kind of comments do you leave once it’s as expected (according to the
requirements)? What If it’s against the requirements?
“as designed” or “not a bug”
“This is a valid bug/issue according to the requirements (for example PRD/Design/BRD/Specs) page 27 line 7”.
Where are the requirements located?
on Google Drive (shared with our team)
(If they ask )In which format was the PRD document?
PDF with the PRD (how all should work)
PDF with Design document (How all should look)
How many pages your PRD (Product Requirement Document) had?
25!
It is pretty often after the QA engineer enters a bug, the bug comes back as “not a bug”. What are the 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!)
I’m going to Jira. Creating a new ticket.
Choosing the correct project, choosing the issue type which is 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
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
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
I am working on a web and mobile app called Hirio which is developed for job search management. Employers post job offers and candidates can apply for them. The testing scope implies two sides: the employer’s side and the candidate’s side. I am working on both. Our app supports different browsers and operating systems.
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 quality products. Worked closely with development and product management.
What responsibilities do you have there?
I’m mainly focusing on functional, black-box, and UI testing on the web and mobile. Creating and executing test cases in TestRail, and 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?
Using TestRail
*Jira plugin: Jira Test Management With TestRail
Example:
Requirement: “Buy now” button on the main page should be green
Test case: Verify that the “Buy now” button, on the main page is green
What are the Test Case components (test suites/test runs as well):
- Test case ID
- Title / Purpose
Test description; Intent; Objective; etc - Pre-conditions
- Instructions (Steps)
How to get an application from a 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?
Write them based on the ideal user experience.
Ask questions to product managers/developers.
Research similar features on other apps/websites.
Brainstorm any possible action you can do with the feature.
Ask developers what logic they used in the code.
Provide a summary of what you’ll be testing.
Have a standard list of expectations for any feature.
What would you do if you don’t know what to do and you were stuck?
I will try to investigate for 20-30 min, and I will try to search for the answer using documentation, If the answer is not found I will look into google, youtube, and the 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 colleagues, or QA manager, or the developer for help in order to be productive and not waste time.
Tell me about your day at work (30%+ in Tech work remotely)
09:00 turn on my laptop (or: arrive for work) and open your email and Slack to see if you have urgent messages
09:15 “Stand-up meeting” (or: “project team meeting”/”scrum meeting” 15 min)
(you will discuss what you are working on today and hear the others)
09:30 going through emails and assigned to me test suites/test-runs (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 assigned on your tickets OR write test cases
(if you are done with test suites and tickets)
13:30 raise (created) bugs/defects (if a test case is “failed” or you found an issue)
14:00 “update and add test cases if necessary”
15:00 going through ‘assigned-to-me- tickets’ to verify (fixed or not)
17:30 * complete daily status report (usually once a week, Friday, in some companies once a month/3/year)
18: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 we open a bug the status is “Open”, then 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 QA Engineer, and the status changes to “in QA”, QA Engineer will start testing and will try to reproduce the issue, if not reproducible we close the ticket and the status changes to “closed”, if the issue is reproducible we reopen the ticket and assign back to the developer and leave a comment - status changes to “in Development”, after that, it goes back to “in QA” and closed or reopened based on the results.
In case 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, and build. If it’s not reproducible: “Not reproducible on device, platform, build”
How did you get to QA?
I learned QA & Software Testing at careerist.com and udemy.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 back to the logged-in page with the private information of the user
What do you prefer: white or black box testing?
I mostly was focused on the 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.
I’m actually starting automation classes with python soon.
example of your interaction with white box testing:
using grep (Linux) to find crashes, errors, and exceptions inside the log file
What are the Differences between Mobile and Web testing?
Mobile testing tests software applications for mobile devices, while web testing tests web-hosted software applications for functionality, compatibility, and usability.
Briefly, how would you 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 sizes, battery power consumption, portrait/landscape (vertical/horizontal), input method(different keyboard), swiping, navigation, and 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 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?
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 with functional positive test cases, will verify that it turns on/off and that we are able to put it 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 vertically, 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…)
How will you write test cases for LOGIN & PASSWORD functionality, positive & negative testing?
https://www.softwaretestinghelp.com/login-page-test-cases/
What is the difference between positive and negative testing?
Positive testing is aimed at showing software works as intended when the user does the correct actions.
Negative testing is 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 a 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 udemy.com)
Why did you choose the QA career?
Because I love finding issues and contributing to creating quality products, 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?
What is a bug?
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
What was the QA to Developer ratio at your previous job?
1:3 QA to Developer ratio typically, 1 QA to 3 Developers
What Questions do you have (at the end of the interview)?
How big is your QA team?
Which tools you are working with?
What is it that you value the most in your employees?
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 only a 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, or truncated. (example: text in the button is not centered)
Everything must be aligned, and have correct grammar, spelling, and format (color, size, font).
GUI = Graphic User Interface, UI = User Interface
What kind of issues do you encounter in UI 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, because it’s 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), and I make sure I have the supported version of the browser.
*We can also use chrome developer tools for verifying font, colors, size, etc…
How did you use Chrome Developer Tools (Chrome Dev tools)?
The button doesn’t work? you can check the console tab for javascript errors
Do you want to check the size, color, and font? Elements tab
Network errors? (http response codes) Network Tab
What UNIX (Linux) commands do you commonly use? (iOS, macOS)
pwd
prints working directory (prints the name of the current directory from the root)
cd <directory_name></directory_name>
cd
changes directory
Also: cd / => takes to root, cd - => takes to the previous directory
cd ~ => home (personal catalog of the user), cd .. => takes to the parent directory
ls (LS, not is)
lists files in the current directory
ls -a => lists all files including hidden ones
touch <file_name>
creates an empty file</file_name>
cp <where_from> <where_to>
copies file into directory Example: cp file1.txt docs</where_to></where_from>
grep <str><files>
finds which files contain a certain word,
Example: grep "crash" or “errors”/”exceptions” in log-file
https://www.howtoforge.com/tutorial/linux-grep-command/
grep 'word' filename *str=string=name</files></str>
Open (to open the folder in UI)
Mkdir (create folder)
Open filename (how to open file)
Ipconfig ( How do I find my IP address Linux? ipconfig -a )
cd (goes to the previous folder)
Which ADB commands did you use?
Adb devices, adb install, adb uninstall, adb logcat, adb reboot, adb push, adb pull