Role in Company: Product manager
Country: United States
2. Tips for testing value of features
This talk is paired with Quality vs Velocity as part of a conversation track on Quality
Over the past few years, my team has moved from waterfall process to agile and now DevOps. During this journey we have realized that testing itself does not necessarily improve the customer experience so we started to focus on testing value first before correctness. We try to answer the following questions when it comes to test a new feature:
1) What should we build?
This is where I’ve found Behavior Driven Development – BDD – a very powerful approach. It enables to align the team on the definition of what we should build. Once developed, we perform some exploratory testing and deploy the feature in production.
2) Is it worth it?
Now that we have the feature/prototype in the hands of real users we measure wether or not the business assumptions are met. Whenever the answer is no, then just throw away the code together WITH the tests and iterate again…
3) How to automate?
Experiment was successful. Now it is time to invest more in testing to ensure the service is delivered at scale: automate the BDD scripts, do some performance testing…
4) Is it reliable and does it scale?
The critical thing is that while a server may go down, the application can’t. Scale and reliability are the big things, and testing has to be in real time. In production we typically monitor two characteristics: performance and usability. As important, we also have a real-time user feedback (with live chat) to raise issues that might not have been detected before.