Executing Testing of User Stories
The approach you will use to test user stories is partially dependent on the testing framework your company or project uses. For instance, if you are applying Test-Driven Development (TDD), the test logic is coded before the program logic. The first test in a TDD cycle is expected to fail, because it is run without any data or code. The developer then augments the program logic and tests iteratively until all the code is written and runs through the test framework successfully. TDD tends to be quite technical and code-related, which is why some companies prefer BDD.
Business-Driven Development (BDD) is a testing framework that phrases the testing in terms that make sense to the customer/user, rather than the development team. This is useful in that the customer base has a better understanding of what is being tested and whether it fits their expectations.
There is also ATDD – which is Acceptance Test-Driven Development. This is a blend of TDD and BDD, and is focussed on meeting the acceptance criteria. The test cases are more technically-oriented than BDD, but still are transparent enough for customers to understand and evaluate.
There are quite a few automated toolsets that are appropriate for these types BDD framework.
Whichever framework is selected, the next question is how many tests should be run and how frequently? The answer is as many as it takes. This is why an automated testing option, or at least a test script is necessary, because the testing is iterative and regressive. The fact that a portion of code worked in an earlier test run does not mean it can be left out of the testing – the latest changes to code may affect earlier code, even if the relationship between the two is not apparent. Apart from testing a user story, it is also necessary to test all the stories completed to date within a sprint, to ensure that errors have not crept in. If there are dependencies on code written during previous sprints or there are multiple scrums, it is necessary to conduct regression testing for all completed code. This is why automated testing is required in order to reduce the testing overhead where manual testing is done.
Recommended Further Reading
The following materials may assist you in order to get the most out of this course:
Course Contents
Section 1: Agile Project Management
Section 2: Using the Agile Manifesto to Deliver Change
Section 3: The 12 Agile Principles
Section 4: The Agile Fundamentals
Section 5: The Declaration of Interdependence
Section 6: Agile Development Frameworks
Section 7: Introduction to Scrum
Section 8: Scrum Projects
Section 9: Scrum Project Roles
Section 10: Meet the Scrum Team
Section 11: Building the Scrum Team
Section 12: Scrum in Projects, Programs & Portfolios
Section 13: How to Manage an Agile Project
Section 14: Leadership Styles
Section 15: The Agile Project Life-cycle
Section 16: Business Justification with Agile
Section 17: Calculating the Benefits With Agile
Section 18: Quality in Agile
Section 19: Acceptance Criteria and the Prioritised Product Backlog
Section 20: Quality Management in Scrum
Section 21: Change in Scrum
Section 22: Integrating Change in Scrum
Section 23: Managing Change in Scrum
Section 24: Risk in Scrum
Section 25: Risk Assessment Techniques
Section 26: Initiating an Agile Project
Section 27: Forming the Scrum Team
Section 28: Epics and Personas
Section 29: Creating the Prioritised Product Backlog
Section 30: Conduct Release Planning
Section 31: The Project Business Case
Section 32: Planning in Scrum
Section 33: Scrum Boards
Section 34: Sprint Planning
Section 35: User Stories
Section 36: User Stories and Tasks
Section 37: The Sprint Backlog
Section 38: Implementation of Scrum
Section 39: The Daily Scrum
Section 40: The Product Backlog
Section 41: Scrum Charts
Section 42: Review and Retrospective
Section 43: Scrum of Scrums
Section 44: Validating a Sprint
Section 45: Retrospective Sprint
Section 46: Releasing the Product
Section 47: Project Retrospective
Section 48: The Communication Plan
Section 49: Formal Business Sign-off
Section 50: Scaling Scrum
Section 51: Stakeholders
Section 52: Programs and Portfolios