Interview Questions: Manual Test Analyst

Below are approximately 60 interview questions for a Manual Software Test Analyst position.

Some of these questions are ones I have asked as a Manager, they are also questions that I’ve either been frequently asked at interviews or could most likely be asked. 

I have grouped the questions around the Software (Manual) Testing tutorial that you can find on this site. I have actually grouped them by each lesson’s topic that the question has been taught in the tutorial itself (e.g. for lesson 2, the tutorial covers “Concepts of Software Testing”). Why not go through the tutorial to help better prepare yourself…and complete the “Test Yourself” tests at the end of each lesson 🙂 !

Please Note: You will notice that there are no Test Management, Test Automation or Performance Test questions, because these interview questions are for a Manual Test Analyst position only. 

Table of contents
  1. Concepts of Software Testing questions
  2. Understanding the SDLC (Software Development Life Cycle) questions
  3. Static Testing (Verification Test Process) questions
  4. Dynamic Testing (Validation Test Process) questions

1. Concepts of Software Testing questions

Q1. How would you describe Software Testing?

Answer:

It is the process of checking whether the results of an activity matches the expected results, with the intent of finding and reporting defects so that they can be fixed before the product is released 

Q2. Why do you think we need to test software?

Answer:

People who design and develop systems are only “human”, therefore, they will make mistakes! In some instances, these mistakes could be big enough to cause serious problems, such as financial collapse or even death!

Q3. Who in your current business performs Software Testing?

Answer: 

In big / corporate companies, you will have a Software Testing Team / Department, who control the testing of a project or system. However, testing is performed from the outset of a project starting by all team members. Reviewing and verifying documents is a form of testing, as are code reviews.

As a rule of thumb:

  • Business User – responsible for User Acceptance Testing (UAT)
  • Business Analysts / Architects (System Designers) – Review and verify each other’s work (Requirement Gathering and Designs) and help the Test Manager produce the Test Strategy and Plan 
  • Test Manager – Produces the Test Strategy, the Plan and manages the Test Process
  • Test Analyst – Responsible for executing the manual tests
  • Performance Test Analyst – Ensures the System performs as required (speed, response time, stability, reliability and scalability wise) 
  • Automation Test Analyst – responsible for the regression testing of systems by running scripts that they will have coded

Q4. What are the benefits of having a separate Test Team in a company?

Answer: 

A separate Test Team:

  • can set a separate budget for testing purposes only
  • are dedicated to only test systems
  • provide confidence to the Customer (End Users of the system)
  • provide a fresh set of eyes to what has been developed
  • allow early testing to be done

Q5. What are the “Principles of Software Testing”?

Answer: 

Note: I have put this question in, but I’m sure you wouldn’t be expected to answer all 7 of the principles…or even get asked this question in the first place!

These are the 7…

  1. Testing shows the presence of defects
  2. Exhaustive testing is “impossible”
  3. Early testing
  4. Defect clustering
  5. Pesticide paradox
  6. Testing is context dependent
  7. Absence of errors is a myth

Q6. What are the 5 “Software Test Process (Fundamental Test Process)” activities?

Answer: 

  1. Test Planning and Control
  2. Test Analysis and Design
  3. Test Implementation and Execution
  4. Evaluating Exit Criteria and Reporting
  5. Test Closure Activities

Q7. What is the “Software Test Process (Fundamental Test Process)” also known as?

Answer: 

The Software Testing Life Cycle (STLC)…not to be confused with the Software Development Life Cycle (SDLC)

Q8. How are the above 5 Software Test Process activities performed? Are they done sequentially?

Answer: 

No, they are performed in an iterative manner. Earlier activities can be revisited when issues are found. Activity Evaluating Exit Criteria and Reporting will certainly be revisited for each release of the project.

Q9. What are the main tasks performed in the “Test Analysis and Design” Stage of a project?

Answer: 

  • Review the project’s requirements and design documents
  • Design High Level Tests from the Requirements and Design documents
  • Document Test Conditions and associated Test Data in a Test Design Specification 
  • Design and prepare the test environment set-ups
  • Identify any required infrastructure and tools 
  • Design and prioritise Test Cases

Q10. What are the main tasks performed in the “Test Implementation and Execution” Stage of a project?

Answer: 

  • Set up environments to be able to run tests
  • Prepare test data
  • Prepare test cases and prioritise. Most important ones to be run first
  • Run test cases
  • Regression test. To ensure changes have not affected other parts of the system
  • Record test results – actual against expected
  • Raise test incidents where defects or discrepancies are found
  • Re-test fixed defects

Q11. What is the main purpose of evaluating the Exit Criteria?

Answer: 

It determines whether or not a given test activity has been completed. This could be based on such things as an end date or a specified amount of test coverage being reached or even the budget being exhausted. The criteria is usually decided in the Test Plan.

Q12. How would you describe Test Coverage?

Answer: It determines how much of a System’s code is being executed by Test Cases. 

back to table of contents

2. Understanding the SDLC (Software Development Life Cycle) questions

Q1. What are the 5 stages of a “Software Development Life Cycle”?

Answer: 

  1. Analysis (Requirements Gathering)
  2. Design
  3. Development (Code)
  4. Test
  5. Deployment

Q2. What is the purpose of the “Requirements Gathering and Analysis Phase”?

Answer: 

Requirements for a new or modified system are gathered from a Customer (user of the system), as per the Customer’s needs, and documented in the Business Requirement Specification. Once agreed upon, the Requirements are then signed off (frozen)

Q3. What is the purpose of the “Design Phase”?

Answer: 

Using the requirements from the Business Requirement Specification, high level and low level designs can be made of the required system. These designs will then be used to develop (code) from

Q4. Can you name some different SDLC models?

Answer: The 3 most common are: Waterfall Model, V Model, Agile Model (Methodology)

Q5. What model are you most familiar with?

Answer: 

Personally, I have used all the above models. To explain each:

  • Waterfall Model – the stages of that model are performed sequentially until completion, hence the term waterfall. So…Analysis (requirements gathering) is performed first, followed by the design, development, test and finally the deployment
  • V Model – this model defines the Verification stages and the Validation stages of a project. It can be used in a Waterfall Model OR in small iterations of a project using an Agile Methodology
    • It shows how development activities correlate with testing activities
  • Agile Model (Methodology) – for me, Agile is just a series of small Waterfall processes. Instead of an Agile project being a “big Requirements gathering” exercise and “one big deployment”, it is broken down into small releases, that adhere to requirements gathering, design, development etc

Q6. What is the difference between Verification and Validation in software testing?

Answer: 

  • Verification – This is a static analysis technique where testing is done without executing the code. This is where documents are reviewed and “walked through” by different members of the Project Team
  • Validation – This is a dynamic analysis technique where testing is done by actually executing the code, functionally and non-functionally

Q7. What is the difference between the SDLC (Software Development Life Cycle) and the STLC (Software Testing Life Cycle)?

Answer: 

  • The SDLC is all about capturing what is required, designing, developing and deploying it
  • The STLC is concerned with the control, execution and reporting of testing activities within a project.

Q8. What are the 5 different levels of testing?

Answer: 

  • Unit Test
  • Integration Test
  • System Test
  • UAT (User Acceptance Test)
  • OAT (operational acceptance test) – ensures performance and usability are okay

Q9. When and how is Integration Testing done?

Answer: 

This testing usually starts when there is a complete business function to test (e.g. in the case of an ecommerce website: Add To Basket Function or Checkout Function etc). It involves testing the integration (or interfaces) of multiple components that have been coded within a function. 

Q10. What is System testing? 

Answer: 

System testing of software is testing conducted on a complete integrated system to evaluate the system’s compliance with its specified requirements

Q11. What is Regression testing?

Answer: 

Retesting of a previously tested program following modification, to ensure that faults have not been introduced or uncovered as a result of the changes made

Q12. Who performs UAT?

Answer: 

This is usually done by the Business (End Users). They perform it to ensure what is required has been delivered. It is not specifically there to find defects!

Q13. Functional Testing tests to ensure the system is meeting the functional requirements. What does Non-Functional Testing do?

Answer: 

As the name suggests, this type of testing tests the non functional requirements, such as performance, scalability, security, reliability, usability etc. It looks at how the system performs under certain conditions or situations.

Q14. Why do you think we split testing activities into distinct stages?

Answer: 

  • Each stage has its own distinct purpose and each one builds on the previous one. E.g. Unit testing is done to test coded modules, Integration Testing brings many modules together as a function, System Testing tests the system as a whole etc
  • Breaking the testing down makes it more manageable
    • Improving the quality 
    • Allowing different testing to be done in different environments…then allowing different tests to be done in parallel

Q15. How do you estimate the amount of time to test something?

Answer: 

Personally, I would:

  • Understand what is required to be tested by talking to the Development Team
  • Look at how long the development has taken and use this as a gauge 
  • Look at figures from previous, similar, tests
  • Take into consideration the regression testing required i.e. the functionality that hasn’t been altered, but is affected by changes
  • Take into consideration the risks. e.g. the more serious the risk, the more time needed to test

back to table of contents

3. Static Testing (Verification Test Process) questions

Q1. What is Static Testing?

Answer: 

Whereas, Dynamic Testing tests the system while it is running (code is being executed), Static Testing involves reviewing work-products (the documents or code that have been produced in the whole of the Development Life Cycle). 

Q2. What is another term for Static Testing?

Answer: Verification

Q3. What are some advantages of Static Testing?

Answer: 

  • Gaps in all documents can be identified
  • It allows a form of early testing (of documents / code reviews)
  • Great savings can be made by identifying mistakes early in a Project 
  • New ideas to improve things can be raised
  • Improves communication with an SDLC Team

Q4. Who performs Static Testing?

Answer: 

Anybody in the SDLC Team. Usually, it would be a peer from the same Analysis, Design, Development or Test team that would review a relevant document or piece of code

Q5. Can you name 2 Static Testing processes?

Answer: 

  • Reviews
  • Walkthroughs

Q6. What is the effect of finding a defect as early as possible in a project?

Answer: 

Finding a defect at execution time (after coding has been performed) could cost as much as 10 times more than finding the problem at an early stage such as reviewing a Design document. Therefore, it is better to perform good Static Testing to save the fault being built into more documentation, code and test cases.

Q7. Have you ever been involved in a walkthrough?

Answer: 

Personally…

I have been involved in many walkthroughs either as a one-on-one (such as code reviews) or as a large meeting of people, such as when reviewing a Design document, where this would need to include the likes of Project Managers, Business Analysts, Developers, Test Analysts etc

back to table of contents

4. Dynamic Testing (Validation Test Process) questions

Q1. What is Dynamic Testing also known as?

Answer: Validation Testing.

Q2. What is Dynamic Testing?

Answer: This is where the testing is done by executing the code.

Q3. What is the difference between Static Testing and Dynamic Testing? 

Answer: 

  • Static Testing reviews the documentation or code of a Project, looking to improve them 
  • Dynamic Testing checks the results after executing the System / Code

Q4. Which of the following are Static Testing activities and which are Dynamic? 

Answer: 

  • Equivalence Partitioning
  • Document Reviewing
  • Boundary Value Analysis
  • Decision Table Testing
  • Test Activity Walkthroughs
  • Use Case Testing

Document Reviewing and Test Activity Walkthroughs are both a Static Test activity, the rest are Dynamic.

Q5. Have you come across a Requirements Traceability Matrix? If so, what does it do? 

Answer: 

It is a document that demonstrates the relationship between a Project’s Requirements and other Project Artifacts (e.g. for Testing purposes, it cross references all requirements against Test Cases, ensuring that all the requirements have been tested)

Q6. What is the difference between a Test Scenario, a Test Case and a Test Step?

Answer: 

  • Test Scenario: It is defined as any system’s functionality that can be tested. E.g. Check that login page functions correctly
  • Test Case: It is a set of specific actions that are executed so as to validate the correctness of a Test Scenario
  • Test Steps: They describe the steps that need to be taken to execute and complete a Test Case

Q7. Where would you find the Expected and Actual Results recorded?

Answer: In a Test Case.

Q8. Name some of the details you would find in a Test Case.

Answer: 

  • Test Scenario Number
  • Test Pre Conditions
  • Test Steps
  • Test Data
  • Expected Result
  • Actual Result
  • Pass / Fail

Q9. Describe a typical test execution cycle (Defect Life Cycle)

Answer: 

  • run tests
  • identify defects
  • log defects
  • have defects fixed
  • retest 

Q10. What are the 3 categories of a defect?

Answer: 

  • Wrong: when a requirement has been coded incorrectly
  • Missing: when the requirement has not been coded
  • Extra: when extra functionality has been introduced and is not in the Requirements

Q11. What steps would you perform to log a defect once you find one?

Answer: 

  • Recreate the issue
  • Attach a screenshot(s) and a description of the steps taken to recreate it
  • Log the defect

Q12. Which documents would you use to typically find the Test Scenarios that need testing?

Answer: 

  • Requirements Specification
  • Functional Design Specification

Q13. What is Black-box testing?

Answer: 

It tests that the interfaces between a system’s programs / components (the inputs and outputs) work and that they integrate as they should

Q14. What is Equivalence Partitioning?

Answer: 

Note: Sorry, this is a little long winded answer, but I always find it can only be described as…

In most cases an exhaustive test of most systems is impossible, we simply cannot test every permutation. Equivalence Partitioning allows us to efficiently test as much as we can by partitioning the data we use. 

For example, if we have an input field that must be between 1 and 100, instead of testing every number (i.e. 100 numbers), I would perhaps at a minimum test using numbers: 5, 17, and 100. This covers 3 ranges: single number, double digit number and triple number. 

Note: This isn’t including Boundary Value Analysis Testing, which would also need to test: 0, 1, 2 and 99, 100, 101!

Q15. What is Boundary Value Analysis Testing?

Answer: 

It is when a test is performed on a specified range at the extreme ends or boundaries of that range. This is done, as this is where Developers can make mistakes in their coding, around the limits of a range of values. E.g. For an input field that must be between 1 and 10, then I would test numbers 0,1,2 and 9, 10, 11. 

Q16. What is Decision Table Testing?

Answer: 

It is a testing method, which aims to ensure that each possible leg (branch from each decision point) of a piece of a System’s functionality is executed at least once. Thereby ensuring that all reachable code is executed / tested 

Q17. What is a Use Case?

Answer: 

It shows how a system interacts with its environment (how it interacts with a User or another part of the system or even another system)

Q18. Who would normally produce a “Use Case”?

Answer: A Business Analyst

Q19. How would you explain Negative Testing and Positive Testing?

Answer: 

  • Negative Testing: is when you purposely enter an invalid value into a field, expecting an error or error message to be displayed
  • Positive Testing: is when you enter a valid value, expecting a process to complete successfully

Q20. What is White-box testing?

Answer: 

It is a type of testing that normally tests the internal workings of either a program (component) or a low level design

Q21. How would you describe the difference between Retesting and Regression Testing?

Answer: 

  • Retesting: you are testing to see if a previously found error has been fixed
  • Regression Testing: you are re-running previously tested functionality that could have been affected by new development

Q22. What is Exploratory Testing?

Answer: 

Testers using this technique do not normally create previous Test Cases, but navigate through a System as if they were a User, looking for any defects / bugs

Q23. What is a Test Harness?

Answer: 

A Test Harness acts as a substitute for functionality that has yet to be coded. It is created by producing a simple integration process (a set of tools and test data). This process can then invoke subprocesses that have been coded, allowing them to be tested.

Q24. In which order do you think your tests should be run?

Answer: 

The most important tests should be done first, this would ensure that if a project was to run out of time or money, then we will have covered the main tests.

back to table of contents