You are testing a large e-commerce system for household goods that is being implemented using Agile methodologies You are currently working on deriving tests for stories that are implementing the following epic.
As a customer I want to use the e-commerce system, so that I can have my purchased goods delivered to my house.
The story you are currently working on is:
As a customer I want to be told when my items will be delivered, so I can plan to be home.
You have been given the following charter that was proposed by another tester for testing this story
Login as a customer, buy enough of each item to qualify for free shipping for each item checkout and verify that no shipping fee has been added.
What is the main flaw in this charter?
The main flaw in the proposed test charter is that it does not cover the main functionality of the user story. The user story focuses on the customer wanting to be informed about the delivery time of their items so they can plan to be home. The proposed charter only tests for the absence of a shipping fee and does not address whether the system provides the customer with the delivery time information.
For the story ''Make a call from the mobile app to the backend system'' associated with the epic ''View Frequent Flyer Miles and Status," which of the following story acceptance criteria is in most need of refinement?
Understanding Refinement Needs in Acceptance Criteria:
Well-defined acceptance criteria must be clear, measurable, and testable.
Criteria that lack specificity or are too broad need refinement to ensure they can be implemented and tested effectively.
Analyzing the Options:
A: 'The backend system must respond to the mobile app within 3 seconds' is clear, measurable, and testable.
C: 'The mobile app must detect when the phone does not have Internet connectivity and display a warning message' is actionable and measurable.
D: 'The payload delivered by the backend system must use JSON formatting' is specific and testable.
B: 'The communication between the two systems must be secure' lacks details. Security requirements should specify the protocols or methods (e.g., TLS encryption) to make the acceptance criteria clear and actionable.
Aligned with ISTQB Agile Technical Tester principles emphasizing clear, testable acceptance criteria for Agile stories.
Which of the following elicitation techniques is BEST usedwhen questioning a large number of stakeholders specifically to obtain information for non-functional acceptance criteria?
SELECT ONE OPTION
You are defining the test approach for an Agile project release which is to develop an improved user interface for a golf club's booking system plus some additional features that will provide more flexible bookings across the three courses The improvements have been primarily driven by customer complaints that the booking system is difficult to follow and restrictive The release will be divided into six two-week sprints
The stakeholders have performed a risk assessment for the release and have determined that whilst the system is not mission critical, customer business could be lost and thus a risk level of High has been agreed. As there is may be a high degree of change to the screen design and functionality across the sprints, a regression-averse strategy is recommended.
Which option in the table below represents the BEST test approach for this release, where the following symbols apply?
+ (highly recommended)
(recommended)
o (neutral/optlonal)
* (not recommended)
- (not to be used)
Option Test Automation Exploratory Testing (manual) Black-box testing
1 + 0
2 - + +
3 + 0 -
4
SELECT ONE OPTION
Given the high risk level and the need for a regression-averse strategy due to potential changes in screen design and functionality, the best test approach would involve a strong emphasis on test automation to ensure that new changes do not break existing functionality. Exploratory testing is neutral as it can be useful but is not the primary focus. Manual black-box testing is recommended to verify that the system meets the requirements from an end-user perspective.
Therefore, the option that aligns with these needs is:
Test Automation: + (highly recommended)
Exploratory Testing: o (neutral/optional)
(manual) Black-box testing: (recommended)
This corresponds toOption 1, which suggests a heavy reliance on automated testing to manage regression risks efficiently, while still incorporating manual black-box testing to cover user experience aspects.
A developer has implemented a class that calculates if a given date is a leap year. The definition
for the leap year is given:
Every year that is exactly divisible by four is a leap year, except for years that are exactly
divisible by 100, but these centurial years are leap years if they are exactly divisible by 400.
- divisible by 4
- but not by 100
- years divisible by 400 are leap anyway
You have already thought about it and started with the first test class; the test class looks like
(pseudo JavaScript used here):
// LeapYear.spec.js
describe('Leap year calculator', () => {
it('should consider 1996 as leap', () => {
expect(LeapYear.isLeap(1996)).toBe(true);
});
});
What would now be your next step to proceed as efficient as possible, to validate the correctness
of the class above?
In the context of test-driven development (TDD), the next step after writing a failing test is to write the minimum amount of code necessary to make the test pass. This approach encourages simple designs and inspires confidence that the system is functioning as expected. Once the test passes, you can then refactor the code to improve its structure without changing its behavior.