0
0
Testing Fundamentalstesting~20 mins

Retrospective and process improvement in Testing Fundamentals - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Retrospective Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Purpose of a Retrospective Meeting
What is the main purpose of a retrospective meeting in a software testing team?
ATo write detailed test cases for the upcoming release
BTo assign new testing tasks for the next sprint
CTo review completed work and identify ways to improve future testing processes
DTo report bugs found during testing to the development team
Attempts:
2 left
💡 Hint
Think about what helps a team learn and improve after finishing work.
assertion
intermediate
1:30remaining
Valid Assertion for Retrospective Outcome
Which assertion correctly verifies that a retrospective meeting resulted in at least one process improvement action?
Testing Fundamentals
actions = ['Improve test case review', 'Automate regression tests']
# Write assertion here
Aassert len(actions) > 0
Bassert actions == []
Cassert actions is None
Dassert len(actions) == 0
Attempts:
2 left
💡 Hint
Check if the list of actions is not empty.
🔧 Debug
advanced
2:30remaining
Debugging a Retrospective Action Logger
The following code is intended to add a new improvement action to the list only if it is not already present. What error or issue will occur when running this code?
Testing Fundamentals
def add_action(actions, new_action):
    if new_action not in actions:
        actions.append(new_action)
    return actions

actions = ['Improve test coverage', 'Automate regression tests']
result = add_action(actions, 'Improve test coverage')
print(result)
ANo error; the list remains unchanged because the action already exists
BRaises TypeError because 'actions' is not a list
CRaises SyntaxError due to missing colon
DAdds duplicate action to the list
Attempts:
2 left
💡 Hint
Check if the function prevents duplicates correctly.
framework
advanced
2:00remaining
Choosing a Retrospective Technique
Which retrospective technique focuses on identifying what went well, what didn’t, and what can be improved, using a simple three-column board?
AFishbone Diagram
BStart-Stop-Continue
C5 Whys Analysis
DSWOT Analysis
Attempts:
2 left
💡 Hint
Think of a technique with three clear categories for feedback.
Predict Output
expert
3:00remaining
Output of Retrospective Feedback Aggregation
What is the output of the following code that aggregates feedback from multiple retrospective meetings?
Testing Fundamentals
feedbacks = [
    {'start': ['Write more tests'], 'stop': ['Manual regression'], 'continue': ['Daily standups']},
    {'start': ['Automate deployment'], 'stop': ['Late reporting'], 'continue': ['Daily standups']},
    {'start': ['Write more tests'], 'stop': ['Manual regression'], 'continue': ['Code reviews']}
]

aggregated = {'start': set(), 'stop': set(), 'continue': set()}
for fb in feedbacks:
    for key in aggregated:
        aggregated[key].update(fb[key])

print({k: sorted(list(v)) for k, v in aggregated.items()})
A{"start": ["Automate deployment"], "stop": ["Late reporting"], "continue": ["Code reviews"]}
B{"start": ["Write more tests"], "stop": ["Manual regression"], "continue": ["Daily standups"]}
C{"start": [], "stop": [], "continue": []}
D{"start": ["Automate deployment", "Write more tests"], "stop": ["Late reporting", "Manual regression"], "continue": ["Code reviews", "Daily standups"]}
Attempts:
2 left
💡 Hint
Look at how sets combine unique items from all feedback dictionaries.