Which of the following describes the main purpose of a task management tool in agile projects? SELECT ONE OPTION
- A . A task management tool allows developers to continuously integrate their code.
- B . A task management tool is used by team members to share ideas and collaborate on assigned tasks.
- C . A task management tool is used to manage and track user stories, tests and other tasks.
- D . A task management tool is used to store source code and automated tests.
C
Explanation:
In agile projects, task management tools play a crucial role in facilitating project management and team collaboration. Specifically, option C accurately describes the primary function of a task management tool in agile contexts. These tools are designed to manage and track various elements of agile projects, including user stories, tests, tasks, and more, thereby enabling teams to maintain visibility and control over the project’s progress.
Agile methodologies prioritize adaptability, customer collaboration, and the delivery of value through iterative development cycles. Task management tools support these principles by providing a platform for organizing work, prioritizing tasks, and ensuring that all team members are aligned on the project’s objectives and progress. This alignment is essential for maintaining the agility and responsiveness characteristic of agile projects.
For example, the Scrum framework, a popular agile methodology, involves creating a product backlog that contains all the user stories and tasks needed for the project. The task management tool would be used to track these items through various stages of development, from the backlog to in-progress, testing, and completion. This tracking ensures that the team can adapt to changes, manage workloads effectively, and deliver increments of value to the customer consistently.
In summary, option C is the verified answer as it encapsulates the essential purpose of a task management tool in agile projects, which is to manage and track user stories, tests, and other tasks, thereby supporting the agile principles of adaptability, customer collaboration, and iterative delivery of value.
You are developing the code that controls an industrial Espresso machine which will be operated by waiting staff in restaurants.
The machine is rather complicated and has lots of switches and buttons, so in the next iteration instructions will be provided to the operator on a small LCD screen.
A User Story for the Operator-Instructions module is as follows:
"As an operator of the Espresso machine, I would like to know how to steam milk, so I can add steamed milk to the coffee."
The following is a list of risks identified for this story, with assigned probability and impact.
Which of these is most correct in the context of the given User Story? SELECT ONE OPTION
- A . An untrained customer will attempt to use the coffee machine. Probability: High. Impact: High
- B . The instructions may be incorrect or appear in the wrong order. Probability: Low. Impact: High
- C . Operators will not read the instructions and will try various switches and buttons until something works. Probability: Low. Impact: Low
- D . A small child may try to steam milk. Probability: High. Impact: Low
B
Explanation:
In the context of the provided User Story for the Operator-Instructions module of an industrial Espresso machine, option B is the most pertinent risk. This option states, "The instructions may be incorrect or appear in the wrong order. Probability: Low. Impact: High." This risk directly affects the core functionality described in the User Story, which is to provide operators with accurate instructions for steaming milk.
Agile methodologies emphasize the importance of delivering value to the customer through functional and usable increments of the product. Incorrect or improperly ordered instructions would directly undermine the usability of the Espresso machine for its intended operators, potentially leading to operational errors, customer dissatisfaction, and a failure to deliver the intended value of the User Story.
While the other risks mentioned (A, C, and D) might have their relevance in broader project considerations, they do not directly impact the achievement of the User Story’s goal as much as option B does. The risk of incorrect or out-of-order instructions is particularly significant because it could lead to improper operation of the machine, resulting in quality issues with the product (steamed milk in this case) or even damage to the machine, both of which have high impact on the project’s success.
Therefore, option B is the verified answer as it most accurately reflects a risk that is directly related to the achievement of the User Story’s objective, aligning with agile principles of focusing on delivering functional and valuable product increments to the customer.
Which of the following statements about the benefits of the Agile processes promoting early and frequent feedback is NOT true? SELECT ONE OPTION
- A . In Agile projects where feedback is provided early and frequently, defects and incorrect requirements are caught earlier and those problems can be fixed faster.
- B . Increasing the frequency of feedback and communication between all the stakeholders involved in Agile projects eliminates all communication problems.
- C . Feedback from well-conducted Agile retrospectives can be used to positively affect the development process over the course of the next iteration.
- D . Early and frequent feedback enables the team to deliver the features that represent the highest business value to the customer first.
B
Explanation:
Option B is not true regarding the benefits of Agile processes promoting early and frequent feedback. The statement, "Increasing the frequency of feedback and communication between all the stakeholders involved in Agile projects eliminates all communication problems," overstates the capability of Agile methodologies. While Agile practices such as Scrum and Kanban emphasize continuous feedback and collaboration to improve project outcomes and adapt to changes, they do not claim to eliminate all communication problems.
Communication challenges can arise due to various factors, including but not limited to, differences in stakeholders’ perspectives, misunderstandings, and external constraints. Agile methodologies aim to reduce the impact of these challenges by promoting transparency, regular interactions, and adaptive planning. Tools like daily stand-ups, retrospectives, and sprint reviews facilitate ongoing dialogue among team members and stakeholders, helping to identify and address issues promptly. However, these practices enhance communication effectiveness rather than eliminating all potential communication problems.
In contrast, options A, C, and D accurately reflect the principles and benefits of Agile methodologies. Early and frequent feedback helps in identifying and rectifying defects and misalignments with requirements more quickly (A), improves development processes through reflective practices like retrospectives (C), and ensures that the team prioritizes work that delivers the highest value to the customer (D).
Therefore, option B is the verified answer as it presents an unrealistic expectation of Agile processes’ impact on communication challenges, contradicting the Agile Manifesto’s acknowledgment of the complexity and collaborative nature of software development.
In a sprint planning, the product owner presents a user story written on a card. The team starts having a discussion with the product owner to get an understanding on how the software should work.
The user story written on the card is:
"As a customer, I want to subscribe to the mailing list so that I can receive the latest deal in an email."
By applying the 3C concept, which ONE of the following statements is CORRECT? SELECT ONE OPTION
- A . Conversation should include the acceptance criteria discussion.
- B . Product owner has written a user story and confirmation is not needed.
- C . The card should contain requirements not the user story.
- D . The conversation is not required and the team should start developing.
A
Explanation:
The 3C concept in Agile development refers to Card, Conversation, and Confirmation. This concept emphasizes the collaborative and iterative nature of defining user stories and their acceptance criteria in Agile projects. In the context of the provided user story, "As a customer, I want to subscribe to the mailing list so that I can receive the latest deal in an email," option A is correct. The conversation should include the acceptance criteria discussion, which is an integral part of the 3C concept.
The Card represents the user story itself, which is a brief statement describing a feature or requirement from the user’s perspective. The Conversation involves discussions between the development team and the product owner (or other stakeholders) to clarify the details and ensure a mutual understanding of the user story. This conversation is crucial for exploring the user story’s implications, discussing potential implementation approaches, and agreeing on the acceptance criteria that define when the story is considered complete and satisfactory.
Confirmation involves agreeing on and documenting the acceptance criteria that emerge from the conversation. These criteria serve as a checklist to ensure that the implemented feature meets the user’s needs and expectations as defined in the user story.
Option A is the verified answer because it accurately reflects the importance of including acceptance criteria discussions in the conversation phase of the 3C concept. This practice aligns with Agile principles by ensuring clarity, shared understanding, and a focus on delivering value to the customer.
Which of the following is NOT a statement of value from the Agile Manifesto? SELECT ONE OPTION
- A . software over comprehensive documentation.
- B . Responding to change over following a plan.
- C . Processes and tools over individuals and interactions.
- D . Customer collaboration over contract negotiation.
C
Explanation:
The Agile Manifesto, a foundational document for Agile development, outlines four core values intended to guide Agile practices. Option C, "Processes and tools over individuals and interactions," is not a statement of value from the Agile Manifesto. In fact, the correct value stated in the Agile Manifesto is the opposite: "Individuals and interactions over processes and tools."
The Agile Manifesto values are as follows:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
These values emphasize the importance of people, collaboration, adaptability, and the delivery of functional software in Agile development. The manifesto suggests that while processes, tools, documentation, contracts, and plans have their place, they should not overshadow the importance of human elements, effective collaboration, and responsiveness to change.
Option C is the verified answer because it misrepresents the Agile Manifesto’s values by prioritizing processes and tools over individuals and interactions, which contradicts the manifesto’s emphasis on the latter. This understanding is crucial for implementing Agile practices that align with the manifesto’s intent to foster more adaptive, people-oriented, and customer-focused approaches to software development.
Iteration planning for Sprint 5 of your current project is complete.
The plan for the sprint is to increase performance of the system, which of the following acceptance criteria would you expect for Sprint 5?
i) User access for all roles has been validated.
ii) A static analysis tool has been executed for all code.
iii) 100% of the existing regression test suite has passed.
Iv) System is responding In less than 3 seconds, 90% of the time.
v) A new version of Internet Explorer has been included.
- A . ii, v
- B . iii, iv
- C . iv, v
- D . i, iii
B
Explanation:
The acceptance criteria for a sprint focused on improving the performance of a system, like the one described for Sprint 5, typically include ensuring that the system meets specific performance benchmarks and that the functionality implemented in previous sprints continues to work as expected.
Therefore, the most relevant acceptance criteria for such a sprint would be:
iii) "100% of the existing regression test suite has passed." This criterion ensures that the new performance enhancements have not adversely affected the existing functionalities of the system. It’s a common practice in agile projects to maintain the integrity and quality of the system by running regression tests. This is supported by the notion that continuous testing and quality assurance are integral components of agile methodologies, ensuring that each increment of the project maintains and improves the quality of the product (Source: Agile Project Management methodologies).
iv) "System is responding in less than 3 seconds, 90% of the time." This criterion directly addresses the goal of the sprint, which is to increase the performance of the system. Setting a specific target for response times is a quantifiable and testable way to measure the improvement in performance. This aligns with agile principles, which emphasize delivering valuable, working software and encourage adaptive planning and continuous improvement. Performance targets like these help the team focus on delivering specific, valuable improvements to the system (Source: Principles behind the Agile Manifesto).
Options i) and v) are less relevant to the specific focus of Sprint 5, which is on performance improvement, and more about user roles and software compatibility, which are not directly tied to the performance objectives of the sprint. Therefore, options iii) and iv) constitute the most appropriate acceptance criteria for Sprint 5, focusing on ensuring that the system’s performance meets the set benchmarks without compromising existing functionalities.
You are working in a team preparing a bank loan application.
Your task is the preparation of acceptance tests for the following user story:
"IF a customer needs a loan for less than 50,000 Euros and they have made repayments regularly (without any delay) and the customers monthly income is more than 3000 Euros for the last year, THEN the bank will accept the loan request; in other cases the bank will not accept the request. A customer assistant is responsible for preparing data for approval but the approval is done by the bank manager."
Which of the following test cases can be treated as acceptance test criteria for the above user story?
i) As a customer assistant I can log in to the system and check the history of the customer account for the last year.
ii) As a customer assistant I can log in to the system and check the history of the customer debts and repayments.
iii) As a customer assistant I can log in to the system and change my password.
iv) As a bank manager I can log in to the system and receive the information of all requests waiting for approval.
v) As a bank manager I can log in to the system and decide whether to approve a loan for a customer. vl) As a bank manager I can log in to the system within 10 seconds.
- A . Acceptance test criteria are ii, iv, v and vi
- B . Acceptance test criteria are i, ii, iv and v
- C . Acceptance test criteria are i, iii, iv and v
- D . Acceptance test criteria are i, ii, iii and vi
B
Explanation:
The acceptance test criteria for the user story should ensure that the system can effectively evaluate loan requests based on the specified conditions. Criteria i) and ii) allow the customer assistant to access and verify customer account history and repayment behaviors, which are essential for assessing loan eligibility as per the user story. Criteria iv) and v) enable the bank manager to review and make decisions on loan requests, aligning with the user story’s stipulation that the bank manager is responsible for loan approvals. These criteria ensure the system supports both the customer assistant’s preparatory role and the bank manager’s decision-making role in the loan approval process.
What is the main benefit of the Test Pyramid? SELECT ONE OPTION
- A . It helps in evaluating the amount of test cases needed.
- B . It means testing is involved early in the development cycle.
- C . It acts as a metric for testing progress.
- D . It shows complexity of testing activities.
B
Explanation:
The Test Pyramid is a concept that emphasizes the importance of incorporating testing early and throughout the software development cycle rather than leaving it until the end. This approach aligns with agile methodologies, which advocate for continuous integration and testing to identify and fix issues promptly, thereby improving the quality of the software and reducing the time and cost associated with late-stage testing.
What is the definition of agile software development? SELECT ONE OPTION
- A . A group of software development methodologies based on iterative incremental development with self-organizing cross-functional teams who cooperate to define requirements and to implement the solution.
- B . A framework to describe the software development lifecycle activities from requirements specification to maintenance where test planning of the various test levels is done as soon as the test basis is ready.
- C . Testing carried out informally where no formal test preparation or execution takes place, no recognized test design technique is used and there are no expectations for results.
- D . A way of developing software where the test cases are developed, and often automated, before the software under test is developed.
A
Explanation:
Agile software development is characterized by its iterative and incremental approach, where development is conducted in cycles, and the work is divided into small, manageable chunks known as iterations or sprints. This approach allows for frequent reassessment of the project’s direction, making it easier to incorporate changes and adapt to new information. Self-organizing, cross-functional teams are a hallmark of agile methodologies, emphasizing collaboration, flexibility, and team empowerment. This definition captures the essence of agile as described in various agile methodologies and the Agile Manifesto.
You are working on an Agile project and have been asked to implement exploratory testing for the current sprint.
Which one of the following is a correct approach to adopt? SELECT ONE OPTION
- A . Allocate independent testers to design exploratory tests using test charters in time boxed sessions.
Plan to run all sessions in parallel with each session lasting more than 5 hours. - B . Ask experienced testers to prepare test charters for time boxed sessions lasting no more than 2 hours. Tests should be designed and executed within each session using heuristics, creativity and intuition.
- C . Ask experienced testers to try and find new defects by using the system without the constraint of documentation and tools.
- D . Use testers who have not been involved in the sprint to write new test cases from the user stories.
These test cases are then executed in a time boxed session for the sprint.
B
Explanation:
Exploratory testing in an agile environment involves the creative and intuitive testing of software without the constraints of predefined test cases. Time-boxed sessions, typically not exceeding 2 hours, are used to maintain focus and efficiency. Test charters guide these sessions, providing direction while still allowing for flexibility and adaptability in testing approaches. This method leverages the skills and experience of testers to uncover issues that might not be identified through traditional scripted testing, aligning with the agile emphasis on individuals and interactions over processes and tools.
Which of the following sentences about the integration of development and testing activities in Agile projects is INCORRECT? SELECT ONE OPTION
- A . Developers and testers may work as a pair to develop and test a feature.
- B . Testers replace developers in writing unit test automation scripts.
- C . While developers develop automated unit test scripts, testers write automated system level tests.
- D . Developers write acceptance criteria and test cases, together with testers.
B
Explanation:
In Agile projects, the integration of development and testing activities involves close collaboration between developers and testers, but it does not typically involve testers replacing developers in writing unit test automation scripts. Agile methodologies, such as Scrum and XP (Extreme Programming), encourage developers to write their own unit tests as part of the Test-Driven Development (TDD) process. Testers often focus on higher-level testing activities, such as acceptance testing and exploratory testing, and may work alongside developers to enhance test coverage and effectiveness. The incorrect statement about testers replacing developers in writing unit test automation scripts contradicts the Agile principle of developers being responsible for the quality of their code, which includes writing and maintaining unit tests.
Which ONE of the following is an example of a typical "Business-oriented work product"? SELECT ONE OPTION
- A . The released product.
- B . Acceptance testing entry criteria.
- C . A user manual.
- D . Usability testing test results.
C
Explanation:
In Agile projects, a "Business-oriented work product" refers to any deliverable that provides business value or is directly usable by the end users or stakeholders of the project. Among the options provided, a user manual is a typical example of a business-oriented work product because it is designed for end users, helping them understand and use the product effectively. Other options, such as the released product itself, acceptance testing criteria, and usability test results, while important, do not fit the definition of a business-oriented work product in the same direct manner as a user manual does.
Which of the following sentences related to Risk-based testing is CORRECT? SELECT ONE OPTION
- A . Risk-based testing does not fit well in Agile development processes, as short iterations mandate short test times.
- B . Risk-based testing fits well in Agile development processes, as risks are easy to identify when the work is divided into user stories.
- C . Risk-based testing fits well in Agile development processes, as risks are analyzed twice – during release and iteration planning.
- D . Risk-based testing does not fit in Agile development processes, as each iteration focuses on limited parts of the product.
C
Explanation:
Risk-based testing is a strategic approach to testing that prioritizes testing activities based on the level of risk associated with various features or components of the software. In Agile development, this approach aligns well with the iterative and incremental nature of Agile methodologies. During both release and iteration planning, Agile teams assess and prioritize work based on risk, value, and other factors. This double layer of risk analysis allows teams to focus their testing efforts more effectively on areas that pose the greatest risk to the project’s success, thereby enhancing the quality and reliability of the deliverables. This approach is consistent with Agile principles, which emphasize adaptability and the delivery of value to the customer.
Which statement about an Agile task board is CORRECT? SELECT ONE OPTION
- A . It is updated once at the end of each iteration.
- B . It provides detailed visual representation of the whole team’s status.
- C . It is a detailed visual representation of the status of testing.
- D . Only “in progress’ tasks are shown on the task board.
B
Explanation:
An Agile task board is a visual management tool used by Agile teams to track the progress of work items during an iteration or sprint. It typically includes columns for different stages of work (e.g., To Do, In Progress, Done) and cards or sticky notes representing individual tasks or user stories. The task board provides a detailed visual representation of the whole team’s status, allowing team members and stakeholders to quickly see what work is in progress, what has been completed, and what is yet to be started. This visibility supports transparency, one of the core values of Agile, and facilitates communication and collaboration within the team. The task board is updated regularly, often daily during stand-up meetings, to reflect the most current status of the work.
Which of the following is the BEST way for a test team to keep its independence when working in an Agile development environment? SELECT ONE OPTION
- A . Share the Test Strategy with the Agile development team, but not the details of the Test Cases.
- B . Locate the team that develops the test automation framework in a different location to the Agile development team.
- C . Co-locate only some of the testers with the Agile development team, while the rest of the testers are in a different location.
- D . Assign testers to be members of the Agile team, but ensure the testers report to a different manager than the developers.
D
Explanation:
Maintaining the independence of the test team within an Agile development environment can be achieved by integrating testers into the Agile teams while ensuring they have a separate reporting line. This arrangement helps in preserving the objectivity of the testing function without isolating testers from the collaborative and fast-paced Agile environment. Testers contribute to the team’s activities and participate in all Agile ceremonies, fostering a strong collaboration and understanding of the product. However, by reporting to a different manager, testers can maintain an independent perspective, which is crucial for unbiased quality assurance. This approach aligns with Agile values of collaboration and individuals and interactions over processes and tools, while also respecting the need for independent verification and validation of the software product.