1.
Software testing activities should start
Correct Answer
D. As soon as possible in the development life cycle
Explanation
Software testing activities should start as soon as possible in the development life cycle to ensure that any defects or issues in the code are identified and addressed early on. By starting testing early, potential problems can be identified and fixed before they have a chance to impact the overall quality of the software. This approach allows for more efficient and effective testing, as it allows for iterative testing and feedback throughout the development process. Additionally, starting testing early helps to minimize the cost and effort required to fix defects, as they are identified and addressed earlier in the development life cycle.
2.
Faults found by users are due to:
Correct Answer
B. Poor software and poor testing
Explanation
The correct answer is "Poor software and poor testing." This suggests that the faults found by users are a result of both the software being of low quality and the testing process being inadequate. It implies that the software itself is flawed and the testing conducted on it is not thorough enough to identify and rectify these flaws.
3.
What is the main reason for testing software before releasing it?
Correct Answer
D. To give information for a risk based decision about release
Explanation
The main reason for testing software before releasing it is to give information for a risk-based decision about release. Testing helps identify any potential issues or bugs in the software, allowing the development team to assess the level of risk associated with releasing it. This information helps them make an informed decision on whether the software is ready for release or if further improvements are needed to ensure its quality and functionality.
4.
Which of the following statements is not true?
Correct Answer
C. Verification activities should not involve testers (reviews, inspections etc)
Explanation
The statement "Verification activities should not involve testers (reviews, inspections etc)" is not true because verification activities, such as reviews and inspections, are often conducted by testers to ensure that the software meets the specified requirements and standards. Testers play a crucial role in identifying defects and ensuring the quality of the software through verification activities. Therefore, it is incorrect to say that verification activities should not involve testers.
5.
When reporting faults found to developers, testers should be:
Correct Answer
D. All of the answers are correct
Explanation
Testers should be polite, constructive, and helpful when reporting faults to developers in order to maintain a positive and collaborative working relationship. They should also be firm in insisting that a bug is not a "feature" if it should be fixed, to ensure that the product meets the required standards. Additionally, testers should be diplomatic and sensitive to the way developers may react to criticism, as this can help foster a productive and respectful environment. Therefore, all of the given answers are correct as they highlight different aspects of effective communication and collaboration between testers and developers.
6.
In which order should tests be run?
Correct Answer
A. The most important tests first
Explanation
Running the most important tests first is the suggested order because it prioritizes the critical functionalities and ensures that they are thoroughly tested. By focusing on the most important tests, any major issues or bugs can be identified and addressed early in the testing process, reducing the risk of critical failures in the final product. This approach allows for efficient use of time and resources, ensuring that the essential features are validated before moving on to less critical tests.
7.
The later in the development life cycle a fault is discovered, the more expensive it is to fix. why?
Correct Answer
C. The fault has been built into more documentation,code,tests, etc
Explanation
The later in the development life cycle a fault is discovered, the more expensive it is to fix because the fault has been built into more documentation, code, tests, etc. This means that the fault has had more time to propagate and affect various aspects of the software system. As a result, fixing the fault requires not only identifying and correcting the error itself but also addressing any ripple effects it may have caused. This can involve making changes to multiple components, retesting and revalidating the system, and potentially disrupting other functionality that relies on the faulty code. All of these factors contribute to the increased cost of fixing the fault.
8.
Which is not true-The black box tester?
Correct Answer
B. Should be able to understand the source code.
Explanation
The black box tester is not required to understand the source code. Their role is to test the system's functionality without any knowledge of its internal workings. They focus on testing the system based on the functional specification or requirements document provided to them. They are highly motivated to find faults and are creative in identifying the system's weaknesses. However, understanding the source code is not a requirement for black box testing.
9.
A test design technique is
Correct Answer
A. A process for selecting test cases
Explanation
A test design technique refers to a systematic process that is used to select test cases. This technique helps in identifying the most appropriate test cases that need to be executed in order to effectively test the software. It involves various methods and strategies to ensure that the selected test cases cover all the relevant scenarios and functionalities of the software. By using a test design technique, testers can ensure that the testing process is efficient and thorough, leading to improved software quality.
10.
Testware (test cases, test dataset)
Correct Answer
A. Needs configuration management just like requirements, design and code
Explanation
Testware, which includes test cases and test datasets, needs configuration management just like requirements, design, and code. This is because testware is an essential component of the software development process and undergoes changes and updates throughout the software lifecycle. Configuration management ensures that the testware is properly versioned, controlled, and documented, allowing for traceability and reproducibility of tests. By managing the configuration of testware, organizations can effectively track changes, maintain consistency, and ensure the reliability and quality of the testing process.
11.
An incident logging system
Correct Answer
C. Is a valuable source of project information during testing if it contains all incidents
Explanation
An incident logging system is a valuable source of project information during testing if it contains all incidents. This means that if the system accurately records all defects and incidents that occur during testing, it can provide valuable insights and data for the project. This information can be used to analyze trends, identify common issues, and make informed decisions to improve the overall quality of the project. However, if the system only records defects or is used exclusively by the test team, its value may be limited as it may not capture a comprehensive view of the project's performance and issues.
12.
Increasing the quality of the software, by better development methods, will affect the time needed for testing (the test phases) by:
Correct Answer
A. Reducing test time
Explanation
Improving the quality of the software through better development methods can lead to a decrease in the time required for testing. When the software is of higher quality, there are likely to be fewer defects and issues to address during the testing phase. This means that the testing team will spend less time identifying and fixing problems, resulting in a reduction in overall test time.
13.
Coverage measurement
Correct Answer
B. Is a partial measure of test thoroughness
Explanation
The statement "Coverage measurement is a partial measure of test thoroughness" means that coverage measurement is a way to assess how much of the code or functionality has been tested. It indicates the extent to which the tests have covered the different parts or aspects of the software. However, it does not imply that coverage measurement is the only measure of test thoroughness or that it should be mandatory for all software. Additionally, coverage measurement can be applied at different levels of testing, including unit, module, and system testing.
14.
When should you stop testing?
Correct Answer
C. When the test completion criteria have been met
Explanation
The correct answer is when the test completion criteria have been met. This means that testing should stop when the predetermined goals and objectives of the testing process have been achieved. The test completion criteria define the conditions that must be fulfilled for testing to be considered complete. It ensures that all necessary tests have been executed and the desired level of quality has been achieved. This approach allows for a systematic and controlled testing process, ensuring that all requirements and specifications have been adequately validated.
15.
Which of the following is true?
Correct Answer
B. If you find a lot of bugs in testing, you should not be very confident about the quality of software
Explanation
If a lot of bugs are found during testing, it indicates that there may be more undiscovered bugs in the software. This suggests that the quality of the software may not be as high as expected. Therefore, finding a lot of bugs during testing should make one less confident about the overall quality of the software.
16.
What is the important criterion in deciding what testing technique to use?
Correct Answer
B. The objective of the test
Explanation
The important criterion in deciding what testing technique to use is the objective of the test. This means that the purpose or goal of the test should be considered when selecting a testing technique. The objective of the test will determine what needs to be tested and what aspects of the application need to be focused on. Therefore, the testing technique should align with the test objective in order to effectively and efficiently achieve the desired results.
17.
If the pseudocode below were a programming language ,how many tests are required to achieve 100% statement coverage? If x=3 thenDisplay_messageX;If y=2 thenDisplay_messageY;ElseDisplay_messageZ;ElseDisplay_messageZ;
Correct Answer
C. 3
Explanation
There is a nested IF ELSE statement in this example
18.
If the pseudocode below were a programming language, how many tests are required to achieve 100% branch/decision coverage? If x=3 thenDisplay_messageX;If y=2 thenDisplay_messageY;ElseDisplay_messageZ;ElseDisplay_messageZ;
Correct Answer
C. 3
Explanation
There is a nested IF ELSE statement in this example
19.
Which of the following is NOT a type of non-functional test?
Correct Answer
A. State-Transition
Explanation
See here for examples for examples of Functional and Non-Functional tests:
http://reqtest.com/testing-blog/functional-vs-non-functional-testing/
20.
Which of the following tools would you use to detect a memory leak?
Correct Answer
C. Dynamic analysis
Explanation
Dynamic analysis is the correct answer because it involves analyzing the program's behavior during runtime. It helps in detecting memory leaks by monitoring the allocation and deallocation of memory, tracking memory usage, and identifying any memory blocks that are not properly released. This analysis technique allows developers to identify and fix memory leaks by providing real-time information about memory allocation and deallocation patterns, helping to optimize memory usage and improve overall program performance.
21.
Which of the following is NOT a standard related to testing?
Correct Answer
B. IEEE610
Explanation
IEEE610 is not a standard related to testing. The other options, IEEE829, BS7925-1, and BS7925-2, are all standards that pertain to testing.
22.
Which of the following is the component test standard?
Correct Answer
D. BS7925-2
Explanation
BS7925-2 is the correct answer because it is a recognized component test standard. IEEE 829 is a standard for software test documentation, IEEE 610 is a standard for software engineering, and BS7925-1 is a standard for software testing vocabulary. Therefore, BS7925-2 is the only option that specifically relates to component testing.
23.
Which of the following statements are true?
Correct Answer
C. Faults in requirements are the most expensive to fix.
Explanation
Faults in requirements are the most expensive to fix because they occur at the early stages of the software development process. When requirements are not properly defined or understood, it can lead to significant rework and changes in later stages of development. Fixing faults in requirements often involves revisiting the entire design and code, resulting in higher costs and time-consuming efforts. On the other hand, faults in code or designs can be relatively easier and less expensive to fix as they are identified and addressed during the implementation and testing phases.
24.
Which of the following is not the integration strategy?
Correct Answer
A. Design based
Explanation
The integration strategy refers to the approach used to combine different components or subsystems of a system. Design based integration is not a commonly recognized integration strategy. The other options, such as big-bang, bottom-up, and top-down, are well-known integration strategies used in software development and system integration processes.
25.
Which of the following is a black box design technique?
Correct Answer
B. Equivalence partitioning
Explanation
Equivalence partitioning is a black box design technique where test cases are designed based on dividing the input domain into a set of equivalent classes. Each class represents a range of valid or invalid inputs that are expected to produce the same output. This technique helps in reducing the number of test cases while still ensuring adequate coverage of the input space. It focuses on testing representative values from each class rather than testing every possible input value.
26.
A program with high cyclometic complexity is almost likely to be:
Correct Answer
D. Difficult to test
Explanation
A program with high cyclomatic complexity is difficult to test because it has a large number of possible paths and decision points. This complexity makes it challenging to create test cases that cover all possible scenarios and ensure adequate test coverage. The higher the cyclomatic complexity, the more complex the program becomes, leading to increased difficulty in identifying and fixing bugs or errors during testing.
27.
Which of the following is a static test?
Correct Answer
A. Code inspection
Explanation
A code inspection is a static test because it involves reviewing the code without executing it. It is a manual process where developers or testers examine the code to identify defects, violations of coding standards, and potential issues. This type of test does not involve running the code or executing any functionality. Instead, it focuses on analyzing the code structure, logic, and quality to ensure that it meets the required standards and guidelines. Code inspections are typically conducted during the development phase to catch errors early and improve the overall code quality.
28.
Which of the following is the odd one out?
Correct Answer
B. Glass box
Explanation
The odd one out is "glass box" because it is the only term that refers to a physical object, while the other options ("white box", "structural", "functional") are more abstract concepts or descriptions.
29.
A program validates a numeric field as follows:
values less than 10 are rejected
values between 10 and 21 are accepted
values greater than or equal to 22 are rejected
Which of the following input values cover all of the equivalence partitions?
Correct Answer
C. 3,10,22
Explanation
The input values 3, 10, and 22 cover all of the equivalence partitions because they represent values that are rejected, accepted, and rejected respectively according to the given validation rules. A value less than 10 (3) is rejected, a value between 10 and 21 (10) is accepted, and a value greater than or equal to 22 (22) is rejected. Therefore, these input values cover all the possible scenarios based on the given validation rules.
30.
A program validates a numeric field as follows:
values less than 10 are rejected
values between 10 and 21 are accepted
values greater than or equal to 22 are rejected
Which of the following covers the MOST boundary values?
Correct Answer
B. 9,10,21,22
Explanation
The correct answer is 9,10,21,22. This answer covers the most boundary values because it includes the lowest value that is rejected (9), the lowest value that is accepted (10), the highest value that is accepted (21), and the lowest value that is rejected (22). This set of values covers all three ranges specified in the validation criteria.
31.
An input field takes the year of birth between 1900 and 2004.
The boundary values for testing this field are:
Correct Answer
C. 1899,1900,2004,2005
Explanation
The given answer suggests that the boundary values for testing the input field are 1899, 1900, 2004, and 2005. These values are chosen because they represent the minimum and maximum valid years of birth (1900 and 2004), as well as values outside of this range (1899 and 2005) to test the field's boundary conditions. By testing these values, we can ensure that the input field correctly accepts valid years within the specified range and rejects invalid years outside of it.
32.
Which one of the following are non-functional testing methods?
Correct Answer
D. Performance testing & Usability testing
Explanation
Performance testing and usability testing are both non-functional testing methods. Non-functional testing focuses on the performance, usability, reliability, and other non-functional aspects of a system, rather than its specific functionality. Performance testing is used to evaluate how well a system performs under different conditions, such as high user loads or stress. Usability testing, on the other hand, assesses how user-friendly and intuitive a system is, by observing users' interactions with it. Both of these methods are used to ensure that the system meets the non-functional requirements and provides a satisfactory user experience.
33.
Which of the following tools would be involved in the automation of regression test?
Correct Answer
C. Capture/Playback
Explanation
Capture/Playback is a tool that would be involved in the automation of regression testing. Regression testing involves retesting the previously tested functionalities to ensure that the changes or fixes made in the software have not introduced any new defects. Capture/Playback tools allow testers to record their actions while testing and then replay them later, automating the repetitive tasks. This helps in saving time and effort during regression testing, as the recorded actions can be replayed multiple times to ensure the stability of the software.
34.
Incorrect form of Logic coverage is:
Correct Answer
B. Pole Coverage
35.
Which of the following is not a quality characteristic listed in ISO 9126 Standard?
Correct Answer
C. Supportability
Explanation
Supportability is not listed as a quality characteristic in the ISO 9126 Standard. ISO 9126 defines a set of quality characteristics for software products, including functionality, usability, and maintainability. Supportability refers to the ability of a software product to be supported, such as through helpdesk services or technical support, but it is not specifically listed as a quality characteristic in the ISO 9126 Standard.
36.
To test a function, the programmer has to write a _________, which calls the function to be tested and passes it test data.
Correct Answer
B. Driver
Explanation
In order to test a function, the programmer needs to write a driver. A driver is a piece of code that calls the function to be tested and passes it test data. This allows the programmer to simulate the behavior of the function and verify its correctness. A driver is essential in the testing process as it helps ensure that the function performs as expected and produces the desired results.
37.
How many test cases are necessary to cover all the possible sequences of paths for the following program fragment?
if (Condition 1)
then statement 1
else statement 2
endif
if (Condition 2)
then statement 3
endif
Correct Answer
D. 4
Explanation
The program fragment has two conditional statements. The first conditional statement has two possible outcomes, either statement 1 or statement 2. The second conditional statement also has two possible outcomes, either statement 3 or no statement. To cover all possible sequences of paths, we need to consider all combinations of outcomes from both conditional statements. Therefore, we would need 2 x 2 = 4 test cases.
38.
Acceptance test cases are based on what?
Correct Answer
A. Requirements
Explanation
Acceptance test cases are based on requirements. Acceptance testing is performed to ensure that the system meets the specified requirements and is acceptable for delivery to the end-users. Therefore, the acceptance test cases are designed based on the requirements to verify that all the required functionalities and features are working as expected. By testing against the requirements, it helps to validate the system's compliance with the desired outcomes and ensures that it meets the stakeholders' expectations.
39.
A common test technique during component test is
Correct Answer
A. Statement and branch testing
Explanation
Statement and branch testing is a common test technique during component testing. This technique involves testing all possible statements and branches within the component's code to ensure that they are functioning correctly. By testing each statement and branch, developers can identify any errors or flaws in the code and make necessary adjustments to improve the component's reliability and performance. This technique helps ensure that the component meets the desired functionality and behaves as expected in different scenarios.
40.
Statement Coverage will not check for which of the following:
Correct Answer
A. Missing Statements
Explanation
Statement coverage is a testing technique that ensures that each statement in the code has been executed at least once. It helps in identifying missing statements, unused branches, and dead code. However, it does not specifically check for missing statements, as it focuses on the execution of existing statements. Therefore, the correct answer is "Missing Statements".