I recently came across a report by Geoff Huston, Author & Chief Scientist at APNIC (Asia Pacific Network Information Centre) from the recent Apple Developers Conference which mentioned that Apple are adding network emulation capability to their Mac OSX platform, allowing a developer to create a personal Wi-Fi hotspot to test an app to see that it works.
Seeing Apple embracing network emulation technology is very heartening and absolutely endorses the fact that it is critical that applications should to be integration tested by developers prior to release to the QA team. This ensures that they work properly over networks but it only goes so far; While these tools are very useful at the development stage, they don’t offer much value once you are outside the Apple development environment. When you are in the full QA Testing phase and the software is now running on the device itself, rather than in the development environment, you need a separate network emulator that can be used to check how well it performs in a variety of Wi-Fi conditions – good connections, bad connections, 3G/4G, WLAN, mixed or other networks – in order to understand if performance is going to be acceptable, and the app is even going to work, in real-world circumstances.
But, as they say, there’s even more to it than that; Most app developers are working on products that will be expected to work “cross-platform” i.e. on Apple iOS, Android and Windows (Mobile) so they are going to need a tool that creates a target network environment for each of these, rather than one that works solely with one particular operating system. This is where an O/S independent network emulator is going to be a must. Having industry giants like Apple recognize the value of network emulation and embedding it into their development platforms is encouraging but it stops well short of anything like a real world test of the app on the target device offered by separate network emulators.