What the methods, procedures & challenges of Functional Testing?