<div dir="ltr">Hi all,<div><br></div><div>Wei recommended me to start further discussion about viability of making E2E tests for regression testing of our SDKs. There was some debate around it, so I'm putting it also to the mailing list.<br><br>I have done Appium <a href="https://github.com/aerogear/aerogear-sdk-e2e-tests/pull/1">UI test</a> of the example app included in AG Android SDK <a href="https://github.com/aerogear/aerogear-sdk-e2e-tests/pull/1">[1]</a>. It has been done for Auth functionality. This test checks happy path of login and logout. </div><div><br>Is it worth doing it this way? Is it worth doing it at least for some functionality? <br><br>My take TLDR:<br><br>Pros:<br>+ it tests real end-user/developer usage of the SDK in the real device environment</div><div><br></div><div>In the middle:</div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">= it requires running emulator or connected device to the test server</span><br></div><div><br>Cons:<br>- test stability (it can go wrong because of load on the test server)</div><div>- test speed<br></div><div>- UI change volatility can break the test - this is partially avoided by using <a href="https://martinfowler.com/bliki/PageObject.html">page objects [2]</a> pattern</div><div><div><br>I think the real environment is clear benefit, for OpenID authentication, it's difficult to do it other way than from UI and using real browser. I don't know if this is true for other functionality. But writing tests at least for happy paths can be beneficial.<br><br>refs:<br>[1] <a href="https://github.com/aerogear/aerogear-sdk-e2e-tests/pull/1">https://github.com/aerogear/aerogear-sdk-e2e-tests/pull/1</a><br>[2] <a href="https://martinfowler.com/bliki/PageObject.html">https://martinfowler.com/bliki/PageObject.html</a></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><p style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>VOJTĚCH</span> <span>SÁZEL</span></p><p style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><span>SENIOR SOFTWARE ENGINEER, RED HAT MOBILE</span></p><p style="font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px" target="_blank">Red Hat <span><br><br></span></a></p><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><p style="font-size:10px;margin:0px;color:rgb(153,153,153)">Remote Czech Republic</p></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"></span><p style="font-family:overpass,sans-serif;margin:0px 0px 6px;font-size:10px;color:rgb(153,153,153)"><span style="margin:0px;padding:0px"><a href="mailto:vsazel@redhat.com" style="color:rgb(0,136,206);margin:0px" target="_blank">vsazel@redhat.com</a> </span> <span>IM: <span>vsazel</span></span></p><table border="0" style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"><img src="https://www.redhat.com/files/brand/email/sig-redhat.png" width="90" height="auto"></a></td></tr></tbody></table></div></div></div></div></div></div>
</div></div>