Acceptance testing between iOs and web app with cucumber
I have an iPad application which sends some data to our web application. With this data, you should be able to do different kind of things. We have cucumber tests for the web application (Using cucumber, capybara and selenium) and few others for the ipad application (Using Frank). I'm not sure how to approach testing both things at the same time. The ideal thing would be to put them both together as a cucumber test, but it doesn't seem trivial to me. On the other hand, simulating the data sent from iPad would be easier, but not as reliable. How do you test applications that mix both web and ios application?
This is the kind of scenario where I'd use a mix of automated and manual testing - manual testing using the iPad, because one thing GUI automation always does is simulate the human inputs. I've found that simulation often has crucial differences from actual input. For automation, the crucial question here is where the data sent from the ios app is stored. If you're using a database - or any other kind of external data store - you don't need to do unified testing if these circumstances apply: You're starting your web and ios tests with a known database state, and; You're checking the data in your database after the test (or tests) are complete. With database validation as part of your tests, you know that the Frank tests have successfully sent data, and you can then use a database with that data as the baseline for your web application tests. This is the method I use to deal with testing across multiple applications regardless of what they're running on or what automation framework I'm using. If your applications don't use a database or external data store but rely on live communication things get much more complex - I wouldn't try to offer suggestions on that without more information about how your application architecture is configured.