Possible Questions Flashcards
What API methods are you familiar with?
GET - retrieve data
POST - submit data
PUT - update existing data
PATCH - update partial data
DELETE - delete data
What API testing/tools clients are familiar with?
Postman
Swagger - also has API client inside of it
How do you authenticate yourself in Swagger?
You will have to use a token
Why do you need to authenticate in Swagger?
You need to show that you have the permission, or credentials to access the data
What is the DOM?
- Document Object Model
- It represents the structure of a document as a tree where each node in the tree represents a part of the document, such as an element, attribute, or text
- It provides for a way for programs to dynamically access and update the content, structure, and style of HTML documents
- You can execute code in the DOM
What is the difference between a for loop and forEach method?
- For loops - can be used to iterate over arrays, you have more control over the loop’s behavior with explicit control over the initialization, condition, and increment
- forEach - higher order function available on arrays, it iterates over each element in the array, and executes a provided function once for each element, provides a cleaner syntax for iterating over arrays
Summary: For loops offer more flexibility and control over iteration, while the forEach method provides a more concise and readable way to iterate over arrays specifically
What do you use to see API requests in browser dev tools?
Inspect element -> network
How do you see only API requests in network tab?
Click on the ‘Fetch/XHR’ button
What is the difference between PATCH and PUT?
They are both used to update data, PATCH updates part of the existing data, PUT updates the entire existing resource
What if you are the first QA in a company?
- Learn application - First, what requirements do you have? Go through documentations, design templates, and whatever else. If there are no documentations, go through JIRA, meet with people in the engineering team to learn about the app from their perspective. What was last built, what is being built right, and how do they like the process
- Start supporting the most critical part, which is usually release - standardize list of scenarios, start automating most critical test cases
- After documenting test cases and working for about a month, start negotiating improvements with team
What are the steps to automate from scratch?
- We would have to look at how much resources we have to start automating, what can we pay for?
- Timewise, what’s the quickest framework we can use to automate
- Then we dive into requirements and understand what we have already automated, what frameworks are already in place and we need to migrate them
Does it matter what language you use in the automation framework?
It doesn’t have to be the same language they’re using, so its easier to go with what I’m already familiar with
How good are you at automation?
I was able to build a simple framework from scratch, write some UI automation test cases, I utilized the POM…
I show them what I’ve done, and let them judge based on that
What is a good test case?
- Steps are clear and concise
- Focus on end-user requirements
- Avoids repetition
- Steps are easy to understand and execute
- Self-cleaning
- Returns the same result no matter who the tester is
Conflict with teammate?
I don’t want to get anyone in trouble, I just want the work issue resolved.
I would reach out to the person directly, to see where they are coming from. Or I would reach out to the manager to get advice.
And I try not to take things personally
How do you approach testing requirements that are incomplete or unclear?
- The worst thing to do is go with my own assumptions
- I’ll try to get it clarified, so I’ll go to the PM, or QA lead, or whoever has those requirements and can clarify
How to prioritize tests when there are competing demands?
- I always have a list of priorities and they are ranked, and I work on a top-down approach, taking into consideration critical functionalities, or release time
- If there isn’t any time for lower priority items, I can try to get help from other team mates
- Another way is to bring it up during the daily sync meetings, if priorities are changing often
Difficult decision during testing
- Everything comes down to priority
- What makes the company the most money, what are the most critical functionalities
What do you do if you are the only person who found a bug and gets to decide if you should go through with release?
- Ultimately, I would try to assess the risk
- If it affects a critical functionality, I would not go through with release
- If it’s something low priority/ low severity, then we can ship it
Conflicting priorities/expectations from different stakeholders
I’ve never had this happen to me, but if I ever did, I would get the two stakeholders together and have them figure it out
Difference in opinion between you and a dev or product owner?
- I would reach out to the person directly, maybe schedule a meeting
- I would try to explain why I hold my opinion and advise them, but ultimately they make the decisions
How do you approach testing a product with a large number of features and/or complex functionalities?
- Test planning really is the core
- Test cases
- I won’t be able to remember everything, that’s why there’s a case management system
- I would consult with team members as well
How would you explain things to a non-technical stakeholder?
- I would try to explain things in simple human language using non-technical terms
How do you make sure testing is comprehensive and convers all possible scenarios
- I use a test matrix, which describes which tests cover which functionalities
- I would ask a QA from a different team to take a look at the product and see if anything was missed, it helps to have a new set of eyes