DB Transaction lock & how to handle deadlock in Golang TDD (Test Driven Developement) we write test to make our current code breaks then we improve the code until the test pass