Introduction
Laymen explanation
Technical explanation
Selenium is a portable software-testing framework for web applications. Selenium provides a playback (formerly also recording) tool for authoring tests without the need to learn a test scripting language (Selenium IDE).
It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, including C#, Groovy, Java, Perl, PHP, Python, Ruby and Scala.
Reference
https://www.quora.com/What-is-the-difference-between-QTP-and-Selenium-automated-tools
https://en.wikipedia.org/wiki/Selenium_(software)