CAST - Software Testing Fundamentals Questions and Answers 1 — Questions and Answers
Question 1: Which of the following is a primary goal of fundamental testing principles?
- To prove that the software has no errors.
- To find defects as early as possible in the development lifecycle. (Correct answer)
- To automate every possible test case.
- To exhaustively test every combination of inputs and preconditions.
Correct answer: To find defects as early as possible in the development lifecycle.
A core principle of software testing is 'Early testing'. Finding and fixing defects early in the Software Development Life Cycle (SDLC) is significantly cheaper and more efficient than finding them later during system or acceptance testing. Proving the absence of errors and exhaustive testing are impossible in practice. While automation is valuable, it's not the primary goal itself, but a means to an end.
Question 2: A tester is verifying that a new e-commerce website can handle 1,000 concurrent users without a significant decrease in performance. What type of testing is being performed?
- Functional Testing
- Usability Testing
- Performance Testing (Correct answer)
- Regression Testing
Correct answer: Performance Testing
Performance testing is a non-functional testing type that evaluates how a system performs in terms of responsiveness and stability under a particular workload. This scenario is directly concerned with the system's behavior under load, which is the focus of performance testing. Functional testing checks features, usability testing checks ease of use, and regression testing checks for new bugs in existing features.
Question 3: During which phase of the Software Testing Life Cycle (STLC) are the specific test cases and scripts developed?
- Test Planning
- Test Design (Correct answer)
- Test Execution
- Test Closure
Correct answer: Test Design
The Test Design phase is where testers create detailed test cases and test scripts based on the test objectives and requirements identified during the Test Planning phase. Test Planning involves defining the strategy, Test Execution is running the tests, and Test Closure involves summarizing and reporting on the testing effort.
Question 4: What is the 'Pesticide Paradox' in the context of software testing?
- A situation where fixing one bug introduces several new ones.
- The observation that running the same set of tests repeatedly will eventually no longer find new defects. (Correct answer)
- The principle that testing can only show the presence of defects, not their absence.
- The clustering of most defects in a small number of modules.
Correct answer: The observation that running the same set of tests repeatedly will eventually no longer find new defects.
The Pesticide Paradox principle states that if the same tests are repeated over and over again, they become less effective at detecting new defects, similar to how insects become resistant to pesticides over time. To overcome this, test cases need to be regularly reviewed and revised, and new tests need to be written to exercise different parts of the software.
Question 5: A tester is given access to the source code to review the logic and create test cases that cover specific code branches. Which testing technique is being used?
- Black-box testing
- Grey-box testing
- Experience-based testing
- White-box testing (Correct answer)
Correct answer: White-box testing
White-box testing involves examining the internal structure and workings of the software, such as the code and logic, to design test cases. Since the tester has access to the source code to design tests, this is a clear example of the white-box technique. Black-box testing focuses only on inputs and outputs without knowledge of the internal code.
Question 6: Which of the following is NOT a level of testing?
- Unit Testing
- Integration Testing
- Defect Testing (Correct answer)
- Acceptance Testing
Correct answer: Defect Testing
The recognized levels of testing are Unit, Integration, System, and Acceptance Testing. These levels represent different stages of testing, from individual components to the entire system. 'Defect Testing' is not a formal testing level; rather, it's a general activity of trying to find defects, which occurs at all levels. It can also refer to re-testing a fixed defect (confirmation testing).
Which of the following is a primary goal of fundamental testing principles?