Testing is an important part of maintenance. But few people think about the maintenance of engineered systems until a failure occurs. Maintenance strategies have typically consisted of a combination of time-based and run-to-failure techniques. In other words, these strategies relied largely on human observation methods to detect maintenance failures or used empirically captured data to predict in a general sense when a failure might occur. Those approaches to maintenance are changing with the growth of smart autonomous systems in the Internet-of-Things (IoT) world. For example, factories are now using near real-time sensors, processors, and edge-cloud computing to determine when bearings will fail on a conveyor-belt production chain. This approach is known as conditioned-based maintenance or CbM.