Optimal scheduling policies for k-out-of-n systems with imperfect tests