pre-functional testing vs functional testing