Skip to main content

Tester GIF roll pt 4 (Young Frankenstein Edition)

When you talk to the platform tech lead for your project about how to coordinate what gets automated with what is tested manually and you're pretty sure he's convinced the manual testers treat each new build all like...
When you haven't participated in the sprint demo phase of your team's bi-monthly review ritual and they suddenly ask for a demo of the test automation project and you're all like...
When the senior manager suggests contrary to your professional advice that the right approach is to just get something running on this new project, even if you know it is broken, because you'll magically have time to refactor it later and do it right, so that you can just show some pretty graphs and you're all like...
When your new project is so stuffed full of libraries for the sake of libraries that your debug build is failing on the dex limit, forcing you to ask the developers to make adjustments and they come back with a solution that you just KNOW is going to break all your automation (cough, MULTI-DEX) but you try to listen politely anyway so you're all like...
When you're pulled off of one project just before making a breakthrough on a critical piece of the harness only to be put on another project that has no framework and will ship in a couple months but your manager asks you to make the best of it anyway but you're all like...
When your team lead sees that you've quadrupled the device coverage in your stress tests in a single day and is thus very impressed because he doesn't know about the clone job from existing job feature on Jenkins and you're all like...
Then as you're looking into a potentially blocking conflict between your automation framework and the client app's dependency injection framework, you suddenly realize you might not have enough smoke and or mirrors for the next iteration's demo, you start to formulate what your Plan B will be to fill your time so you're imagining yourself all like...

Comments

Popular posts from this blog

UiAutomator and Watchers: Adding Async Robustness to UI Automation

"I'm looking over your shoulder... only because I've got your back." ~ Stephen Colbert After my recent UiAutomator review a user brought up an important question about the use of UiWatcher. The watchers serve as async guardians of the test flow, making sure the odd dialog window doesn't completely frustrate your tests. Having a tool that automatically watches your back when you're focused on the functional flow of your tests is awesome. 100% pure awesomesauce. Since the API documentation on watchers is scant and the UI Testing tutorial on the Android dev guide doesn't cover their use in depth, I figured I should add a post here that goes over a simple scenario demonstrating how to use this fundamentally important UI automation tool. In my example code below, I'm using uiautomator to launch the API Demo app (meaning run this against an Emulator built in API level 17 - I used the Galaxy Nexus image included in the latest ADT and platform tools).

UiAutomator.jar: What happened when Android's JUnit and MonkeyRunner got drunk and hooked up

"Drunkenness does not create vice; it merely brings it into view" ~Seneca So Jelly Bean 4.2 landed with much fanfare and tucked in amongst the neat new OS and SDK features (hello, multi-user tablets!) was this little gem for testers: UiAutomator.jar. I have it on good authority that it snuck in amongst the updates in the preview tools and OS updates sometime around 4.1 with r3 of the platform. As a code-monkey of a tester, I was intrigued. One of the best ways Google can support developers struggling with platform fragmentation is to make their OS more testable so I hold high hopes with every release to see effort spent in that area. I have spent a couple days testing out the new UiAutomator API  and the best way I can think of describing it is that Android's JUnit and MonkeyRunner got drunk and had a code baby. Let me explain what I mean before that phrase sinks down into "mental image" territory. JUnit, for all its power and access to every interface, e

Run-As Like the Wind: Getting private app data off non-rooted devices using adb run-as and a debuggable app

"You're some kind of big, fat, smart-bug aren't you?" ~Johnny Rico, Starship Troopers (1997) One of the most important things about writing bugs is making them descriptive but concise. Screenshots, video, debug logging, and hardware snapshots are all fairly standard or available to Android testers these days and can save you enormously on text when communicating what constitutes the bug. Sometimes though, the app gets into a weird state due to some transient data issue where you may not own the API or the complexity with forcing the app data into a certain state is prohibitively high. In those cases it is very handy to directly inspect the data the app has in its own directories. Getting at this data is trivial on emulators and rooted devices but due to file system permissions, this data is otherwise completely private to the app itself. If you're like me, you tend to test using devices rather than emulators and you probably prefer not to root your devices sin