Integration testing is when you integrate 2 or more units or modules or sub-systems or systems. In the real world the term integration testing is used with 2 meaning, either integration of modules, or systems. End to End testing is where you go from point a to z and you touch various different points on the way there.