Changing Software in a Changing World: How to Test in Presence of Variability, Adaptation and Evolution?