Carly is a senior software engineer at Morgan Stanley, specialising in front-end web development. When she is not building financial software she is an agile evangelist, UI enthusiast, regular blogger on her personal site and Medium and avid tea drinker.
Testing the workflow of any application can be challenging to automate. Unit tests are great to perform isolated testing on a given frontend component. However, it proves difficult to test a full screen workflow across components, nevermind the interactions taking place across the technology stack.
End to end testing frameworks provide an opportunity to address such challenges. However, even though such obstacles are overcome, the testing format adopted by e2e testing frameworks isn’t really stakeholder friendly. It can take time for new developers to understand the workflow and tests, especially if they are new to e2e testing.
In this talk I shall share my experiences on combining Behaviour Driven Development specifications with e2e testing frameworks. I'll show the power of combining these techniques using Angular, Cucumber and Cypress. Finally, I’ll share some of the best practices I have learned along the way, and discuss the options you have when looking to test your application end to end.
How do we start sprinting effectively? For those of us practicing Scrum, there is great focus on the cycle of sprinting and continuous improvement. How the journey progresses regarding deliverable increments and continuous improvement is an experience many of us share. However, how we start a new team delivering quality software every iteration is something that is less well known. As is how to reset a team when faced with significant changes to their dynamic.
Sprint 0 is a term unfamiliar to many, including myself when I started this journey. Yet it is a useful construct to help prepare the blocks for teams looking to start sprinting effectively. Here I share the lessons learned on my journey going through my first Sprint 0. I’ll explain how you can use this technique to establish new, or reset existing teams, and what elements it should include to help team members eject themselves from the starting blocks of sprint 1 and race to the finish line.