The course first clarifies the concept of a null model, the associated null hypothesis and alternative hypothesis, and the significance levels for rejecting the null hypothesis. Traditional testing approaches based on asymptotic theory are contrasted with modern resampling approaches in terms of theoretical foundations and practical implementation. Examples of common and less common test cases show how these ideas can be implemented in practice (in R).