As Square has grown from a tiny startup to a large brand, I am leading our effort to maintain Squares high quality software releases for Register.
Our latest campaign has to deal with automation testing. Delivering a solution that executes a matrix of tests over a matrix of devices with different configurations (screen sizes, cpus, android OS versions and so on).
- Making it easy for our team to write new tests and understand existing ones
- Reduction of manual testing
- Decrease in regressions and gaining confidence
- Localization via screenshots (while tests are running)
- Custom "Variations" that provide execution of tests with different parameters (similar to Parameterized tests but tailored for Square)
- Dealing with flakiness in tests and how to write good automated tests (we are using Espresso)
- Team culture for writing tests
I am the tech lead behind both Android and iOS, I will be focusing mostly on Android but a few examples can be provided for comparison with iOS.
We are tackling this problem head on. We've tried in the past but we feel like we are now succeeding in realizing our goals.
My talk is about brand and quality, how both interconnect and how my primary goal at Square is to have our Register app running reliably for all our customers. Payments has a few intricacies and our team must remain disciplined.
Been working on Android since its beginning. Creator of the first (unofficial) Facebook App called 'Bloo' with a quarter million downloads.
Worked on GoogleTV now dubbed as AndroidTV and been with Square 3 years working on Square Register.
Creator and primary contributor of Picasso an easy to use powerful image downloading and caching library.
Now working on maintaining software quality and brand of Square in Register.