IKM - International Knowledge Measurement Software Quality Assurance Methodologies Questions and Answers 1 — Questions and Answers
Question 1: A QA team receives a new build with a critical bug fix. Before proceeding with extensive regression testing, the team decides to run a quick set of high-level tests to ensure the fix works and that the build's core functionalities are stable. What is this type of testing called?
- Usability Testing
- Smoke Testing (Correct answer)
- Load Testing
- Sanity Testing
Correct answer: Smoke Testing
Smoke testing is a preliminary, non-exhaustive set of tests to ascertain that the most crucial functions of a program work, ensuring the build is stable enough for more rigorous testing. It covers the core functionalities end-to-end at a high level.
Question 2: Which of the following best describes the primary goal of regression testing in a software quality assurance process?
- To test the performance and response time of the application under heavy user traffic.
- To verify that newly implemented features meet the specified user requirements.
- To ensure that recent code changes or bug fixes have not adversely affected existing features. (Correct answer)
- To validate the graphical user interface and overall user experience against design specifications.
Correct answer: To ensure that recent code changes or bug fixes have not adversely affected existing features.
Regression testing is specifically designed to uncover new bugs in existing functionality after a change, such as a bug fix or feature addition. Its purpose is to ensure that the existing, previously tested software still performs correctly.
Question 3: In the V-Model of software development, which testing level is designed to directly validate the Architectural Design phase?
- Unit Testing
- Integration Testing (Correct answer)
- System Testing
- User Acceptance Testing
Correct answer: Integration Testing
The V-Model demonstrates the relationships between each development phase and its corresponding testing phase. Integration Testing, which verifies that different modules can communicate and work together, directly corresponds to the Architectural Design (or High-Level Design) phase.
Question 4: A development team follows a practice where they first write an automated test case that fails. They then write the minimum amount of application code required to make that test pass, and finally refactor the new code for quality. Which SQA methodology is being described?
- Test-Driven Development (TDD) (Correct answer)
- Behavior-Driven Development (BDD)
- Black-Box Testing
- Waterfall Model
Correct answer: Test-Driven Development (TDD)
This scenario describes the classic 'Red-Green-Refactor' cycle of Test-Driven Development (TDD). A failing test is written (Red), minimal code is written to pass the test (Green), and then the code is cleaned up (Refactor).
Question 5: A QA engineer is tasked with evaluating a system's ability to handle an increasing number of concurrent users up to and beyond its specified limits, with the specific goal of identifying the system's breaking point. What is this type of non-functional testing called?
- Load Testing
- Volume Testing
- Scalability Testing
- Stress Testing (Correct answer)
Correct answer: Stress Testing
Stress testing is designed to determine the stability of a system by testing it beyond its normal operational capacity. The goal is to observe at what point the system fails and how it recovers. In contrast, load testing measures performance under expected normal and peak loads.
Question 6: Which of the following activities is a clear example of static testing?
- Executing a suite of automated regression tests after a bug fix.
- Performing user acceptance testing with business stakeholders.
- Running performance benchmarks on a database server.
- Conducting a formal code inspection of a new module. (Correct answer)
Correct answer: Conducting a formal code inspection of a new module.
Static testing involves examining the code and associated documents without executing the application. A formal code inspection or peer review is a prime example of this, as it analyzes the source code for defects before it is run. The other options all involve dynamic testing, which requires code execution.
A QA team receives a new build with a critical bug fix.
Before proceeding with extensive regression testing, the team decides to run a quick set of high-level tests to ensure the fix works and that the build's core functionalities are stable.
What is this type of testing called?