add basic to-be-expanded AB testing

Most functions in ABTesting are untested.