Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

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.

share|improve this question
    
possible duplicate of What are some tools for testing Mobile web apps? –  Bruce McLeod May 13 '11 at 10:41

2 Answers 2

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'

share|improve this answer

You'll want to create configurable fixtures / tests, so you can you the configured parameters to say, e.g.,:

if(config.environment.Equals("iOS")){
    //do this thing (e.g., interact w/ UI button)
}elsif(config.environment.Equals("Android)){
    //do this slightly different thing (e.g., interact w/ slightly different UI button)
}

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.:

public void ClickLoginButton(){
   ... //use a statement like the if-else above in here
}

Then you can write UI automation code like:

public void Login(string username, string password){
    EnterUsername(username);
    EnterPassword(password);
    ClickLoginButton();
}

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.).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.