1.
1.Software testing activities should start
Correct Answer
D. D. as soon as possible in the development life cycle
Explanation
The correct answer is d. as soon as possible in the development life cycle. This is because software testing is an essential part of the development process and should ideally begin as early as possible. By starting testing early, any issues or bugs can be identified and resolved sooner, reducing the risk of them causing problems later on. It also allows for better planning and allocation of resources for testing activities throughout the development life cycle. Starting testing early helps ensure that the software meets the required quality standards and is ready for deployment.
2.
2.Faults found by users are due to:
Correct Answer
B. B. Poor software and poor testing
Explanation
The correct answer is b. Poor software and poor testing. This means that the faults found by users are a result of both the software being of low quality and the testing process being inadequate. It suggests that the software itself is not up to standard and that the testing conducted on it is not thorough enough to identify and fix all the issues. This combination of poor software and poor testing leads to the faults being discovered by users.
3.
3.What is the main reason for testing software before releasing it?
Correct Answer
D. 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. This means that through testing, the software is evaluated for any potential risks or issues that could arise after release. Testing helps identify any bugs or issues in the software, allowing the development team to make informed decisions about whether the software is ready for release or if further improvements are needed to mitigate risks. By conducting thorough testing, the team can gather valuable information that helps determine the level of risk associated with releasing the software.
4.
4. which of the following statements is not true
Correct Answer
C. 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. Verification activities, such as reviews and inspections, involve testers to ensure that the software meets the specified requirements and standards. Testers play a crucial role in identifying defects and recommending improvements during the verification process. Therefore, this statement is incorrect.
5.
5. When reporting faults found to developers, testers should be:
Correct Answer
D. D. All of the above
Explanation
Testers should be as polite, constructive, and helpful as possible when reporting faults to developers to maintain a positive and collaborative working relationship. They should also be firm about insisting that a bug is not a "feature" if it should be fixed, to ensure that the necessary improvements are made. Additionally, testers should be diplomatic and sensitive to the way developers may react to criticism, as this can help foster a respectful and productive environment for resolving issues. Therefore, all of the options mentioned (a, b, and c) are important qualities for testers when reporting faults to developers.
6.
6.In which order should tests be run?
Correct Answer
A. A. the most important tests first
Explanation
Tests should be run in the order of importance to ensure that critical functionalities are tested first. Running the most important tests first helps identify high-priority issues early in the testing process, allowing them to be addressed promptly. This approach ensures that any critical bugs or flaws are caught early on, reducing the risk of major issues in the final product. By prioritizing important tests, the testing team can focus on critical functionalities and ensure that they are working correctly before moving on to less crucial tests.
7.
7. The later in the development life cycle a fault is discovered, the more expensive it is to fix. why?
Correct Answer
C. C. the fault has been built into more documentation,code,tests, etc
Explanation
The later a fault is discovered in the development life cycle, 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 propagated and affected various aspects of the software, making it more complex and time-consuming to identify and rectify. Additionally, fixing the fault at a later stage may require reworking or redesigning multiple components, leading to increased costs and efforts.
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 should be able to understand a functional specification or requirements document because it helps them to understand the expected behavior of the system. They should also be highly motivated to find faults in the system as their main goal is to identify any defects or issues. Additionally, they should be creative in finding the system's weaknesses by thinking outside the box and trying different scenarios. However, it is not necessary for a black box tester to understand the source code as their focus is on the system's functionality from an end-user perspective.
9.
9. A test design technique is
Correct Answer
A. A. a process for selecting test cases
Explanation
A test design technique refers to a systematic approach or method used to select test cases. It helps in deciding which test cases should be executed to ensure maximum coverage and effectiveness in testing the software. This technique considers various factors such as requirements, risks, and test objectives to identify the most suitable test cases. By using a test design technique, testers can ensure that they have a well-defined and comprehensive set of test cases that can effectively validate the functionality and quality of the software being tested.
10.
10. Testware(test cases, test dataset)
Correct Answer
A. 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. Configuration management helps in managing and controlling changes to the testware throughout the software development lifecycle. It ensures that the testware is version controlled, documented, and easily accessible. This is important because testware can evolve and change as the software is developed and modified. By applying configuration management to testware, it becomes easier to track changes, maintain traceability, and ensure the integrity and consistency of the testing process.
11.
11. An incident logging system
Correct Answer
C. 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 the system should record not only defects but also any other incidents that occur during testing. By logging all incidents, the system can provide valuable insights and data that can be used to analyze and improve the testing process. It helps in identifying patterns, trends, and common issues that may arise during testing, allowing the team to take appropriate actions to address them. Therefore, a comprehensive incident logging system is essential for effective testing and project management.
12.
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. A. reducing test time
Explanation
Improving the quality of the software through better development methods will reduce the time needed for testing. This is because when the software is of higher quality, there will be fewer defects and issues to identify and fix during the testing phase. As a result, the testing process can be completed more efficiently and in less time.
13.
13. Coverage measurement
Correct Answer
B. B. is a partial measure of test thoroughness
Explanation
Coverage measurement is a technique used in testing to determine the extent to which the code has been exercised by the test cases. It helps in assessing the thoroughness of the testing process by measuring the percentage of code or specific aspects of the code that have been executed. Option b. states that coverage measurement is a partial measure of test thoroughness, which means that it provides an indication of how much of the code has been tested, but it does not guarantee complete coverage. This explanation aligns with the concept of coverage measurement in testing.
14.
14. When should you stop testing?
Correct Answer
C. C. when the test completion criteria have been met
Explanation
The correct answer is c. when the test completion criteria have been met. This means that testing should continue until the predetermined criteria for completion have been achieved. These criteria could include factors such as a certain level of test coverage, a specific number of test cases executed, or a certain percentage of defects found and resolved. It is important to have clear completion criteria in order to determine when testing can be stopped and the product can be considered ready for release.
15.
15. Which of the following is true?
Correct Answer
B. B. if u 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 very high, as there are likely to be more issues present. Therefore, finding a large number of bugs during testing should make one less confident about the quality of the software.
16.
16. What is the important criterion in deciding what testing technique to use?
Correct Answer
B. 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 reason for conducting the test and what needs to be achieved through the testing process will determine the most suitable technique to be used.
17.
17. If the pseudo code below were a programming language ,how many tests are required to achieve 100% statement coverage?
1.If x=3 then
2. Display_messageX;
3. If y=2 then
4. Display_messageY;
5.Else
6.Display_messageZ;
7.Else
8.Display_messageZ;
Correct Answer
C. C. 3
Explanation
The pseudo code consists of two if-else statements. To achieve 100% statement coverage, we would need to execute each statement at least once. In this case, we would need to test the following scenarios:
1. x = 3, y = 2
2. x = 3, y ≠ 2
3. x ≠ 3
By testing these three scenarios, we would cover all the statements in the pseudo code. Therefore, the correct answer is 3.
18.
18. Regression testing should be performed: v) every week w) after the software has changed x) as often as possible y) when the environment has changed z) when the project manager says
Correct Answer
C. C) w & y are true, v, x & z are false
Explanation
Regression testing should be performed when the software has changed (option w) and when the environment has changed (option y). This is because regression testing is done to ensure that the previously working functionalities of the software still work correctly after any changes have been made. It is important to test the software after changes to identify and fix any potential issues or bugs that may have been introduced. Performing regression testing regularly helps to maintain the stability and reliability of the software. The other options (v, x, and z) are false because they do not accurately describe when regression testing should be performed.
19.
19 Which of the following is NOT a type of non-functional test?
Correct Answer
A. A. State-Transition
Explanation
State-Transition testing is a type of functional testing that focuses on testing the behavior of a system as it transitions between different states. It involves testing the system's response to various inputs and events. On the other hand, non-functional testing focuses on testing the quality attributes of the system, such as performance, usability, and security. Therefore, State-Transition testing does not fall under the category of non-functional testing.
20.
20. Which of the following tools would you use to detect a memory leak?
Correct Answer
C. C. Dynamic analysis
Explanation
Dynamic analysis is the most suitable tool for detecting a memory leak. This technique involves analyzing the program while it is running to identify any memory allocation and deallocation issues. By monitoring the program's memory usage during runtime, dynamic analysis can detect memory leaks by identifying memory blocks that are not properly released. This tool allows developers to track down and fix memory leaks, ensuring that resources are efficiently managed and preventing potential crashes or performance issues caused by excessive memory usage.
21.
21. What is the purpose of a test completion criterion?
Correct Answer
D. D) to determine when to stop testing
Explanation
The purpose of a test completion criterion is to determine when to stop testing. This criterion helps in setting a specific condition or criteria that, when met, indicates that testing can be considered complete. It helps in ensuring that sufficient testing has been done and that the desired level of quality has been achieved. This criterion is important as it helps in optimizing the testing process and prevents unnecessary testing beyond a certain point.
22.
22. Given the following code, which statement is true about the minimum number of test cases required for full statement and branch coverage?
Read p
Read q
IF p+q > 100
THEN
Print “Large”
ENDIF
IF p > 50
THEN Print “p Large”
ENDIF
Correct Answer
B. B) 1 test for statement coverage, 2 for branch coverage
Explanation
The code has two IF statements, so at least two test cases are required for branch coverage. However, the second IF statement is nested inside the first one, so it will only be executed if the condition of the first IF statement is true. Therefore, only one test case is needed to cover both statements. This is why the minimum number of test cases required for full statement and branch coverage is 1 for statement coverage and 2 for branch coverage.
23.
23. Functional system testing is:
Correct Answer
C. C) testing the end to end functionality of the system as a whole
Explanation
Functional system testing refers to the testing of the end-to-end functionality of the system as a whole. This means that the entire system is tested to ensure that it performs all the required functions and meets the specified requirements. It involves testing the system's functionality from the user's perspective, ensuring that it behaves as expected and delivers the desired outcomes. This type of testing focuses on verifying that the system is working correctly and can handle real-world scenarios, rather than testing individual components or integration with other systems.
24.
24. What can static analysis NOT find?
Correct Answer
C. C) memory leaks
Explanation
Static analysis is a method used to analyze code without actually executing it. It can detect issues such as the use of a variable before it has been defined, unreachable code, and array bound violations. However, it is unable to find memory leaks. Memory leaks occur when a program does not release memory that it no longer needs, leading to inefficient memory usage. Static analysis cannot detect this issue because it requires runtime information to determine if memory is being properly managed.
25.
25. A typical commercial test execution tool would be able to perform all of the following, EXCEPT:
Correct Answer
A. A) calculating expected outputs
Explanation
A typical commercial test execution tool is designed to automate the execution of test cases and assist in the verification of software functionality. It is capable of recording test inputs, reading test values from a data file, and comparing expected outcomes with actual outcomes. However, calculating expected outputs is typically the responsibility of the tester or test designer, as it requires a deep understanding of the software being tested and the expected behavior. Therefore, a typical commercial test execution tool would not be able to perform this task automatically.
26.
26. Expected results are:
Correct Answer
C. C) most useful when specified in advance
Explanation
Expected results are most useful when specified in advance because they serve as a benchmark to compare the actual results of a test with the expected outcome. By defining the expected results beforehand, testers can determine whether the system or component being tested is functioning correctly or not. This allows for better tracking of defects and helps in identifying areas where the system or component may not be meeting the desired requirements.
27.
27. Which of the following uses Impact Analysis most?
Correct Answer
D. D) maintenance testing
Explanation
Maintenance testing is the process of testing changes or modifications made to an existing system or software. Impact analysis is a technique used to assess the potential effects or consequences of these changes on the system. It helps in identifying the areas of the system that may be affected by the changes and allows for targeted testing to ensure that the modifications do not introduce any new issues or problems. Therefore, maintenance testing utilizes impact analysis more than other types of testing mentioned in the options.
28.
28. We split testing into distinct stages primarily because:
Correct Answer
A. A) Each test stage has a different purpose.
Explanation
We split testing into distinct stages primarily because each test stage has a different purpose. This allows us to focus on specific objectives and goals at each stage, ensuring that all aspects of the system or software are thoroughly tested. By dividing testing into stages, we can also allocate resources and manage the testing process more effectively. Additionally, it allows for better traceability and documentation of test results, making it easier to identify and address any issues or defects that may arise during testing.
29.
29. Which of the following would NOT normally form part of a test plan?
Correct Answer
B. B) Incident reports
Explanation
Incident reports would not normally form part of a test plan because incident reports are typically generated after the testing phase, when issues or defects are identified and reported. A test plan, on the other hand, is a document that outlines the approach, objectives, resources, and schedule for testing a particular system or software. It includes details such as the features to be tested, risks associated with the testing, and the schedule for executing the tests. Incident reports are important for tracking and resolving issues, but they are separate from the test plan itself.
30.
30. Which of the following statements about reviews is true?
Correct Answer
D. D) Reviews should be performed on specifications, code, and test plans.
Explanation
Reviews should be performed on specifications, code, and test plans. This means that it is important to conduct reviews on all three aspects - specifications, code, and test plans - in order to identify any potential faults or issues. Reviews help in identifying errors, improving quality, and ensuring that the requirements are met.