Functional testing is a critical method for software development projects, especially in the Internet of Things (IoT) era where devices are increasingly connected and sending/receiving data. IoT products have various challenges such as sensors, connectivity, security, performance, and data analytics that require planning before development starts. To address these challenges, companies must create virtual devices to simulate real-life environments and use mock approaches for functional testing. The core components of a product need to be identified and tested on local devices and enabled mobile devices. A simulated real-life environment using real devices or simulators can help test the core components, but each device is unique and may require different testing strategies. Cloud platforms that support IoT can also play a crucial role in ensuring quality and security by providing a platform for companies to stand up to real-world situations. The key takeaway is that functional testing for IoT devices will differ from product to product, requiring more test innovation to ensure quality and security.