What is TestNG? Why do we need TestNG in Selenium?

Can anyone please explain me what is TestNG and why do we need TestNG in Selenium.