1.
We split testing into distinct stages primarily because:
Correct Answer
A. Each test stage has a different purpose.
Explanation
Testing is split into distinct stages primarily because each stage serves a different purpose. By dividing testing into stages, it becomes easier to focus on specific objectives and ensure that each aspect of the software is thoroughly tested. This approach allows for better organization and management of the testing process, ensuring that all necessary tests are conducted and that the software meets the desired quality standards.
2.
Which of the following is likely to benefit most from the use of test tools providing test capture and replay facilities?
Correct Answer
A. Regression testing
Explanation
Regression testing is likely to benefit the most from the use of test tools providing test capture and replay facilities. Regression testing involves retesting previously tested functionalities to ensure that any changes or fixes made to the software have not introduced new defects. Test capture and replay tools allow testers to record and replay test scenarios, making it easier to repeat and automate regression tests. This helps in saving time and effort, ensuring that the software still functions correctly after changes are made.
3.
Which of the following statements is NOT correct?
Correct Answer
D. A minimal test set that achieves 100% statement coverage will generally detect more faults than one that achieves 100% branch coverage.
Explanation
A minimal test set that achieves 100% statement coverage will generally detect more faults than one that achieves 100% branch coverage because statement coverage ensures that every statement in the code has been executed at least once, whereas branch coverage only ensures that every branch in the code has been executed at least once. By achieving 100% statement coverage, we can be more confident that all possible paths and conditions within the code have been tested, increasing the likelihood of detecting faults. On the other hand, achieving 100% branch coverage may leave certain statements untested, potentially missing some faults.
4.
Which of the following requirements is testable?
Correct Answer
C. The response time shall be less than one second for the specified design load.
Explanation
The requirement that states "The response time shall be less than one second for the specified design load" is testable because it can be objectively measured and verified. It specifies a specific performance criteria (response time) and a measurable threshold (less than one second) which can be tested using appropriate tools and techniques.
5.
Analyse the following highly simplified procedure:
Ask: “What type of ticket do you require, single or return?”
IF the customer wants ‘return’
Ask: “What rate, Standard or Cheap-day?”
IF the customer replies ‘Cheap-day’
Say: “That will be £11:20”
ELSE
Say: “That will be £19:50”
ENDIF
ELSE
Say: “That will be £9:75”
ENDIF
Now decide the minimum number of tests that are needed to ensure that all the questions have been asked, all combinations have occurred and all replies given.
Correct Answer
A. 3
Explanation
The minimum number of tests needed to ensure that all the questions have been asked, all combinations have occurred, and all replies given is 3. This is because there are three decision points in the procedure: the first decision point is whether the customer wants a single or return ticket, the second decision point is the type of rate (Standard or Cheap-day) if the customer wants a return ticket, and the third decision point is the type of rate if the customer wants a single ticket. Each decision point has two possible outcomes, so the minimum number of tests needed is 2^3, which is 8. However, since one of the outcomes is already covered in the first decision point (single ticket), only 3 tests are needed to cover all possible combinations.
6.
Error guessing:
Correct Answer
A. Supplements formal test design techniques.
Explanation
Error guessing is a technique that complements formal test design techniques. It involves using the tester's experience and intuition to guess potential errors or defects in the system. This technique can be used in various testing phases, including component, integration, and system testing, to identify potential issues that may not have been covered by formal test cases. While it is not the only technique used in user acceptance testing, it can be applied in this phase as well. Error guessing is a valuable approach to uncovering hidden defects and improving the overall test coverage.
7.
Which of the following is NOT true of test coverage criteria?
Correct Answer
C. A measure of test coverage criteria is the percentage of faults found.
Explanation
Test coverage criteria are used to measure the extent to which a test suite exercises the items being tested. This can include measuring the percentage of user requirements covered, as well as using coverage criteria to determine test completion criteria. However, the statement that a measure of test coverage criteria is the percentage of faults found is not true. Test coverage criteria are not directly related to the number or percentage of faults found, but rather focus on the coverage of specific items or requirements.
8.
In prioritizing what to test, the most important objective is to:
Correct Answer
B. Test high risk areas.
Explanation
The most important objective in prioritizing what to test is to test high-risk areas. This is because high-risk areas are more likely to have critical defects that could impact the system's functionality or stability. By focusing on these areas first, the testing team can identify and resolve potential issues that could have a significant impact on the system's performance. This approach helps ensure that the most critical aspects of the system are thoroughly tested, reducing the risk of major failures in production.
9.
Given the following sets of test management terms (v-z), and activity descriptions (1-5), which one of the following best pairs the two sets?
v – test control
w – test monitoring
x - test estimation
y - incident management
z - configuration control
1 - calculation of required test resources
2 - maintenance of record of test results
3 - re-allocation of resources when tests overrun
4 - report on deviation from test plan
5 - tracking of anomalous test results
Correct Answer
C. V-3,w-4,x-1,y-5,z-2
Explanation
The correct answer pairs the test management terms with their corresponding activity descriptions. In this case, v is paired with the activity of re-allocation of resources when tests overrun, w is paired with the activity of maintenance of record of test results, x is paired with the activity of calculation of required test resources, y is paired with the activity of tracking of anomalous test results, and z is paired with the activity of report on deviation from test plan.
10.
Which one of the following statements about system testing is NOT true?
Correct Answer
D. End-users should be involved in system tests.
Explanation
End-users should not be involved in system tests. System tests are typically conducted by independent teams to ensure objectivity and impartiality in evaluating the system's functionality and performance. Involving end-users in system tests may introduce bias or subjective opinions, which can impact the validity of the test results. It is more appropriate for end-users to participate in user acceptance testing (UAT) to validate that the system meets their specific requirements and expectations.
11.
Which of the following is false?
Correct Answer
A. Incidents should always be fixed.
Explanation
The given statement "Incidents should always be fixed" is false. Incidents refer to any deviation or discrepancy between the expected and actual results during testing. While incidents should be investigated and analyzed, they may not always need to be fixed. Some incidents may be considered as expected behavior or may not be critical enough to require immediate fixing. The decision to fix an incident depends on its severity, impact, and the project's priorities.
12.
Enough testing has been performed when:
Correct Answer
B. The required level of confidence has been achieved.
Explanation
Enough testing has been performed when the required level of confidence has been achieved. This means that the testing process has been thorough enough to provide a certain level of certainty in the quality and reliability of the system or product being tested. It indicates that all necessary tests have been conducted and the results have met the predetermined criteria for confidence. This ensures that the system or product is ready for deployment or release, as it has been sufficiently tested to meet the desired level of confidence.
13.
Which of the following is NOT true of incidents?
Correct Answer
A. Incident resolution is the responsibility of the author of the software under test.
Explanation
The statement "Incident resolution is the responsibility of the author of the software under test" is not true because incident resolution is the responsibility of the development and testing team, not just the author of the software. It involves investigating and correcting the incidents raised when expected and actual results differ. Incidents may also be raised against user requirements, indicating that there is a deviation from the specified requirements. Therefore, the correct answer is that incident resolution is not the sole responsibility of the author of the software under test.
14.
Which of the following is not described in a unit test standard?
Correct Answer
C. Stress testing
Explanation
Stress testing is not described in a unit test standard. Unit test standards typically focus on verifying the correctness of individual units of code, such as functions or methods, by testing their inputs and outputs. Stress testing, on the other hand, is a type of testing that evaluates the performance and stability of a system under extreme or unfavorable conditions, such as high loads or limited resources. While stress testing is an important type of testing, it is typically not included in unit test standards, which primarily focus on functional and structural testing techniques like syntax testing, equivalence partitioning, and modified condition/decision coverage.
15.
Which of the following is false?
Correct Answer
B. A system is necessarily more reliable after debugging for the removal of a fault.
Explanation
After debugging for the removal of a fault, a system may or may not necessarily be more reliable. Debugging helps identify and fix faults, but it does not guarantee that all faults have been removed or that the system is now more reliable. Other factors such as the complexity of the system, the presence of other undiscovered faults, and the effectiveness of the debugging process can also impact the system's reliability. Therefore, the statement that a system is necessarily more reliable after debugging is false.
16.
Which one of the following statements, about capture-replay tools, is NOT correct?
Correct Answer
B. They are used to capture and animate user requirements.
Explanation
Capture-replay tools are commonly used in software testing to record user interactions and then replay them for testing purposes. These tools are primarily used to capture aspects of user behavior, such as mouse clicks and keyboard inputs. They are not specifically designed to capture and animate user requirements. Therefore, the statement "They are used to capture and animate user requirements" is not correct.
17.
How would you estimate the amount of re-testing likely to be required?
Correct Answer
D. Discussions with the development team & Metrics from previous similar projects
Explanation
To estimate the amount of re-testing likely to be required, discussions with the development team and metrics from previous similar projects are necessary. Discussions with the development team can provide insights into the changes made, the complexity of the project, and any potential risks or issues that may require additional testing. Metrics from previous similar projects can help identify patterns and trends in terms of re-testing needs, allowing for a more accurate estimation. By combining these two sources of information, a more comprehensive and reliable estimate can be obtained.
18.
Which of the following is true of the V-model?
Correct Answer
D. It includes the verification of designs.
Explanation
The V-model is a software development model that emphasizes the relationship between each phase of the development process and its corresponding testing phase. It includes the verification of designs, which means that the design artifacts are reviewed and evaluated to ensure that they meet the specified requirements and are feasible to implement. This verification process helps to identify and address any design flaws or inconsistencies before the development phase begins.
19.
The oracle assumption:
Correct Answer
B. Is that the tester can routinely identify the correct outcome of a test.
Explanation
The oracle assumption in software testing refers to the belief that the tester is able to consistently and accurately determine the expected outcome of a test. This means that the tester has the necessary knowledge and understanding of the system being tested to identify whether the actual result aligns with the expected result. The oracle assumption does not imply that the tester knows everything about the software under test or that the tests are reviewed by experienced testers. It simply emphasizes the tester's ability to correctly identify the expected outcome.
20.
Which of the following characterises the cost of faults?
Correct Answer
A. They are cheapest to find in the early development pHases and the most expensive to fix in the latest test pHases.
Explanation
The cost of faults is characterized by the fact that they are least expensive to identify in the early development phases, when they can be caught and resolved before they propagate further into the system. However, if faults are not detected and fixed during these early stages, they become more difficult to identify and fix during the later test phases, resulting in higher costs. This highlights the importance of early detection and resolution of faults to minimize the overall cost impact.
21.
Which of the following should NOT normally be an objective for a test?
Correct Answer
D. To prove that the software is correct.
Explanation
The objective of a test is to find faults in the software, assess whether the software is ready for release, and demonstrate that the software doesn't work. However, it is not possible to prove that the software is correct through testing alone. Testing can only provide evidence of the presence of defects or failures in the software, but it cannot guarantee the absence of defects. Therefore, the objective of proving that the software is correct should not normally be pursued in a test.
22.
Which of the following is a form of functional testing?
Correct Answer
A. Boundary value analysis
Explanation
Boundary value analysis is a form of functional testing that focuses on testing the boundaries or limits of input values. It involves testing the system with both minimum and maximum valid input values, as well as values just above and below these boundaries. The goal is to identify any issues or defects that may occur at the boundaries of the input range. This type of testing helps ensure that the system functions correctly and handles inputs within the specified range effectively.
23.
Which of the following would NOT normally form part of a test plan?
Correct Answer
B. Incident reports
Explanation
Incident reports would not normally form part of a test plan because incident reports are typically used to document and track issues that occur during the testing process or after the software has been released. They are not typically included in the initial test plan, which focuses on outlining the features to be tested, identifying risks, and defining the testing schedule. Incident reports are separate documents that are used for troubleshooting and resolving issues that arise during testing.
24.
Which of these activities provides the biggest potential cost saving from the use of CAST?
Correct Answer
C. Test execution
Explanation
Test execution provides the biggest potential cost saving from the use of CAST because it involves the actual running of test cases and identifying defects. By using CAST, which stands for Computer-Aided Software Testing, organizations can automate the execution of test cases, reducing the need for manual effort and saving time and resources. Automation can also help in detecting defects earlier in the development process, leading to cost savings by addressing issues before they become more expensive to fix.
25.
Which of the following is NOT a white box technique?
Correct Answer
D. State transition testing
Explanation
State transition testing is not a white box technique because it focuses on the behavior and transitions between different states of a system, rather than the internal structure or implementation details. White box techniques involve examining the internal structure and logic of the system, such as statement testing, path testing, and data flow testing. State transition testing, on the other hand, is a black box technique that aims to test the system's response to different input and state changes.
26.
Data flow analysis studies
Correct Answer
C. The use of data on paths through the code.
Explanation
Data flow analysis studies the use of data on paths through the code. This means that it examines how data is being used and manipulated as it flows through different parts of the program. By analyzing the data flow, it can identify potential issues such as unused variables, uninitialized variables, and data dependencies. This analysis is important for understanding how the program operates and for optimizing its performance.
27.
In a system designed to work out the tax to be paid:
An employee has £4000 of salary tax free.
The next £1500 is taxed at 10%
The next £28000 is taxed at 22%
Any further amount is taxed at 40%
To the nearest whole pound, which of these is a valid Boundary Value Analysis test case?
Correct Answer
C. £33501
Explanation
A valid Boundary Value Analysis test case would be £33501 because it represents the upper boundary of the third tax bracket. This test case is important because it checks if the system correctly applies the tax rate of 22% to the salary within this range.
28.
An important benefit of code inspections is that they:
Correct Answer
A. Enable the code to be tested before the execution environment is ready.
Explanation
Code inspections allow for the code to be tested before the execution environment is ready. This means that any potential issues or bugs can be identified and resolved early on in the development process, saving time and resources. Additionally, code inspections can be performed by the person who wrote the code, ensuring that they have a chance to review and improve their own work. This helps to enhance the overall quality of the code.
29.
Which of the following is the best source of Expected Outcomes for User Acceptance Test scripts?
Correct Answer
C. User requirements
Explanation
The best source of expected outcomes for User Acceptance Test scripts is the user requirements. User requirements outline the specific needs and expectations of the end users for a particular system or software. These requirements serve as a guide for developing test scripts and determining the expected outcomes. Program specification and system specification may provide technical details and guidelines, but they may not necessarily capture the specific expectations of the users. Actual results, on the other hand, are the outcomes observed during testing and are not a source for defining expected outcomes.
30.
What is the main difference between a walkthrough and an inspection?
Correct Answer
D. A walkthrough is lead by the author, whilst an inspection is lead by a trained moderator.
Explanation
A walkthrough is a type of review process where the author of the document or code leads the session and guides the participants through the material. It is more informal and collaborative, allowing for discussions and clarifications. On the other hand, an inspection is a more formal review process led by a trained moderator who follows a predefined checklist or set of guidelines. The moderator ensures that the review is conducted systematically and objectively, focusing on finding defects or issues in the material being reviewed.
31.
Which one of the following describes the major benefit of verification early in the life cycle?
Correct Answer
C. It reduces defect multiplication.
Explanation
Verification early in the life cycle helps in reducing defect multiplication. This means that by identifying and addressing defects early on, they are prevented from propagating and causing further issues throughout the development process. This can save time, effort, and resources that would otherwise be spent on fixing and retesting multiple defects that could have been avoided or caught earlier. By catching and resolving defects early, the overall quality of the product is improved, leading to a more efficient and effective development process.
32.
Integration testing in the small:
Correct Answer
B. Tests interactions between modules or subsystems.
Explanation
Integration testing in the small refers to testing the interactions between modules or subsystems. This type of testing focuses on verifying that the components that have been developed work together correctly and that there are no issues or errors in their interactions. It does not involve testing individual components or interfaces to other systems. The purpose of integration testing in the small is to ensure the smooth integration and functioning of different modules or subsystems within the system.
33.
Static analysis is best described as:
Correct Answer
C. The analysis of program code.
Explanation
Static analysis is the process of examining program code without executing it, in order to identify potential errors, security vulnerabilities, or other issues. It involves analyzing the code structure, syntax, and semantics to detect bugs and improve code quality. Static analysis is different from dynamic analysis, which involves executing the code to observe its behavior. Therefore, the correct answer for this question is "the analysis of program code."
34.
Alpha testing is:
Correct Answer
C. Pre-release testing by end user representatives at the developer’s site.
Explanation
Alpha testing is a type of pre-release testing where end user representatives test the software at the developer's site. This testing phase helps identify any issues or bugs before the software is released to the public. It allows the developers to gather feedback from the end users and make necessary improvements or modifications to the software.
35.
A failure is:
Correct Answer
B. Departure from specified behavior.
Explanation
The correct answer is "departure from specified behavior" because a failure in software refers to a situation where the software does not behave as intended or specified. It means that the software is not meeting the expected requirements or behaving in a way that deviates from its intended functionality. This can be caused by errors or incorrect steps in the programming, but ultimately it refers to a deviation from the specified behavior.
36.
In a system designed to work out the tax to be paid:
An employee has £4000 of salary tax free.
The next £1500 is taxed at 10%
The next £28000 is taxed at 22%
Any further amount is taxed at 40%
Which of these groups of numbers would fall into the same equivalence class?
Correct Answer
D. £5800; £28000; £32000
Explanation
The given groups of numbers would fall into the same equivalence class because they all have the same tax rates applied to them. The first £4000 of salary is tax-free for all groups. The next £1500 is taxed at 10% for all groups. The next £28000 is taxed at 22% for all groups. Any further amount is taxed at 40% for all groups. Therefore, these groups of numbers would have the same tax calculations and would fall into the same equivalence class.
37.
The most important thing about early test design is that it:
Correct Answer
C. Can prevent fault multiplication.
Explanation
Early test design is crucial because it can prevent fault multiplication. When defects are identified and addressed early in the testing process, they are less likely to propagate and cause additional issues in the software. By focusing on test design early on, potential faults can be caught and corrected before they have a chance to multiply and create more complex problems. This helps in improving the overall quality of the software and reduces the need for extensive rework later on.
38.
Which of the following statements about reviews is true?
Correct Answer
D. Reviews should be performed on specifications, code, and test plans.
Explanation
Reviews should be performed on specifications, code, and test plans. This statement is true because reviews are a systematic examination of a document or artifact to find defects, improve quality, and ensure that it meets the requirements. By performing reviews on specifications, code, and test plans, potential faults and errors can be identified and corrected early in the development process, leading to improved quality and reduced risks. Reviews provide an opportunity for multiple stakeholders to provide feedback and ensure that the documentation, code, and test plans are accurate, complete, and meet the intended purpose.
39.
Test cases are designed during:
Correct Answer
D. Test specification.
Explanation
Test cases are designed during the test specification phase. This phase involves defining the specific requirements and objectives of the testing process. Test cases are created based on these specifications to outline the steps, inputs, and expected outputs for each test scenario. Test planning involves determining the overall approach and resources required for testing, while test configuration focuses on setting up the necessary hardware and software environments. Test recording typically refers to capturing and documenting the actual execution of test cases. Therefore, test specification is the most appropriate phase for designing test cases.
40.
A configuration management system would NOT normally provide:
Correct Answer
B. Facilities to compare test results with expected results.
Explanation
A configuration management system is primarily used to manage and control changes in software components throughout their lifecycle. It helps in tracking different versions of source code, managing access to the source code library, and linking customer requirements to version numbers. However, comparing test results with expected results is typically not a feature provided by a configuration management system. This task is usually performed by testing tools or frameworks that are separate from the configuration management system.