Explain the difference between integration testing, regression testing, and acceptance testing, with examples of when you would execute each.