I wish there were more examples how to use feature flags. How would you test a feature flag e.g. Halloween discount. As this probably involves both front-end and back-end code. The only way I can think off how this can be tested is by making a special new user with this feature flag.
But do you now need to test all possible permutations of the flags combinations? If so, how to determine these permutations? Can imagine you test all possibilities every time??
I have an example from a different area. We are developing a batch process that runs multiple stages over multiple hours on a huge cluster producing some kind of numerical results. We also can not deploy to production on a whim, due to regulation. It is impossible to test all developer changes on a full process.
So we put highest risk changes under feature flags/configuration values. If certain things do not work as expected in testing - we disable them with configuration without creating a new build artifact. It is also a common occurrence that another team has to validate numerical results Coming from a certain feature for a while before it is enabled in production.
But do you now need to test all possible permutations of the flags combinations? If so, how to determine these permutations? Can imagine you test all possibilities every time??