Sample Exam Set B Flashcards
Question #1 (1 Point)
Which of the following is an example of why testing is necessary?
a) Dynamic testing increases quality by causing test objects to fail in ways that could never be achieved by the users
b) Static testing is used by developers to identify failures in their program code earlier than can be achieved through dynamic testing
c) Static analysis provides evidence to customers that the elements of the system that provide no outputs are fit for release
d) Reviews increase the quality of requirements specifications and lead to fewer changes being needed in derived work products
Select ONE option.
D
a) Is not correct. It is often possible to use dynamic testing to cause a test object to fail in ways that could never be achieved by the users, such as by using fault injection. However, if the failure can never occur with real end users, then identifying it is not especially valuable as testing is ultimately aimed at improving the work product for the end users. Spending time testing for failures that cannot occur with real users is not an efficient use of a tester’s time
b) Is not correct. Static testing in the form of static analysis is used by developers to identify defects in their program code earlier than can be achieved through dynamic testing. Note, however, that static testing (and static analysis) is used to detect defects, not failures, which are found by dynamic testing. Thus it is the use of the term ‘failures’ that makes this an incorrect option
c) Is not correct. Static analysis directly detects anomalies in code, which may be defects, and this is normally for the developer, not the customer. The provision of evidence for release by the use of static analysis of elements that provide no output is nonsense
d) Is correct. Reviews are a form of static testing that can be applied from the very start of the software development lifecycle and are used to find defects that can be removed before subsequent development activities waste effort on faulty requirements. If the defects are not detected and removed early on, then when the defect is found derived work products, such as the design and code, will need to be changed as they were based on faulty requirements
Question #2 (1 Point)
Which of the following statements about quality assurance (QA) and/or quality control (QC) is correct?
a) QA is performed as part of testing
b) Testing is performed as part of QC
c) Testing is another term for QC
d) Testing is performed as part of QA
Select ONE option.
B
a) Is not correct. QA concentrates on process improvement and implementation, using a preventive approach to avoid errors and defects, while testing is a form of QC that is used to detect defects
b) Is correct. QC aims to achieve appropriate levels of quality by focusing on identifying and correcting product defects. Testing is a significant part of QC and helps to uncover these defects
c) Is not correct. Although testing is a significant part of QC and helps to uncover defects, other (non-testing) techniques utilized in QC include formal methods like model checking and proof of correctness, as well as simulation and prototyping
d) Is not correct. QA concentrates on process improvement and implementation, using a preventive approach to avoid errors and defects, while testing is a form of QC that is used to detect defects
Question #3 (1 Point)
One of the ‘principles of testing’ states that exhaustive testing is impossible. Which of the following is an example of addressing this principle in practice?
a) Creating test cases that cover every possible specified output
b) Documenting all possible test input variations and prioritizing these based on importance
c) Starting testing as early as possible with reviews and other static testing approaches
d) Using equivalence partitioning and boundary value analysis to generate test cases
Select ONE option.
D
The ‘exhaustive testing is impossible’ principle is concerned with the fact that it is not feasible to test every possible variation of test inputs in all different circumstances, except in trivial cases. Instead, testing utilizes test techniques, test case prioritization, and risk-based testing to sample from the set of possibilities and focus testing efforts.
a) Is not correct. The principle states that it is not feasible to test everything except in trivial cases. Testing everything would require testing every possible variation of test inputs in all different circumstances, which is generally infeasible as there will be a practically infinite number. Testing every possible specified output will not address this problem as the relationship between inputs and specified outputs can be different for each test object. Sometimes there may be a practically infinite number of possible specified outputs (e.g., when there are several variables representing real numbers), whereas at other times there may be just two specified outputs, such as with a single variable that can be either true or false
b) Is not correct. The principle states that it is not feasible to test every possible variation of test inputs in all different circumstances. This is because for non-trivial systems there is a practically infinite number. Therefore, in practice, documenting all possible test input variations would be impractical as it would take an infinite length of time
c) Is not correct. Starting testing as early as possible with reviews and other static testing approaches will not address the problem of there being too many possible test cases. The ‘early testing saves time and money’ principle is concerned with fixing defects early on to prevent the occurrence of subsequent defects in derived work products, thereby reducing costs and the likelihood of failures
d) Is correct. The use of equivalence partitioning and boundary value analysis to generate test cases is one way to address the principle as these test techniques provide a systematic way to derive a finite subset of all possible test cases
Question #4 (1 Point)
Which test activity involves working with test data requirements, test conditions, test environment requirements and test cases?
a) Test design
b) Test execution
c) Test analysis
d) Test implementation
Select ONE option.
A
a) Is correct. Test design involves using test conditions to create test cases and other necessary testware, such as test data requirements and test charters for exploratory testing. Test environment requirements are also specified, including the necessary infrastructure and tools
b) Is not correct. Test execution involves executing test cases (as part of test procedures), however it does not directly cover the other testware mentioned in the question, such as test data requirements, test environment requirements and test conditions
c) Is not correct. Test analysis is used to identify the features that require testing. The test basis is analyzed and defined as test conditions, which are then prioritized along with related risks. While this activity involves working with test conditions, it does not cover the other testware mentioned in the question, such as test data requirements, test environment requirements and test cases
d) Is not correct. Test implementation includes the generation of test procedures, such as manual and automated test scripts, which are created from test cases and may be assembled into test suites. Test procedures are prioritized and arranged in a test execution schedule. Test data is created, and the test environment built, and its set up verified. While this activity involves explicitly working with test cases, and may use test data requirements and test environment requirements to create test data and the test environment, it does not cover test conditions
Question #5 (1 Point)
Which of the following is MOST likely to impact how testing is performed for a given test object?
a) The average level of experience of the organization’s marketing team
b) The knowledge of users that a new system is being developed for them
c) The number of years’ experience of the members of the test team
d) The end user’s organizational structure for a commercial music streaming application
Select ONE option.
C
a) Is not correct. The organization’s marketing team is unlikely to perform much testing (although in some organizations they may be involved with acceptance testing), so their average level of experience (most of which would be in marketing) is not likely to impact how testing is performed for a given test object
b) Is not correct. The level of knowledge of users that a new system is being built for them is unlikely to affect how testing is performed. Any user involvement that could affect how testing is performed is more likely to be as a result of decisions made by the testers, customer and project manager
c) Is correct. The number of years’ experience of the members of the performance testing team will help to determine the capabilities and knowledge (e.g., of different tools and defect types) that the team members will apply when they are testing
d) Is not correct. The organizational structure of the different end users (who may be varied) will change between users. So, it may not even be known when the application is being tested, and the end user’s organizational structure can thus have little effect on how the testing is performed
Question #6 (1 Point)
Which of the following statements is a CORRECT example of the value of traceability?
a) Traceability between the mitigated risks and passing test cases provides a means of determining the level of residual risk
b) Traceability between user requirements and test execution results provides a means of measuring project progress against business goals
c) Traceability between testers and failing test cases provides a means of determining the skill level of the testers
d) Traceability between the identified risks and written test conditions provides a means of determining which risks are worth testing
Select ONE option.
B
a) Is not correct. Traceability between the mitigated risks and passing test cases provides little information, because to be mitigated (by testing) the risks would need to have a corresponding passing test case. To be able to assess residual risk, traceability between all risks and test results needs to be available, so that the risks that do not have a corresponding passing test can be identified as the residual risks
b) Is correct. Traceability between user requirements and test execution results provides an indication of which user requirements have been tested and so provides a means of measuring project progress (in the context of testing) against business goals
c) Is not correct. It is not clear that failing test cases provide an indication of tester skills any more than passing test cases. It would partly depend on the test objective (e.g., building confidence or causing failures). Also, such measurement of testers based on passing and failing test cases can be counter-productive as it could cause the testers to optimize their testing based on that metric rather than the test objective
d) Is not correct. Traceability between the identified risks and written test conditions provides a means of determining which further test conditions need to be written. Determining which risks are worth testing is part of risk management, and risk mitigation in particular
Question #7 (1 Point)
Which of the following is MOST likely to be an example of a tester using a generic skill when testing?
a) The tester’s deep knowledge of a variety of computer games meant that they got on well with one of the developers who was also into gaming
b) The tester was a former pilot and was better able to understand the acceptance criteria for the helicopter control system
c) The tester previously worked as a programmer and used their skills in this area to better communicate with the business analysts
d) The tester was very careful not to make mistakes when they methodically generated test cases prior to starting their exploratory testing session
Select ONE option.
B
a) Is not correct. Strong communication skills, active listening, and teamwork abilities enable a tester to interact effectively with all stakeholders, however a deep knowledge of a variety of computer games that allowed them to get on well with one developer is not an example of a generic skill useful to testers
b) Is correct. Domain knowledge that can be used to understand and communicate with end-users and business representatives is one of the generic skills required by testers. A tester with experience as a pilot would make them better able to appreciate the acceptance criteria for the helicopter control system
c) Is not correct. Although programming skills could be considered as technical knowledge which can increase efficiency when utilizing some test tools, it is unlikely that these skills would improve their communication with business analysts
d) Is not correct. Although thoroughness, attention to detail, curiosity, and a methodical approach to identifying hard-to-find defects are all useful generic skills for testers, it is doubtful they would be generating test cases prior to starting exploratory testing. This is because one of the main tenets of exploratory testing is that the test cases are generated during the testing, not scripted in advance
Question #8 (1 Point)
Which of the following is an advantage of the whole-team approach?
a) It allows team members to take on any role at any time
b) It only needs a single team to support the complete development project
c) It embeds business representatives alongside developers in the same team
d) It generates a team synergy that benefits the entire project
Select ONE option.
D
a) Is not correct. The whole-team approach allows any team member with the requisite skills and knowledge to undertake any task, however that does not mean that team members can take on any role at any time. Typically, they only take on roles in which they are competent, and there is no suggestion that every team member can do every role
b) Is not correct. The whole-team approach applies to how a single team (typically in Agile software development) works; it does not cover how multiple teams are supposed to work on larger projects, and it does not suggest that only one ‘whole’ team is needed for a complete project
c) Is not correct. The whole-team approach does not expect every team member to be involved in every important decision. For instance, there is no need for the business representative (i.e. the Product Owner) to be involved in every technical decision that does not affect the business outcome and implementing such an approach would unnecessarily slow down the team’s progress
d) Is correct. By leveraging the diverse skill sets of each team member most effectively, the whole-team approach fosters superior team dynamics, promotes robust communication and collaboration, and generates a team synergy that benefits the entire project
Question #9 (1 Point)
Which of the following statements about the chosen software development lifecycle is CORRECT?
a) If agile software development is used, system test automation replaces the need for regression testing
b) If a sequential development model is used, then the dynamic testing is typically restricted to later in the lifecycle
c) If an iterative development model is used, then component testing is typically performed manually by developers
d) If an incremental development model is used, then static testing is done in early increments and dynamic testing in later increments
Select ONE option.
B
a) Is not correct. In agile software development, deliverables are produced in each iteration, and the frequent delivery of increments necessitates extensive regression testing. Although some (or all) of this regression testing may be automated, the regression testing (automated or not) cannot be replaced by system test automation
b) Is correct. If a sequential development model is used, then early in the lifecycle no code is available for execution, and so during this time static testing (e.g., reviews) is performed. Later in the lifecycle, when code is available for execution, dynamic testing is possible. Note, however, that preparation for dynamic testing will often occur early in any software development lifecycle
c) Is not correct. If an iterative development model, like agile software development, is used, then component tests may well be used for regression testing for each iteration. In which case, there is a strong argument for automating these component tests, which will have to be run frequently, and there is unlikely to be a strong argument for developers performing these component tests manually
d) Is not correct. In most incremental development models, deliverables are produced in each increment, requiring both static and dynamic testing at all test levels for each increment delivered
Question #10 (1 Point)
Which of the following is a good testing practice that applies to all software development lifecycles?
a) Testers should review work products as part of the next development phase
b) Testers should review work products as soon as drafts are available
c) Testers should review work products before test analysis and design begins
d) Testers should review work products immediately after they are published
Select ONE option.
B
a) Is not correct. Testers should review work products as soon as drafts are available to enable early testing as part of a shift-left approach. If they waited until the next development phase, then unnecessary development (and test) work could be started on unreviewed, flawed work products
b) Is correct. Testers should review work products as soon as drafts are available to enable early testing as part of a shift-left approach
c) Is not correct. Testers typically review work products that form the test basis as part of test analysis, not before test analysis and design
d) Is not correct. Testers should review work products as soon as drafts are available to enable early testing as part of a shift-left approach. Waiting until they are published means that any defects that could be found by tester review will be in the published document
Question #11 (1 Point)
Which of the following is an example of a test-first approach to development?
a) Test-Driven Development
b) Coverage-Driven Development
c) Quality-Driven Development
d) Feature-Driven Development
Select ONE option.
A
a) Is correct. Test-Driven Development (TDD) is a well-known example of a test-first approach to development
b) Is not correct. Coverage-Driven Development is not a correct example of a test-first approach to development
c) Is not correct. Quality-Driven Development is not a correct example of a test-first approach to development
d) Is not correct. Feature-Driven Development is not an example of a test-first approach to development, but is, instead, an agile software development methodology based around delivering features (as opposed to user stories in Scrum)
Question #12 (1 Point)
Which of the following statements about DevOps is CORRECT?
a) To speed up releases, continuous integration is used to encourage developers to submit code quickly without the need to complete component testing
b) To be able to update and release systems on a more frequent basis, many automated regression tests are required to reduce the danger of regression
c) To treat both developers and operations equally, the testers will allocate more effort to release testing by operations using a shift-right approach
d) To create increased synergy between testers, developers and operations, the testing must become fully automated with no manual testing
Select ONE option.
B
a) Is not correct. DevOps enhances testing in several ways, such as by providing fast feedback on code quality, automated regression testing that minimizes regression risk, and promoting a shift-left approach with high-quality code submission and component tests. This is largely provided through continuous integration, where the developers submit component (unit) tests with their new code, which must pass for the code to be admitted to the build. Therefore, developers do need to complete component testin
b) Is correct. DevOps enhances testing in several ways, such as by providing fast feedback on code quality, automated regression testing that minimizes regression risk, and promoting a shift-left approach with high-quality code submission and component tests
c) Is not correct. DevOps enhances testing in several ways, such as by providing fast feedback on code quality, automated regression testing that minimizes regression risk, and promoting a shift-left approach with high-quality code submission and component tests. Testers do not attempt to treat developers and operations equally by spending more time on release testing, although a shift-right approach to testing (testing in production) may well be used
d) Is not correct. Automated processes like continuous integration/continuous delivery (CI/CD) in DevOps facilitate stable test environments and reduce the need for manual testing, however, there is a risk of overlooking the importance of manual testing, especially from a user’s perspective
Question #13 (1 Point)
Which of the following is MOST likely to be performed as part of system testing?
a) Security testing of a credit management system by an independent test team
b) Testing the interface of a currency exchange system with an external banking system
c) Beta testing of a remote learning system by courseware developers
d) Testing interactions between the user interface and database of a human resources system
Select ONE option.
A
a) Is correct. System testing examines the behavior and capabilities of the complete system and covers non-functional testing of quality characteristics, which includes security testing. This type of testing is often performed by an independent test team based on system specifications
b) Is not correct. System integration testing examines the interfaces with other systems and external services
c) Is not correct. Beta testing is a type of acceptance testing performed at an external site by roles outside the development organization
d) Is not correct. Component integration testing involves testing the (interfaces and) interactions between components of a system, such as the user interface and database
Question #14 (1 Point)
Which of the following statements is CORRECT?
a) Regression tests increase in number as the project progresses, whereas the number of confirmation tests decreases as the project progresses
b) Regression tests are created and run when the test object is fixed, whereas confirmation tests are run whenever the test object is enhanced
c) Regression testing is concerned with checking that the operational environment remains unchanged, whereas confirmation testing is concerned with testing changes to the test object
d) Regression testing is concerned with adverse effects in unchanged code, whereas confirmation testing is concerned with testing changed code
Select ONE option.
D
a) Is not correct. Regression tests increase in number as the project progresses, as new regression tests are typically required as changes are made to the system. Similarly, the number of confirmation tests also typically increases as the project progresses as new confirmation tests are needed for each fix made to a system
b) Is not correct. It is the other way round. Confirmation tests are created and run when the test object is fixed, and regression tests are (ideally) run whenever the test object is enhanced (changed)
c) Is not correct. Confirmation testing verifies that a defect has been fixed correctly and so is concerned with testing changes to the test object. However, regression testing ensures that changes (including changes to the operational environment) do not have negative effects on unchanged software and so does not check that the operational environment remains unchanged
d) Is correct. Regression testing ensures that changes do not have negative effects on unchanged software. Confirmation testing verifies that a defect has been fixed – and so is concerned with changed code
Question #15 (1 Point)
Which of the following is an example of a defect that can be found by static testing but NOT by dynamic testing?
a) Lack of usability provided through the user interface
b) Code with no path that reaches it
c) Poor response times for most of the expected users
d) Required features that are not implemented in the code
Select ONE option.
B
a) Is not correct. A lack of usability provided through the user interface can be detected through a review using a suitable checklist, but the lack of usability can also be identified by getting several typical users to dynamically test the user interface and provide feedback on its usability
b) Is correct. A code review can detect code that cannot be reached by any path, however dynamic tests can only exercise reachable code and cannot determine that code cannot be reached without running every possible combination of inputs and input states, which is impractical for real code
c) Is not correct. Poor response times for most of the expected users are difficult to determine without executing the code (i.e., by static testing), so in this situation dynamic testing could find a defect, but static testing is unlikely to find it
d) Is not correct. A review of the code by someone who is aware of the required features could detect that the required features had not been implemented in the code, and dynamic testing could also be used to determine that these required features had not been implemented
Question #16 (1 Point)
Which of the following is a benefit of early and frequent stakeholder feedback?
a) Managers are aware of which developers are less productive
b) It allows project managers to prioritize their stakeholder interactions
c) It facilitates early communication of potential quality issues
d) End users better understand why the delivery of the work product is delayed
Select ONE option.
C
a) Is not correct. The feedback is from stakeholders (e.g., business representative, end user), not from developers, so this feedback is not likely to inform managers which developers are more or less productive
b) Is not correct. Early and frequent feedback from stakeholders is not used by project managers to prioritize how they interact with the different stakeholders
c) Is correct. Obtaining feedback from stakeholders early and often in the software development process can be highly beneficial as it facilitates early communication of potential quality issues, can prevent misunderstandings about requirements, and ensures that any changes in stakeholder requirements are understood and implemented sooner
d) Is not correct. Early and frequent feedback can prevent the development of a product that does not meet stakeholder needs, and results in costly rework and missed deadlines, so, ideally there should be no delay. Also, the feedback is from stakeholders (not to them), which includes the end users, so the end users providing feedback will not aid the end users’ understanding