Non functional testing techniques