The growing complexity of software systems requires the development of new methods and tools to design and test software systems characterized by high variability in the space of possible functional configurations and possible release architectures. The objective of this doctoral thesis is to explore new approaches to testing, verification and validation of this type of complex systems involving the joint use of model-based and artificial intelligence techniques such as optimization, planning and machine learning.