<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&#39;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&#39;s difficult to do it other way than from UI and using real browser. I don&#39;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>