โ† All Software Testing Flashcard Decks

Software Testing Flashcards

25 cards from real Software Testing practice questions. Tap to flip, then mark Knew It or Still Learning โ€” missed cards come back until you master them.

Read the first 20 Software Testing flashcards as text
  1. Software testing should begin

    Answer: as soon as possible in the development life cycle

    Modern software development emphasizes 'shift-left' testing, meaning testing activities should commence as early as possible in the development life cycle. This includes reviewing requirements, designing test cases during the design phase, and performing static analysis on code. Early testing helps identify defects when they are cheaper and easier to fix, reducing overall project costs and improving software quality.

  2. Which of the following is not a component of the Test Execution and Implementation Phase?

    Answer: Designing the Tests

    The Test Execution and Implementation Phase focuses on running the tests and managing the results. This includes creating test suites, executing test cases, and comparing actual results to expected outcomes. 'Designing the Tests' is a distinct activity that occurs earlier, typically in the Test Analysis and Design phase, where test conditions and test cases are conceptualized and specified.

  3. Which of the following is NOT typically included in a test plan?

    Answer: Incident reports

    A test plan outlines the scope, objectives, resources, and schedule of testing activities. It typically includes features to be tested, risks, and the testing schedule. Incident reports, which document defects found during testing, are outputs of the test execution phase and are usually managed separately, though their reporting process might be defined within the test plan.

  4. All of the following can be found during inspections, with the exception of

    Answer: How much of the code has been covered

    Inspections are a static testing technique where code or documents are manually reviewed to find defects, such as undefined variables, missing requirements, or grammatical errors. However, 'how much of the code has been covered' (code coverage) is a dynamic testing metric, measured by executing the code with test cases, not by static inspection.

  5. Equivalence partitioning is defined as

    Answer: black box testing technique appropriate to all levels of testing

    Equivalence partitioning is a black-box testing technique where input data is divided into partitions (or classes) of equivalent data. The assumption is that if one condition in a partition works, all will work, and if one fails, all will fail. This technique is highly effective for reducing the number of test cases while maintaining test coverage and can be applied at all levels of testing.

  6. Which phase includes the reporting of discrepancies as incidents

    Answer: Test Analysis and Design

    During the Test Analysis and Design phase, discrepancies such as unclear, incomplete, or conflicting requirements can be identified. These issues, though not found by executing code, are critical defects that need to be formally reported as incidents to ensure the quality of the test basis and prevent costly errors later. This early reporting helps refine the requirements and design before test execution begins.

  7. Which areas are covered by CMMI-SVC?

    Answer: Service establishment, management, and delivery

    CMMI-SVC (Capability Maturity Model Integration for Services) is a process improvement framework specifically designed for organizations that provide services. It focuses on establishing, managing, and delivering services effectively and efficiently. This model helps service providers improve their processes to meet customer needs, manage service agreements, and ensure high-quality service delivery.

  8. Which type of integration testing entails coupling all or most of the created modules to form a complete software system or main element of the system, which is then utilized for integration testing?

    Answer: big bang

    Big Bang integration testing involves combining all or most of the developed modules at once and then testing them as a complete system. This approach is often chosen for smaller projects or when time is limited, as it avoids the overhead of incremental integration. However, it can make defect localization more challenging since many interfaces are tested simultaneously.

  9. Which form of automation testing creates a model of the application under test before allowing the tester to create test cases by simply changing test parameters and conditions?

    Answer: scriptless

    Scriptless automation testing, often based on model-based testing or keyword-driven frameworks, allows testers to create automated test cases without writing traditional programming scripts. It achieves this by building a model of the application's UI or business processes, then enabling testers to define test steps using keywords, actions, or by simply modifying parameters and conditions within the model. This approach makes test automation more accessible to non-programmers.

  10. Prioritizing tests ensures that

    Answer: You do the best testing in the time available

    Prioritizing tests is crucial for optimizing testing efforts, especially under time constraints. It ensures that the most critical functionalities, highest-risk areas, or most frequently used features are tested first and most thoroughly. By focusing on high-priority tests, teams maximize the likelihood of finding significant defects and delivering the most valuable testing within the given schedule and resources.

  11. The term "alpha testing" refers to

    Answer: pre-release testing by end user representatives at the developer's site.

    Alpha testing is a type of acceptance testing conducted internally by the development team or by a dedicated testing team, often with simulated or actual end-user representatives, at the developer's site. Its purpose is to identify as many defects as possible before releasing the software to external users for beta testing. It typically focuses on catching bugs and usability issues in a controlled environment.

  12. The oracle's concept:

    Answer: is that the tester can routinely identify the correct outcome of a test.

    A test oracle is a mechanism or principle that determines whether a test has passed or failed by providing the expected outcome for a given input. Therefore, the concept of an oracle implies that the tester must be able to routinely identify what the correct behavior or output should be for the software under test. This allows for objective comparison against actual results.

  13. All of the following can be done with a commercial test execution tool with the exeption of:

    Answer: calculating expected outputs

    Commercial test execution tools are designed to automate the process of running tests, recording inputs, and comparing actual outcomes against *pre-defined* expected outcomes. They do not possess the intelligence to calculate what the correct output *should be* for a given input. This calculation is part of the test design phase, where the test oracle is established by human testers or other means.

  14. A system for logging incidents

    Answer: is a valuable source of project information during testing if it contains all incidents

    A comprehensive incident logging system is invaluable because it tracks all deviations from expected behavior, not just defects. By capturing every incident, including queries, suggestions, and environmental issues, it provides a holistic view of project status and potential risks. This rich data aids in decision-making, reporting, and continuous improvement of both the product and the testing process.

  15. To detect a memory leak, which of the following tools would you use?

    Answer: Dynamic analysis

    Memory leaks are runtime errors where a program fails to release memory it no longer needs, leading to gradual memory depletion. Dynamic analysis tools monitor the software's behavior *during execution*, tracking memory allocation and deallocation patterns. This real-time observation makes them effective at identifying memory leaks that manifest only when the program is running.

  16. A technique designing test is

    Answer: a process for selecting test cases

    Test design techniques are systematic approaches used to derive and select effective test cases from various sources like requirements, design, or code. These techniques guide testers in choosing specific inputs, conditions, and expected results. Their primary purpose is to ensure comprehensive test coverage and efficient use of testing resources by systematically identifying what to test.

  17. Which of the following statements is correct?

    Answer: if u find a lot of bugs in testing, you should not be very confident about the quality of software

    Finding a large number of bugs during testing indicates that the software likely has many underlying defects and is not yet of high quality. While testing aims to uncover issues, a high bug count suggests significant problems that need addressing before the software can be considered reliable. It implies deficiencies in the development process or that the software is not ready for release.

  18. What is the most significant criterion to consider while choosing a testing technique?

    Answer: the objective of the test

    The most significant criterion for choosing a testing technique is the objective of the test itself. Different techniques are designed to achieve specific goals, such as verifying functionality, assessing performance, or ensuring security. Understanding what the test aims to achieve ensures that the most appropriate and effective method is selected to meet that specific goal.

  19. Functional testing can take the form of which of the following?

    Answer: Boundary value analysis

    Functional testing verifies that the software performs its specified functions correctly. Boundary value analysis is a black-box test design technique that specifically targets the boundaries of input domains, which are common places for defects in functional requirements. Performance, security, and usability testing are types of non-functional testing, as they assess *how well* the system works, not just *what* it does.

  20. Which of the following is NOT a non-functional test type?

    Answer: State-Transition

    Non-functional testing evaluates attributes like performance, security, usability, and reliability, which describe *how well* a system works. State-Transition testing, however, is a black-box test design technique used to test the behavior of a system based on its states and transitions between them. It is primarily used to verify the *functional* correctness of state-dependent behavior, making it a functional test type.