Is there an A / B testing framework that uses SCM branches?

I have little experience testing A / B; but from what I saw, it seems that the standard approach to testing A / B is to introduce some conditional logic into the application code. This can be difficult to implement correctly (depending on the complexity of the test) and requires additional work for both setup and cleaning.

I was wondering: are there any frameworks or approaches to testing A / B that simplify issues using the Git branches? I foresee something at the level of load balancing, which directs half the traffic to the server on which the "master" or "default" is deployed, and the other half to the server with the "experiment". Thus, the code itself can always be completely agnostic of any A / B tests; and, apparently, the action of choosing A or B for full deployment would be a simple flip of a switch.

I am sure this would not be trivial for the proper setup. But still I wonder if this is possible, and if in fact it has already been done.

+4
source share
1 answer

it is relatively easy to build and definitely doable. you need to implement a deployment system in which you deploy all branches, starting with "ab_ *" for example, to different folders on your servers, and then at some point in your code you can decide which folder should be included in the actual session user based on your actual test. This is not a "framework", it is a simple architecture design pattern that you must add to your own system, I did the same in production before.

0
source

All Articles