Software QA Engineer
What types of HTTP response codes do you know?
200 OK (Success) 201 Created 2xx (successful) The request was successfully received, understood, and excepted 400 Bad Request 404 Not Found 4xx (client error) The request contains bad syntax or cannot be fulfilled 500 Internal Server Error 5xx (server error) The server failed to fulfill an apparently valid request
What is rollback in SDLC?
Rollback is when release failed and previous versions of the application have to be released until the fix is found.
What is acceptance testing?
Acceptance testing aims to verify build is finally good to go to production. Very first check is smoke not acceptance
How do you perform GUI (UI) testing?
According to requirements or Design document or based on GUI standards, to make sure all looks and feels good, nothing is overlapping, misaligned, truncated, (example: text in the button is not centered). Everything must be aligned, have correct grammar, spelling, and format (color, size, font).
How do you write test cases?
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 is a bug life cycle in your company?
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 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 status changes to "closed", if issue is reproducible we reopen the ticket and assign back to 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 that the bug is still reproducible I will reopen the bug and assign 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"
How can you describe the QA process in your last company?
Agile, the name of the company was "x". We were writing test cases and bug reports. Executing test cases from the test suites/test-runs. The day was starting from reading emails, meetings, and discussion (11am for 15-20 min standup meeting/also known as Scrum-meeting) on what we are working on and mentioning if there are concerns or questions. Verifying implementation of requirements (executing test cases), raising bugs (Jira) if there were mismatches between actual and expected behavior, and verifying bug fixes. Closing the bugs if they are no longer reproducible or reopening them if they are reproducible. (always commenting about the result)
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 leave your current job and work with us?
Because it's a internship and I'm looking for a long term opportunity.
What type of testing do you know?
Black Box (Functional/Manual/UI) Positive and Negative (Functional) Grey Box (SQL, API, Chrome Dev Tools) Smoke Regression Exploratory White Box (Example: grep error/crashes/exception in the log file)
Chrome Developer Tools (Chrome Dev tools):
Button doesn't work? You can check console tab for JavaScript errors You want to check size color font? Elements tab. Network errors? (http response codes) Network tab.
How do you measure the success of software quality?
By amount of production bugs after the release, effective functional testing process and minimum time spent on regression
What is stress testing?
Testing is conducted to understand the behavior of the system under abnormal/extreme conditions. Stress testing is a software testing activity that determines the robustness of software by testing beyond the limits of normal operation.
What is performance testing?
Testing performed to determine how a system performs in terms of responsiveness and stability under a particular work load (includes stress and load testing)
Differences between Mobile and Web testing
Testing web applications ensures that websites are completely functional across all devices and browsers. In contrast, mobile app testing is aimed at uncovering compatibility issues within a native or hybrid mobile app across a variety of Android and iOS devices.
In the past when you had time constraints and you were unable to test the entire application; what areas did you focus on and why?
The most functional (positive) parts related to the core functionality of the app. For example, if it was a dating app, for the search, images, and chat. To make sure it serves the main reason (purpose) users are using it.
In the past when you had constraints, and you were unable to test the entire application; what areas did you focus on and why?
The most functional (positive) parts related to the core functionality of the app. for example, if it was a dating app, for the search, images, and chat. To make sure it serves the main reason (purpose) users are using it.
What's the difference between a mobile app (native) and a web app?
There are many differences between the both of them. The most basic difference is that the web app runs on browser and mobile app (native) runs on the device itself. Web application needs an active internet connection for it to work on your devices. Mobile app (native) works without a active internet connection. The hybrid mobile app works with a internet connection
What are your weaknesses?
I currently don't know any automation Chicken Shrimp
How did you get to QA?
I learned QA and Software Testing at careerist.com
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 possibly automation
How do you deal with conflict?
I usually get along easily and I have never been involved in a conflict at work. In case I ever had to deal with this, I would try to take the person aside and discuss the issue first. I listen actively to make sure I understand the other person's point of view, and I work with the person to develop a solution together. If we cannot resolve this issue over communication with each other, I would probably seek advice from my manager first, then HR if needed.
What do you look for inside a log file?
I was looking for crashes, errors, exceptions If they ask how: using "grep" command in UNIX to find them
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.
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 it's not only device related issue. If it's reproducible we want to check that it has not been already reported by someone else in Jira, if it wasn't - we create a bug report
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 which are re-executed to ensure existing functionalities work fine.
Tell me about your company sprint cycle
Most companies prefer a 3 weeks sprint cycle. The first most important thing is Planning, that is happening before Sprint. From the first day of Sprint - functional period for about 2 weeks following code complete. After Regression for about 3-4 days and release, followed by Sanity test (or Smoke test) on production.
What is the most important in bug entry?
Most people believe that the most important thing is a Priority because only priority decides would the issue will be worked on or not, however, Steps to reproduce is the only thing that helps bug to be worked on. The environment is the only place that will tell us on which devices and platforms it's happening. Also, the attachments are very important especially log file and screenshot/video-recording.
Did you have conflicts at work?
No
Have you ever done Beta testing?
No, Beta testing takes place at customers' sites and involves testing by a group of customers who use the system at their own locations and provide feedback, before the system is released to other customers.
To make sure all looks good, what do you mean?
Nothing is overlapped, misaligned or truncated. No grammar or spelling errors. Correct font, size and color. According to the design document.
What is the difference between positive and negative testing?
Positive testing aimed at showing the 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 suppose to act (invalid inputs, unreasonable selection of settings, etc.)
Where are the requirements located?
on Google Drive (shared with our team)
What commands did you use?
pwd, cd, ls, touch, grep, mkdir, open
What types of tickets (Jira) do you know?
There are: Bugs Story Epic Features/Enhancement request We only create bugs, we test any ticket that is assigned to us no matter what his type, usually it's only bug, but if it's a story - we don't close it, just leave a comment with our observation and ask the PM to change the status accordingly)
What did you use to write test cases?Where did you write test cases?
Using TestRail *Jira plug-in: JIRA Test Management with Testrail
Did you use ADB commands?
Yes of course
Did you use Unix commands?
Yes of course
What is exploratory/ad hoc testing?
You are learning and exploring the application by using it and going through the different features and pages.
What ADB commands did you use?
adb devices (shows connected devices) adb install / adb uninstall adb log cat (prints log data to the screen) press Ctrl+C to stop the logs adb reboot (restart) adb push (helps to copy a file/directory to device) adb pull (helps to copy file/directory from device) ADB - Android Debug Bridge
Describe a bug?
A mismatch between actual and expected behavior
What kind of comments do you leave once it's as expected (according to requirements)
"As designed or not a bug"
Comment if it's against the requirements?
"This is a valid bug/issue according to the requirements (PRD/Design/BRD/Specs) page 27 line 7"
When do we stop testing? How do you know when the product is ready to be released?
- When the product meets the expectations, we executed all the test cases, and there are no high priority bugs related to the feature open. - When all test cases are executed and "exit criteria" have been met.
An input field determines a year of birth between 1900 and 2004. What are the boundary values for testing this field?
1899, 1900, 2004, 2005 and any value between 1900 and 2004 (e.g. 1987 or 2000, etc.)
Tell me about your day at work
0900 turn on my laptop and open my email and Slack to see if I have urgent messages 0915 Stand-up meeting (or project team meeting/scrum meeting 15 min) 0930 going through emails and assigned to me test runs Executing test cases and marking them Pass or Failed 1200 lunch 1245 keep executing the test runs OR work on assigned to you tickets OR write test cases 1330 create bug/defects (if test case is failed or I found an issue) 1400 update and add test cases if necessary 1500mgoing through assigned to me tickets to verify (fixed or not) 1730 **complete daily status reports (usually once a week, Friday, in some companies once a month/3/year) 1800 stop working
What are Test case components (test suites/test runs as well)?
1. Test case ID 2. Title / Purpose Test description; Intent; Objective, etc. 3. Pre-conditions 4. Instructions (steps) How to get an application from base state to an expected result 5. Expected result Expected application behavior based on requirements 6. Actual result (only after execution) Actual application behavior 7. Pass/Fail (status) Verification of actual result (application behavior) against expected result (specified in the test case)
**If they ask more about your team, you can add (choose one of the options below)
12 People (will fit web project) 2 QA (manual) - 1 QA Lead - 1 QA Manager - 1 QA Automation 1 Product Manager - 2 Front end developer - 2 Back-end developer - 1 Android developer - 1 IOS developer OR 10 People (will fit to mobile project) 2 QA (manual) - 1 QA Lead - 1 QA Manager - 1 QA Automation - 3 Front end - 2 Back-end
How long was a sprint in your previous job?
3 weeks (if they ask: following 4 days of regression testing)
What is error code 404? Page not found
404s are common messages when website content or a web page has been removed or moved to another URL or if using a broken link.
What is a test plan?
A document that describes the objectives, scope, approach, and focus of a software testing effort.
Black Box Testing
A method of software testing that examines the functionality of an application without peering into its internal structure. (Testing without access to the code)
What is exit criteria?
As a common process of SDLC, each company has to decide what priority of the known bugs - product can be released with.
If you don't have the requirements, how would you start testing?
Ask for the requirements! but if no requirements still Use common sense Try exploratory testing (like user) Test the core functionality of the app (start with positive > negative > GUI testing) Test most popular (among customers) platforms & devices (if you don't have the requirements) Compare to similar applications
What devices do you test first?
By priority and supported devices and OS in requirements. Usually, the company provides a list of devices and OS by priority. I will test the highest priority devices first (P1) and if we have enough time and resources will test later P2, usually, we didn't have enough time to test non P1 devices. The priority is base on a business document that list the most popular devices used by the users of the application. Not always a company have a defined list of supported OSs and devices. If they don't have it, ask PMs what are the most common devices across your users and start with those.
What can you bring to the company?
I can bring my experience and help deliver a quality product for our customers. I'm hard working and very detailed-oriented. I can bring great performance and results to the team in order to create a great user experience for our customers. Quick learner and multi-tasker.
What does quality assurance means to you?
Delivering the best possible experience for our customers The product that meets expectations, also when the customer is satisfied. Software Quality Assurance (SQA) is the process of monitoring and improving all activities associated with software development, from requirements gathering to code, testing, and implementation.
How many test cases did you write on average per day?
Depends on the day and the tasks, between 0-30.
What are reasons for rejecting the bug?
Duplicate Works for me/can't reproduce Will not fix / Feature / Works as designed / not a bug
How did you get log files in a mobile application?
For IOS: Xcode > Windows > Devices > Choose your device (should be connected) > "View device logs > right-click the log - import the relevant (base on time) log and attach to the bug ticket. For Android: Terminal/Command prompt ADB logcat *><path to the log file>* Example adb logcat > c:/logs.text (and attach to bug report)
Tell me about regression testing?
Functional test post code freeze to see if tickets related to the current sprint did not break existing functionality. Regression starts right after code freeze.
Can you provide examples of functional vs non-functional testing?
Functional: What the system does? Typically described in requirements Verify that functions work as specified Non-Functional: How the system works? usability, compatibility, response times, capacity for performance testing, reliability, maintainability, etc. Functional (black box) Smoke testing Regression testing Sanity testing Integration testing System testing Acceptance testing Non-Functional Usability testing Load testing Performance testing Compatibility testing Stress testing Scalability testing
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 ;-)
If there is no documentation available, how do you know what to test and how to perform testing properly?
I was mostly working with requirements, but in case that I won't have any, I would ask the PM what is the expected behavior, if that is missing and I'm told to test it without requirements I would just compare it to similar (competitor) quality product and also use the app as a user and will make sure that the app behaves as expected by the user. I will also ask access to the tickets/stories according to which the app was created by the developers. Those tickets will be our requirements until we receive updated requirements. I will also ask to schedule a meeting with the product manager, QA and the development to better understand the requirements and the expected behavior.
How have you in the pass contributed to the success of your employer?
I was working hard and smart (according to prioritization) in order to test all possible scenarios to make sure we deliver a quality product as much as possible bug free. I was working late in order to meet deadlines and was adding and editing test cases and test suites to improve the coverage of our testing. I was always advocating the customers and was the voice of the customer > which improved the user experience that lead to success of my company.
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 would you do if a developer reassigns a ticket/bug back to you and marks it "as designed or not a bug"?
I will double check the requirements, if according to the requirements it's expected behavior - I will close the ticket/bug and leave a comment. But, if it's not expected behavior according to the requirements - I will reopen the ticket/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 base on his/her answer. Example: not expected behavior "This is a valid bug/issue according to the requirements (PRD/Design/BRD/Specs) page 27 line 7"
When you are working on a problem (e.g. test scenario/bug), bug you are unable to get the information you need, who, most likely, will you ask for help?
I will start with investigating the documentation (PRD, BRD, Design document, Confluence page, product stories in Jira), Google, YouTube, if after 15-30 minutes research this doesn't help, I will ask the relevant QA person, QA Lead/QA Manager/Developer/Product Manager and make sure that I add the answer to my notes and our knowledge base (ex: Confluence page or Google doc) document/page to make sure I or someone else won't need to ask that question again.
What would you do if you don't know what to do and your stuck?
I will try to investigate for 20-30 minutes, 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, I will ask another QA person or a QA lead for guidance. If there is still no answer, then I will ask my colleagues or QA manager or the developer for help in order to be productive and not wasting time.
What do you do if a developer reassigns a bug/ticket back to you and marks it as "Can't reproduce"?
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 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 tickets / projects will you test first?
I will work according to the prioritization. High priority tickets first. In case the priorities on the tickets or projects are same (and they are time consuming). I will ask the QA manager which project to prioritize.
What are your strengths? Why we should hire you?
I'm detailed-oriented and I pay a lot of attention to details, that's why I catch a lot of bugs I have a lot of experience testing web and mobile application I'm always being the voice of the customer, advocating the customer to provide the best possible user experience I love to break things. I have a passion for quality, which will improve the user experience
How did you write bug tickets?
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
When does testing begin?
Requirements App: when the code is ready for testing
How did you install apps?
IOS: Xcode > Windows > Devices (phone needs to be connected by usb) > choose the device > "+" (.ipa file) "-" (is for uninstall) Android: (you can use ADB or Android Studio) ADB command adb install <path of the .apk file> (Helps to install a application that is under development to the device - phone needs to be connected by usb) adb uninstall <package> (<path to the .apk file) (helps to remove this app package from the device) Android Studio > connect (usb) a device > file > open (.apk file) (it will load on android studio) > use "play" button on the android studio (it will install the app on your phone)
What is a test case?
Increments or steps verifying that the requirements is implemented.
What is error code 500?
Internal server error, It means something has gone wrong on the server-side but the server could not be more specific on what the exact problem is. Usually, it is related to backend bugs.
If an application is currently in production and one module of code is being modified, is it necessary to retest the whole application or is it enough to just test functionality associated with that module?
It depends on what this module is connected to, but overall just the functionality associated with that module, but in case that it's related to another module - we would test as well. If we don't know the related modules we should test the whole build, only if we know exactly related modules we can test the related only.
How many test case's did you execute on average per day?
It depends, 25-50 on average if I didn't have other task to work on
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 10-12.
How can you describe the QA process in your company? Tell me what QA Engineers do in Agile SDLC
It is Agile. We start with test planning and test development. Our team is writing test plans and test cases based on the requirements. Then we do Test Execution and Bug Reporting. Executing and maintaining the test cases. Marking them pass or failed, and once it fails, we create bug reports. We start the day by reading emails, messages, and stand-up meetings (for example 11am for 15-20 minutes) where we discuss what we are working on, concerns, and issues. Verifying implementation of requirements by executing test cases and creating bugs in Jira if we find issues. Then we do defect management, verifying bug fixes, closing the bugs if they are no longer reproducible or reopening them if they are reproducible with our comments with the results in both cases.
What is sign off?
It is a process after successful regression where QA lead signs off on testing and allows release to move forward
When reporting issues in Jira?
Once I saw a mismatch between actual and expected behavior.
Which format was the (requirements) document?
PDF with PRD PDF with Design Document
What kind of requirements did you work with?
PRD, Design
What are Bug Report components?
Project: Name Issue Type: Bug Title (informative and not long, what & where happens) Description (Steps, 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
When do you start regression?
Regression starts right after code freeze (whenever developers stop adding new code)
What do QA Engineers do before release ?
Release acceptance testing
What is Sanity Testing?
Sanity Testing is done to check the new functionality/bugs have been fixed
What do QA Engineers do after release?
Sanity/Smoke testing on production (we also do it before release)
Severity vs Priority
Severity: It is the extent to which the defect can affect the software. In other words, it defines the impact that a given defect/bug has on the system. Priority: It is the extent to which the defect can affect the business
Tell me what QA Engineers do in Agile SDLC?
Since Agile SDLC is a very fast paced approach, QA engineers are usually involved from the very early stage such as Design and Planning. During the Development stage QA engineers can already start writing test cases based on the requirements and other documentation. When software is ready, QA engineers start the testing of the software. After the software has been released to the final user QA department may still be involved during the maintenance stage going over user reported issues and verifying bug fixes.
What is smoke testing?
Smoke Testing is performed to verify that the critical functionality of the program is working fine. Does the program run? Does it open a window? Does clicking the main buttons do anything?
What is the most important impact QA can have on a product development process?
To find real problems, make the app much better for user satisfaction. Clarifying requirements and minimizing rewriting the code due to the change in requirements.
How did you use ADB?
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, 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.
How did you use Google (Chrome) Dev Tools while working on your last project?
To verify color, size, font, image name (Inspect element) compared it to design document (pdf) which indicated which font, size, color we should have.
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.
How big is your team? How do you communicate?
We have 2 QA testers in my team, the QA lead and the QA Manager. Most of the communicate is in Slack and email. In case we have meetings (video/audio meetings) with the team or with other teams online, we meet in Google Hangouts. We have daily stand-up meetings, where we discuss problems, what we are working on and updates. We also communicate regarding the issues in the comments of Jira tickets. We work closely with the development and product management over the tickets that must be prioritized/verified/reopened/closed or to clarify the expected and actual behavior.
Please describe the interaction with development and product teams based on your own experience?
We were communicating via slack, worked closely with the development and product manager over the tickets that had to be prioritized/verified/reopened/closed or clarified the expected behavior, or discussed the actual behavior.
If you find a bug what do you do next?
Web > Try to reproduce it on the reported platform and browser versions, if still reproducible - compare to other versions (Chrome 75/73) and platforms (for example macOS/Windows) Mobile > Try to reproduce it on the reported device and on different other supported devices and platforms (for example, Android 6.0 and 8.0, and iOS 9)