B.S.W.E. Bachelor of Software Engineering Practice 4 — Questions and Answers
Question 1: Which branch strategy is best suited for teams practicing continuous delivery with frequent small releases?
- Long-lived feature branches
- Trunk-based development (Correct answer)
- GitFlow with release branches
- Forking workflow
Correct answer: Trunk-based development
Trunk-based development encourages committing directly to main with short-lived branches, minimizing merge conflicts and enabling continuous delivery.
Question 2: In a sprint retrospective, the team agrees to reduce context switching. Which practice directly addresses this?
- Increasing sprint length
- Limiting work in progress (WIP) (Correct answer)
- Adding more story points per sprint
- Skipping daily standups
Correct answer: Limiting work in progress (WIP)
Limiting WIP reduces the number of tasks being handled simultaneously, which minimizes context switching and improves flow.
Question 3: Which testing type validates that individual components work correctly when integrated together?
- Unit testing
- Integration testing (Correct answer)
- Regression testing
- Acceptance testing
Correct answer: Integration testing
Integration testing verifies that multiple components or services work correctly when combined, catching interface and data-passing errors.
Question 4: A database query inside a loop runs N times for N records. This is known as what problem?
- Race condition
- N+1 query problem (Correct answer)
- Deadlock
- Buffer overflow
Correct answer: N+1 query problem
The N+1 query problem occurs when code executes one query to get N items and then N additional queries for related data, causing severe performance degradation.
Question 5: Which artifact in Scrum represents an ordered list of all features, fixes, and work items the team may work on?
- Sprint board
- Product backlog (Correct answer)
- Definition of Done
- Burndown chart
Correct answer: Product backlog
The product backlog is the single authoritative list of work items ordered by priority, owned by the product owner.
Question 6: What software engineering practice uses automated tools to check code style, potential bugs, and security vulnerabilities before merging?
- Load testing
- Static analysis / linting (Correct answer)
- Penetration testing
- Smoke testing
Correct answer: Static analysis / linting
Static analysis tools examine source code without executing it, flagging style violations, potential bugs, and security issues at development time.
Question 7: A team's Definition of Done requires 'all acceptance criteria met, tests passing, and code reviewed.' A developer marks a story Done with untested code. What should happen?
- The story ships as-is since most criteria are met
- The story is moved back to In Progress until DoD is fully met (Correct answer)
- The product owner approves it anyway
- The test requirement is waived for this sprint
Correct answer: The story is moved back to In Progress until DoD is fully met
The Definition of Done is a formal commitment — a story is not Done unless all criteria are satisfied, protecting team quality standards.
Which branch strategy is best suited for teams practicing continuous delivery with frequent small releases?