CT-IoT: a combinatorial testing-based path selection framework for effective IoT testing