Experience drives us to be better versions of ourselves. We don’t know what we like or don’t like without having the experience of trying new things, re-experiencing old things, and loving/hating the experience of current things. This can be as simple as traveling to a new country and experiencing the culture, the history, the food. Sights, smells, sounds, tastes, and the feel of a new place can show you that you are happy with who you are or tell you that you need a change. The same can be said about a software application.
When I started out in QA, I had no idea the world that would open up for me. I began with little knowledge of what QA was, or even how to tackle the basic task of testing software. What I did have was an inflated view of my domain knowledge in an Electronic Medical Records application, and past experiences troubleshooting various software and hardware problems. It was easy enough to pick up and understand the structure of testing. It was easy to learn the best practices and apply them and to document a robust test suite. It was enough to get me started, but I needed more, I needed to experience the world before I could become a good engineer.
Going back to the start of my QA career, I was an expert in my companies Medical EMR. I knew everything about how to attest for Meaningful Use (Government Incentive for doctors to use an EMR), I could remotely rebuild a software fax server, I could teach you how to electronically dictate a patient’s chart, and more. What I lacked was the experience of using someone else’s EMR, I knew what our limitations were, and I knew where we shined, but I didn’t know what why these were good or bad. I very quickly realized that I had to get in the grind and figure out what was good or bad about other EMR’s. I had to go into someone else’s software and learn what made them better and figure out how to integrate those qualities in our EMR, and our work. I had to go to my clients and experience why they use it. What makes them happy, what makes them mad, what just drives them nuts. I had to experience these feelings for myself, this wasn’t something I could just read and account for. To fix this problem I spent time at several doctor’s offices and learned how the doctors use an EMR. I literally traded IT work for my personal doctor for office visits, so that I could get experience outside of my regular 9-5.
After spending time working strictly on applications developed for computers, I was given the opportunity to take my experience and knowledge to a company that developed browser-based Customer Experience software that could also be utilized on mobile devices. This gave me my first real foray into testing on Android. It was a whirlwind of new and at first overwhelming information. I reaffirmed something I already knew; people use their phones for everything. They are not going to stop what they are doing just to find a computer. I found that the things I do on my phone are the things that everyone else does as well. We take surveys on our phones, we check emails on our phones, we work from our phones. So, I started to work as much from my phone as possible. I started building surveys and taking them. I learned pretty quickly that what worked for my Samsung Galaxy S4 didn’t work the same on my wife’s Galaxy S4 Mini. If I had that big a problem on the same manufacturer would it even work on other Android devices. I grabbed some LG phones, some Motorola’s and my older HTC phones. I discovered that screen size and native browser could easily present problems in the formatting and use of certain elements and animations. It was a good experience on my higher end S4, but on lower end and older phones that were still heavily in use, the experience was heavily degraded. It became apparent that no phone is created equal and I would have to get familiar with the differences to maximize my testing effort. It was my start in becoming an Android expert. Before long, I knew what manufacturers were going to be problematic, how to predict issues in screen size. I even challenged myself by beta testing new OS versions so that I could have advanced knowledge of problems before a user would ever see it. It was fitting that some of my best and worst experiences in learning about Android came from a company focused on Customer Experience.
Fortunately, I have been lucky enough to work at some incredible companies. Companies that have given me the opportunity to learn, to experience new ways of thinking. Beyond testing, I have been given the ability to shape the products that I have worked on. I have been given the green light to use my experiences, and my knowledge in a way to predict problems and prevent weird and often maddening user experiences. In my latest venture at Anonyome Labs, I was tasked to look at a world that I had never thought of before. I had to take a deep dive into iOS and even MacOS. As much as I have learned about experiencing new things, I never once thought that I would test in iOS and learn how to use the MacOS for testing and documentation. I have always been an Android fan boy, even before Android was Android. I lived in Android. In some ways you can say that I despised iOS. This thought process was more toxic than I knew. Anonyome Labs’ app at the time was called SudoApp, and it was only written for iOS. If I was to be successful, I had to learn, and I had to have hands-on experience. I needed to understand how to use an iPhone, how to navigate, how to tailor the experience to what I needed. It was beyond testing our app, it was a change in perspective. I was used to a back button, I was used to my customized pages, and apps being where I wanted them. I was lost. I remember in the first weeks I turned to my almost 20-year-old stepdaughter. I needed her help to understand how to use my new iPhone. This gave me a plethora of new experiences. I was able to understand why she liked an iPhone more than my Samsung. A back button didn’t matter to her, with a few quick gestures, she was able to accomplish the same thing, and it was seamless and natural to her. She was able to customize her phone, in a way that made her happy and it was efficient for her. Things that drove me mad, were natural for her. I was able to gain the experience of learning how to use the phone, but the invaluable lesson of why my stepdaughter would prefer iOS vs Android. It gave me plenty of insight at the time.
As time moved on, I continued to learn more, and more about iOS testing. Everything from how iOS recovers data via backup and restore, to the improved messaging experience in iOS. All of this was relevant to our app and was needed for me to provide a quality user experience. I also learned that I was very siloed in the way that I communicated with people. iOS has a robust library of apps that can be used to communicate especially where privacy and user rights are concerned. Encrypting data and communication was common among iOS. As I grew more comfortable with iOS, I was able to start looking into other stand-alone apps for communication. Apps that are common to both iOS and Android, or even stand-alone to a specific OS. This gave me even more insight into our own app. During this time, we started to develop the next iteration of our app. MySudo is our flagship app, and has been influenced by the experiences our developers, designers, product managers, and QA testers have had in other apps. It was also at this time that I was able to switch back to Android testing.
My experiences with learning iOS helped me to determine what I liked and didn’t like and apply those learnings that to my testing as well as effectively communicate design changes to our team. I was able to identify behaviors that were standard to iOS but would not work well in an Android users mind. It even prompted me to be able to say, I like how iOS handled it better, let’s try it here. Through my experiences learning how to use iOS, I became a much better tester on Android. I learned that I can lean on iOS and mimic behaviors, or I can flat out reject the way iOS does things and expand on how Android does it better.
Ultimately, I am still an Android fan, and will likely always be a fan of Android. My experience learning how to use an iPhone gave me much needed insight on how to help make a more robust app for Android. It gave me the experience to know how someone from a younger generation will use an iPhone, and potentially make our app appeal to a much larger crowd. Experience is key to understanding how and why people do what they do. Looking outside the box and ensuring that I experience how other similar apps function, has become a mainstay to how I test. It has led and will continue to lead me to be a more robust tester. My experiences has shaped who I am, and in turn will shape the apps that I help build in the future.