Mock Exam A Flashcards
Which one of the following answers describes a test condition?
a) A distinguishing characteristic of a component or system
b) A testable aspect of a component or system identified as a basis for testing
c) The degree to which a software product provides functions which meet stated and implied needs when the software is used under specified conditions
d) Test cases designed to execute combinations of conditions and actions resulting from them
a) Is not correct. Definition of feature according to glossary
b) Is correct. From glossary
c) Is not correct. Definition of functionality suitability according to glossary
d) Is not correct. Like Definition of Decision table testing according to glossary
Which of the following statements is a valid objective for testing?
a) The test should start as late as possible so that development had enough time to create a good product
b) To validate whether the test object works as expected by the users and other stakeholders
c) To prove that all possible defects are identified
d) To prove that any remaining defects will not cause any failures
a) Is not correct. Contradiction to principle 3: “Early testing saves time and money”
b) Is correct. This is one objective of testing
c) Is not correct. Principle #2 states that exhaustive testing is impossible, so one can never prove that all defects were identified
d) Is not correct. To make an assessment whether a defect will cause a failure or not, one must detect the defect first. Saying that no remaining defect will cause a failure implicitly means that all defects were found. This again contradicts principle #2
Which of the following statements correctly describes the difference between testing and debugging?
a) Testing identifies the source of defects; debugging analyzes the defects and proposes prevention activities
b) Dynamic testing shows failures caused by defects; debugging eliminates the defects, which are the source of failures
c) Testing removes faults; but debugging removes defects that cause the faults
d) Dynamic testing prevents the causes of failures; debugging removes the failures
a) Is not correct. Testing does not identify the source of defects, debugging identifies the source of defects
b) Is correct. Dynamic testing can show failures that are caused by defects in the software. Debugging eliminates the defects, which are the source of failures
c) Is not correct. Testing does not remove faults, but debugging removesfaults, which is synonyms for defects, that may cause the failures
d) Is not correct. Dynamic testing does not directly prevent the causes of failures (defects) but detects the presence of defects
Which one of the statements below describes the most common situation for a failure discovered during testing or in production?
a) The product crashed when the user selected an option in a dialog box
b) The wrong version of a compiled source code file was included in the build
c) The computation algorithm used the wrong input variables
d) The developer misinterpreted the requirement for the algorithm
a) Is correct. A crash is clearly noticeable by the user
b) Is not correct. This is a defect, not a failure since there is something wrong in the code. It may not result in a visible or noticeable failure, for example if the changes in the source code file are only in comments
c) Is not correct. The use of wrong input variables may not result in a visible or noticeable failure, for example if nobody uses this particular algorithm; or if the wrong input variable has a similar value to the correct input variable; or if the FALSE result of the algorithm is not used
d) Is not correct. This type of fault will not necessarily lead to a failure; for example, if no one uses this special algorithm
Mr. Test has been testing software applications on mobile devices for a period of 5 years. He has a wealth of experience in testing mobile applications and achieves better results in a shorter time than others. Over several months, Mr. Test did not modify the existing automated test cases and did not create any new test cases. This leads to fewer and fewer defects being found by executing the tests. What principle of testing did Mr. Test not observe?
a) Testing depends on the environment
b) Exhaustive testing is not possible
c) Repeating of same tests will not find new defects
d) Defects cluster together
a) Is not correct. Testing is context dependent, regardless of it being manual or automated (principle #6), but does not result in detecting a decreasing number of faults as described above
b) Is not correct. Exhaustive testing is impossible, regardless of the amount of effort put into testing (principle #2)
c) Is correct. Principle #5 says “If the same tests are repeated over and over again, eventually these tests no longer find any new defects. To detect new defects, existing tests and test data may need changing, and new tests may need to be written.” Automated regression testing of the same test cases will not bring new findings
d) Is not correct. ”Defect cluster together” (principle #4). A small number of modules usually contain most of the defects, but this does not mean that fewer and fewer defects will be found
In what way can testing be part of Quality Assurance?
a) It ensures that requirements are detailed enough
b) Testing reduces the risk of poor software quality
c) It ensures that standards in the organization are followed
d) It measures the quality of software in terms of number of executed test cases
a) Is not correct. Static testing (reviews) contributes, but could not ensure, that requirements are detailed enough
b) Is correct. Testing contributes to the achievement of quality in a variety of ways, e.g., such as reducing the risk of inadequate software quality
c) Is not correct. This is quality assurance but not testing
d) Is not correct. The quality cannot be measured by counting the number of executed test cases without knowing the outcome
Which of the following activities is part of the main activity “test analysis” in the test process?
a) Identifying any required infrastructure and tools
b) Creating test suites from test scripts
c) Analyzing lessons learned for process improvement
d) Evaluating the test basis for testability
a) Is not correct. This activity is performed during the test design activity (test design)
b) Is not correct. This activity is performed during the test implementation activity (test implementation)
c) Is not correct. This activity is performed during the test completion activity (test completion)
d) Is correct. This activity is performed during the test analysis activity (test analysis)
Match the following test work products (1-4) with the right description (A-D).
1. Test suite
2. Test case
3. Test script
4. Test charter
A. A set of test scripts to be executed in a specific test run
B. A set of instructions for the execution of a test
C. Contains expected results
D. Documentation of test activities in session-based exploratory testing
a) 1A, 2C, 3B, 4D
b) 1D, 2B, 3A, 4C
c) 1A, 2C, 3D, 4B
d) 1D, 2C, 3B, 4A
Glossary defines the following tests as:
* Test suite: “A set of test scripts or test procedures to be executed in a specific test run.” (1A)
* Test case: “A set of preconditions, inputs, actions (where applicable), expected results and post conditions, developed based on test conditions” (2C)
* Test script: “A sequence of instructions for the execution of a test” (3B)
* Test charter: “Documentation of test activities in session-based exploratory testing” (4D)
Thus:
a) Is correct
b) Is not correct
c) Is not correct
d) Is not correct
How can white-box testing be applied during user acceptance testing?
a) To check if large volumes of data can be transferred between integrated systems
b) To check if all code statements and code decision paths have been executed
c) To check if all work process flows have been covered
d) To cover all web page navigations
a) Is not correct. Relevant for integration testing
b) Is not correct. Relevant for component testing
c) Is correct. For acceptance testing, tests are designed to cover all workflows defined in the functional requirements documents.
d) Is not correct. Relevant for system testin
Which of the following statements comparing component testing and system testing is TRUE?
a) Component testing verifies the functionality of software modules, program objects, and classes that are separately testable, whereas system testing verifies interfaces between components and interactions between different parts of the system
b) Test cases for component testing are usually derived from component specifications, design specifications, or data models, whereas test cases for system testing are usually derived from requirement specifications or use cases
c) Component testing only focuses on functional characteristics, whereas system testing focuses on functional and non-functional characteristics
d) Component testing is the responsibility of the testers, whereas system testing typically is the responsibility of the users of the system
a) Is not correct. System testing does not test interfaces between components and interactions between different parts of the system; this is a target of integration tests
b) Is correct. Examples of work products that can be used as a test basis for component testing include detailed design, code, data model, component specifications. Examples of work products for system testing include system and software requirement specifications (functional and non-functional) use cases
c) Is not correct. Component testing does not ONLY focus on functional characteristics
d) Is not correct. Component tests are also executed by developers, whereas system testing typically is the responsibility of (independent) testers
Which one of the following is TRUE?
a) The purpose of regression testing is to check if the correction has been successfully implemented, while the purpose of confirmation testing is to confirm that the correction has no side effects
b) The purpose of regression testing is to detect unintended side effects, while the purpose of confirmation testing is to check if the system is still working in a new environment
c) The purpose of regression testing is to detect unintended side effects, while the purpose of confirmation testing is to check if the original defect has been fixed
d) The purpose of regression testing is to check if the new functionality is working, while the purpose of confirmation testing is to check if the original defect has been fixed
a) Is not correct. Regression testing does not check successful implementation of corrections and confirmation testing does not check for side effects
b) Is not correct. The statement about confirmation testing should be about regression testing
c) Is correct. See reasons from incorrect answers
d) Is not correct. Testing new functionality is not regression testing
Which one of the following is the BEST definition of an incremental development model?
a) Defining requirements, designing software and testing are done in phases where in each phase a piece of the system is added
b) A phase in the development process should begin when the previous phase is complete
c) Testing is viewed as a separate phase which takes place after development has been completed
d) Testing is added to development as an increment
a) Is correct. Incremental development involves establishing requirements, designing, building, and testing a system in pieces
b) Is not correct. This is a sequential model
c) Is not correct. This describes the waterfall model
d) Is not correct. Testing alone is not an increment/additional step in the development
Which of the following should NOT be a trigger for maintenance testing?
a) Decision to test the maintainability of the software
b) Decision to test the system after migration to a new operating platform
c) Decision to test if archived data is possible to be retrieved
d) Decision to test after “hot fixes”
a) Is correct. This is maintainability testing, not maintenance testing
b) Is not correct. This is a trigger for maintenance testing: Operational tests of the new environment as well as of the changed software
c) Is not correct. This is the trigger for maintenance testing: testing restore/retrieve procedures after archiving for long retention periods
d) Is not correct. This is the trigger for maintenance testing: Reactive modification of a delivered software product to correct emergency defects that have caused actual failures
Which of the following options are roles in a formal review?
a) Developer, Moderator, Review leader, Reviewer, Tester
b) Author, Moderator, Manager, Reviewer, Developer
c) Author, Manager, Review leader, Reviewer, Designer
d) Author, Moderator, Review leader, Reviewer, Scribe
a) Is not correct. Tester and developer are NOT roles in a formal review
b) Is not correct. Developer is NOT a role in a formal review
c) Is not correct. Designer is NOT a role in a formal review
d) Is correct. See reasons from incorrect answers
Which activities are carried out within the planning of a formal review?
a) Collection of metrics for the evaluation of the effectiveness of the review
b) Answer any questions the participants may have
c) Definition and Verification of fulfillment of entry criteria for the review
d) Evaluation of the review findings against the exit criteria
a) Is not correct. ‘Collection of metrics’ belongs to the main activity “Fixing and Reporting”
b) Is not correct. ‘Answer any question.’ belongs to the main activity “Initiate Review”
c) Is correct. The checking of entry criteria takes place in the planning of a formal review
d) Is not correct. The evaluation of the review findings against the exit criteria belongs to the main activity “Issue communication and analysis”
Which of the review types below is the BEST option to choose when the review must follow a formal process based on rules and checklists?
a) Informal Review
b) Technical Review
c) Inspection
d) Walkthrough
a) Is not correct. Informal review does not use a formal process
b) Is not correct. Use of checklists are optional
c) Is correct. Inspection is a formal process based on rules and checklists
d) Is not correct. Does not explicitly require a formal process and the use of checklists is optional
Which of the following statements about static testing are MOST true?
a) Static testing is a cheap way to detect and remove defects
b) Static testing makes dynamic testing less challenging
c) Static testing makes it possible to find run-time problems early in the lifecycle
d) When testing safety-critical system, static testing has less value because dynamic testing finds the defects better
a) Is correct. Defects found early are often much cheaper to remove than defects detected later in the lifecycle
b) Is not correct. Dynamic testing still has its challenging because they find other types of defects
c) Is not correct. This is dynamic testing
d) Is not correct. Static testing is important for safety-critical computer systems
You will be invited to a review. The work product to be reviewed is a description of the in-house document creation process. The aim of the description is to present the work distribution between the different roles involved in the process in a way that can be clearly understood by everyone.
You will be invited to a checklist-based review. The checklist will also be sent to you. It includes the following points:
i. Is the person who performs the activity clearly identified for each activity?
ii. Are the entry criteria clearly defined for each activity?
iii. Are the exit criteria clearly defined for each activity?
iv. Are the supporting roles and their scope of work clearly defined for each activity?
In the following we show an excerpt of the work result to be reviewed, for which you should use the checklist above:
“After checking the customer documentation for completeness and correctness, the software architect creates the system specification. Once the software architect has completed the system specification, he invites testers and verifiers to the review. A checklist describes the scope of the review. Each invited reviewer creates review comments - if necessary - and concludes the review with an official review done-comment.”
Which of the following statements about your review is correct?
a) Point ii) of the checklist has been violated because it is not clear which condition must be
fulfilled to invite to the review
b) You notice that in addition to the tester and the verifier, the validator must also be invited.
Since this item is not part of your checklist, you do not create a corresponding comment
c) Point iii) of the checklist has been violated as it is not clear what marks the review as
completed
d) Point i) of the checklist has been violated because it is not clear who is providing the
checklist for the invitation to the review
a) Is not correct. It is described that the software architect must have completed the system specification
b) Is not correct. ‘Checklist-based’, last sentence it is documented that you should also look for defects outside the checklist
c) Is not correct. It is described: every reviewer did his review done comment
d) Is correct. It is described that a checklist is available, but who provides the checklist?
What is checklist-based testing?
a) A test technique in which tests are derived based on the tester’s knowledge of past faults, or general knowledge of failures
b) A test technique based on an analysis of the specification of a component or system
c) An experience-based test technique whereby the experienced tester uses a list of items to be noted, checked, or remembered, or a set of rules or criteria against which a product must be verified
d) An approach to testing where the testers dynamically design and execute tests based on their knowledge, exploration of the test item and the results of previous tests
a) Is not correct. This is error guessing
b) Is not correct. This is black-box test technique
c) Is correct. See reasons from incorrect answers
d) Is not correct. This is exploratory testing
Which one of the following options is categorized as a black-box test technique?
a) A technique based on analysis of the architecture
b) A technique checking that the test object is working according to the detailed design
c) A technique based on the knowledge of past faults, or general knowledge of failures
d) A technique based on formal requirements
a) Is not correct. This is a white-box test technique
b) Is not correct. This is a white-box test technique
c) Is not correct. This is an experience-based test technique
d) Is correct. Black-box test techniques are based on an analysis of the appropriate test basis (e.g., formal requirements documents, specifications, use cases, user stories)
The following statement refers to decision coverage:
“When the code contains only a single ‘if’ statement and no loops or CASE statements, and its execution is not nested within the test, any single test case we run will result in 50% decision coverage.”
Which of the following statement is correct?
a) The statement is true. Any single test case provides 100% statement coverage and therefore 50% decision coverage
b) The statement is true. Any single test case would cause the outcome of the “if” statement to be either true or false
c) The statement is false. A single test case can only guarantee 25% decision coverage in this case
d) The statement is false. The statement is too broad. It may be correct or not, depending on the tested software
a) Is not correct. While the given statement is true, the explanation is not. The relationship between statement and decision coverage is misrepresented
b) Is correct. Since any test case will cause the outcome of the “if” statement to be either TRUE or FALSE, by definition we achieved 50% decision coverage
c) Is not correct. A single test case can give more than 25% decision coverage, this means according to the statement above always 50 % decision coverage
d) Is not correct. The statement is specific and always true, because each test case achieves 50 % decision coverage
Which one of the following is the description of statement coverage?
a) It is a metric, which is the percentage of test cases that have been executed
b) It is a metric, which is the percentage of statements in the source code that have been executed
c) It is a metric, which is the number of statements in the source code that have been executed by test cases that are passed
d) It is a metric, that gives a true/false confirmation if all statements are covered or not
a) Is not correct. Statement coverage measures the percentage of statements exercised by test cases
b) Is correct. Statement testing exercises the executable statements in the code. Statement coverage is measured as the number of statements executed by the tests divided by the total number of executable statements in the test object, normally expressed as a percentage
c) Is not correct. The coverage does not measure pass/fail
d) Is not correct. It is a metric and does not provide true/false statements
Which statement about the relationship between statement coverage and decision coverage is true?
a) 100% decision coverage also guarantees 100% statement coverage
b) 100% statement coverage also guarantees 100% decision coverage
c) 50% decision coverage also guarantees 50% statement coverage
d) Decision coverage can never reach 100%
a) Is correct. The statement is true. Achieving 100% decision coverage guarantees 100% statement coverage
b) Is not correct. The statement is false because achieving 100 % statement coverage does not in any case mean that the decision coverage is 100%
c) Is not correct. The statement is false because we can only do statements about 100% values
d) Is not correct. The statement is false
For which of the following situations is exploratory testing suitable?
a) When time pressure requires speeding up the execution of tests already specified
b) When the system is developed incrementally, and no test charter is available
c) When testers are available who have enough knowledge of similar applications and technologies
d) When an advanced knowledge of the system already exists, and evidence is to be if it should be tested intensively
a) Is not correct. Exploratory testing is not suitable to speed up tests, which are already specified. It is most useful when there are few or inappropriate specified requirements or significant time pressure on testing
b) Is not correct. The absence of a test charter, which may have been derived from the test analysis, is a poor precondition for the use of exploratory testing
c) Is correct. Exploratory tests should be performed by experienced testers with knowledge of similar applications and technologies
d) Is not correct. Explorative testing alone is not suitable to provide evidence that the test was very intensive, instead the evidence is provided in combination with other test methods