Oracle interview question

Explain different design patterns in software development? Explain different types of testing methods?