Interview Questions

What would you do if you don't have clear written user requirements to test the software?

You: There are still ways to test the software even if the user requirements are not clear. Here are some possible approaches:

First, work with whatever little documentation you can get your hands on. 📝 Even if you don't have complete and clear requirements, you may still have some documentation that provides context or guidance for how the software should function. Use whatever documentation you have to guide your testing efforts.

Second, use the older/current version of the application as a reference to test the future release of a software product. 🔙 If the software being tested is an update or a new version of an existing application, use the older/current version as a reference to test the new release. This can help you understand the expected functionality and identify any differences or improvements in the new version.

Third, talk to the project team members. 💬 Reach out to the project team members, such as the developers and product owners, to gather more information about the software being tested. They may be able to provide additional context or guidance on how the software should function.

Fourth, use exploratory testing to test the application when it is ready. 🔍 Exploratory testing is a type of testing that involves exploring the software and learning about its functionality as you go. This approach can be useful when requirements are unclear, as it allows testers to identify issues and areas for improvement based on their observations and experience using the software.

When can you say your story is ready to develop/ groom enough to deliver?

Answer: Ready is a stable state of Scrum that is linked to a user story. As per the Definition of Ready (DOR), a user story has to satisfy some conditions before picking it up for a sprint i.e. to be in the ready state. So, the conditions that are essential for the development/grooming of a user story specify if the user story is ready to develop/groom enough to deliver or not.

Basically, the following questions should be answered to consider a user story ready:

Why: Is it clear what the business or stakeholders are trying to achieve?

What: Is the goal or outcome of the user story clear?

How: Is the strategy for the implementation of the user story clear? Is the story small enough?

The conditions for the user story are defined by the scrum master in coordination with the product owner. Although the conditions vary for the different projects, some of the common conditions for user stories are –

  • It is clear and well-written in a format to identify user type, function, and benefits

  • It is self-contained i.e., independent of another user story inherently

  • It is small so that can be delivered in a single sprint

  • It has defined acceptance criteria for all the functional requirements and appropriate non-functional requirements

  • It should have been estimated by the scrum team

  • All the external blocking dependencies should have been resolved before starting the sprint

The resources/team have all the skills required to deliver the sprint.

What are the types of documents needed for QA, QC, and Testing?

🙋‍♂️ Test Plan:

  • Outlines the scope, approach, resources, and schedule for testing

  • Defines test strategy, objectives, and entry/exit criteria

📜 Functional Requirements Document:

  • Specifies the features and functionality that the product must have

  • Used as a base to develop test cases

📜 Design Documents:

  • Details of how the product will be designed and built

  • Used to verify that the final product meets design specifications

📝 Test Strategy:

  • Defines the high-level approach for testing the product

  • Includes the types of testing to be done

📝 Test Cases:

➡ Test procedures to be performed ➡ Expected results ➡ Pass/fail criteria

📝 Defect Reports:

  • Used to log any issues found during testing

  • Helps prioritize and track defects

📝 Test Metrics:

  • Data collected during testing

  • Used to measure test coverage, effectiveness, and efficiency

🗒 Other Useful Documents:

  • Data specifications

  • Test policies

  • Use cases

  • Test methodologies

  • Template test documents

What is the difference between Build and Release/Version?

🛠️ Builds 🛠️

  • Compile code into executable programs 👨‍💻

  • Integrate code from different modules 🧩

  • Run unit tests to validate code ✅

  • Output is tested artifacts ready for release 📦

🚀 Releases 🚀

  • Take build artifacts and package them 🎁

  • Prepare installers and docs for users 💻

  • Deploy to download channels for use 📥

  • Major releases have big new features 🆕

  • Minor releases are smaller changes 🛠️

Summary:

  • 🛠️ Builds transform code into tested programs

  • 🚀 Releases deliver those programs to users

  • Builds come first 🥇

  • Releases come after successful builds 🏁

As a QA automation engineer, we help test builds 🧪 and release quality software! ✅

BuildReleaseVersion

What it is

Daily code work

Tested code ready for customers

Specific release given to customers

Created from

Individual code pieces

Combines multiple builds after testing

Based on release passed to customers

Numbering

No numbers usually

Gets a release number like 1.0

Increments with changes, like 1.1, 2.0

Examples

Code on Monday

Monday and Tuesday code as 1.0

Customers get improved 1.1 code

Purpose

For developers to add code

Thoroughly tested code for customers

Track software updates over time

Frequency

Daily as code is added

Less often after extensive testing

When important changes are ready

Last updated