I work on several projects were the client wants basically the same application implemented in both iOS and Android. At the end of the day, you have to test both - they are distinct pieces of software, just wondered if anyone has found any tips / tricks here. We've started doing client acceptance testing with one platform, then using this as a baseline for the 2nd platform - this kinda though turns into a 'spot the difference' competition.
What I do when testing the same code under 4 different OS's is to identify the common parts, then I build a plan where each OS is tested for it's unique part plus some of the the common part, making sure everything is covered at least once. From time to time we rotate the tests between OS's or repeat some test on a different OS.
All of the above must be planned carefully using some kind of risk management and after consulting with someone who knows the code and differences between OS'
You'll want to create configurable fixtures / tests, so you can you the configured parameters to say, e.g.,:
This allows you to reuse automated tests and fixtures.
There are screenshot tools that might be able to help you . . . I don't know what they are, but I know that they are out there. You might want to create methods that hide the environment dependencies for UI testing, e.g.:
Then you can write UI automation code like:
e.g., mostly environment independent.
Otherwise, do as much functionality testing at the API level as you can (where environment is less key to test structure) to reuse tests. You will still need your E2E tests and probably some manual UI tests, but this should increase test reusability. Then you just make sure you have the right configuration files set up for your different environments that you test on, and test on both environments.
BTW, I haven't dealt with hugely different OS's before, just different versions of Windows, so I could definitely be missing some subtleties that arise with this combination of OS's. This worked for us, even with some annoying differences in OS's (XP doesn't have admin mode, Vista does, some UI changes, etc.).