Additionally It's very important to realize that most of this work could be done by testing engineers. Specifically: track, reproduce, simplify and automate, test after the fix and regression test all other scenarios. We need to teach testing engineers to use this technique.
Hi! Thanks for an excellent explanation. In my experience the "simplify" and the "find possible origins" steps are actually the same step. The most important outcome of this step is to find what user actions or user inputs lead and don't lead to the reproduction. When this important information is figured out, the simplification comes naturally. An automation ideas usually comes after this simplification is done
I would also add the automation of the development environment creation for the problem fixing. As a developer It's always convenient to come to the station with all the source code already checked out and can be build. Where the problem is already reproduced. When all that's the developer should do is to figure out the root cause, change the code and leave the rest of the work to the testing engineer.
Additionally It's very important to realize that most of this work could be done by testing engineers. Specifically: track, reproduce, simplify and automate, test after the fix and regression test all other scenarios. We need to teach testing engineers to use this technique.
Hi! Thanks for an excellent explanation. In my experience the "simplify" and the "find possible origins" steps are actually the same step. The most important outcome of this step is to find what user actions or user inputs lead and don't lead to the reproduction. When this important information is figured out, the simplification comes naturally. An automation ideas usually comes after this simplification is done
I would also add the automation of the development environment creation for the problem fixing. As a developer It's always convenient to come to the station with all the source code already checked out and can be build. Where the problem is already reproduced. When all that's the developer should do is to figure out the root cause, change the code and leave the rest of the work to the testing engineer.