Framework for functional testing