Understanding the test automation pyramid and BDD principles