What is your understanding of software testing techniques such as unit, integration, and system testing?