https://medium.com/@june_dang/understand-the-fundamentals-of-tdd-ddd-and-bdd-a-comprehensive-guide-to-these-key-software-d499d05a3d4b