Mobile Dev+Test 2016 Recap
Mobile Dev+Test 2016 was a great experience all around. I learned a ton and even had my mind blown a couple of times in ways that may well revolutionize my work in the software test engineering space. My first ever tech conference talk went surprisingly well. I left the conference happy to come home to my family and my job, but also freshly appreciative of the wider software development community and eager to keep contributing.
What follows is a somewhat brief recap. I may expand on certain points in the coming weeks.
So How’d That Talk Go?
It went well! I ended up being quite a bit less nervous about it than I thought I’d be. Perhaps I’m not terrible at public speaking after all. My words appeared to be well-received: mobile UI automation is a struggle for a lot of software orgs, and my insights were even more helpful to folks than I anticipated. What I really enjoyed the most, though, was the Q&A at the end of my talk where several test engineering practitioners shared insights and I just got to listen and learn. The whole experience really deepened my appreciation for software development and testing communities that exist outside of one’s own workplace.
Some items for your perusal:
The all-important slide deck. The animated GIF of the test recorder on slide 11 isn’t going to translate for you, but it was pretty awesome in person. You just had to be there, I guess.
The accompanying sample app: I wrote this as a complement to my talk. It’s meant entirely to showcase the testing concepts from my talk. The app itself is, in some places, not terribly well designed or implemented. But it is just good enough as somewhat of a playground for the XCTest UI automation tool. I may even improve upon it in the near future.
I think every session I attended had at least one helpful, tangible thing I could apply to my work. That in and of itself is a compliment to the overall excellent program that Techwell put together. I could definitely highlight some sessions that stood out though:
- Apple Chow and Bian Jiang from Uber delivered a very good talk about Octopus, a tool they’ve engineered to meet their rather specific and complex inter-app testing needs. I love seeing people in the testing space use raw technical innovation to move the field forward, and I’m happy to see Uber so open to sharing their work. I also learned at this talk that Uber drivers rate riders in the same fashion that drivers are rated by the riders. So don’t be a jerk to your Uber driver.
- Satyajit Malugu from GoDaddy gave an excellent talk about getting testing involved early and often in the mobile app development process. This is, of course, no different fundamentally than the need and benefit of testing early and often in any other software development platform. But, for several reasons (see slide 13 in particular), mobile development seems not to feature good pyramid-based test automation practices. This is something I get passionate, and occasionally annoying, about at my day job. I’m very encouraged to see other folks tackling this problem and “taking back the pyramid” in the mobile space, especially at prominent companies like GoDaddy.
- I had never met Jason Arbon before - he’s definitely somebody I’ll be paying attention to in the mobile development and testing realm. He was quite busy at this conference, and everything he presented was awesome.
- Arbon’s 1-day tutorial on mobile test planning was a real practical help for me and, I’m guessing, other testers struggling to form even a quasi-satisfactory plan for testing mobile apps. He even went as far as to develop and share a web-based tool that can help one formulate such a test plan. It’s opinionated in the sense that it’s based on his views and observations, but he’s been around and knows some things, and I think we’d do well to listen. It’s easy to get lost in the weeds in software testing because there are always so many potential roads to walk down. Tools like this can really help one to focus on what really matters for the particular app your testing.
- Arbon’s big idea (the one that impacted me the most anyways) was the potential benefits of applying machine learning and AI to mobile app testing. He mentioned this during the tutorial and also quite a bit during his opening keynote. He contended that, because an app’s complexity increases exponentially while a test team tries to keep up by implementing linear increases in test coverage, automated feature and regression testing is a losing battle. Furthermore, given AI capability that already exists and the relatively easy and cheap availability of on-demand computing power (just give Amazon your credit card, basically), machines can do an awful lot of “did we break something?” testing better than humans can, to the degree that quite a bit of UI test automation code might be able to be eliminated entirely. The case seems fairly convincing on its face. As with everything in tech, we’ll see how it pans out. But it’s worth noting that this isn’t empty bluster - the man has real skin in the game. For my part, it’s definitely something I’ll be exploring further in short order.
- Mobile has won, at least in the sense that the apps most likely to have impact on how we live our lives will have significant mobile and IoT aspects to them. This was probably not news to all that many conference attendees, but I still spend quite a bit of time in the web space. So I’ll be both maintaining and expanding my skillset in mobile world.
- Mobile has won, but a good 10,000 years of innovation went into it. James Dempsey’s keynote walked us though the innovations necessary for us to even know what day it is and be able to produce slick aluminum casing for our devices. Gratitude, in other words. But also, code tunes.
- Because mobile has won and is likely to keep on winning, development teams need strategies for safely trying out new things without risking the quality of real products. Ellen Shapiro gave a great keynote that talked about some of those strategies.
- Testing is the hardest problem in computer science, and nobody has it nailed yet. So we’re all struggling together.
- The conference was very well organized and executed. I especially appreciated the emphasis on gathering feedback on every session. I would happily attend and speak at a Techwell conference again based on this experience.
- San Diego is a decent city. I was expecting to be relieved to be in sunny weather given how things usually are in the Seattle area this time of year. In fact, the weather ended up being pretty much the same in both places this week. I found San Diego to be enjoyably walkable and also with good transit options to quickly get out of downtown when desired. I ate pretty well this past week: my favorites were Stacked and La Puerta.
- TSAPre is hardly of any advantage to you in the San Diego airport. But on the flip side, it’s also not a terribly large airport so you’re unlikely to be in the TSA line for long to begin with. I was still pretty grumpy about having to take my shoes off and BatMac and HeisenBook out of my backpack. A little over a year having TSAPre and I’m already spoiled.