
On the eve of the Heisenbug conference, Dan Quillar, the creator of the open source Appium, agreed to answer our questions regarding mobile testing. Prior to that, Dan headed the testing department at Shazam (London) and Zoosk (San Francisco), and previously worked on developing Microsoft Outlook for Mac and other products from the office line.
Dan is a supporter of open source solutions and software testing. Bachelor of Computer Science (Computer Science School at Carnegie Mellon University, Pittsburgh).
')
- If we are talking about mobile testing, could you tell us in more detail why you decided to choose this particular field? Have you started working in mobile yet in Microsoft?
- At Microsoft, I worked on the Office suite for the iPad, but at the end of my career there. At that time, we used another framework to automate testing. I created Appium when I started working at Zoosk, a dating site in the USA. We had a very popular mobile application, but there was nothing to automate testing, so I studied what was on the market at that time and came to the conclusion that no framework can satisfy my needs. What to do in such situations? Make your own.
About programming on mobile devices
- If we consider the development of programming on mobile devices, what stages could you single out? Well, what was at the very beginning, what was the next step in development, do you think that it has already taken place, or is there still room for growth?- The first step I would call the opening of Apple "gate" AppStore. At first, of course, there was the Wild West and some primitive tools. After a few years, developer tools (XCode and Android Studio) “infused” and were able to meet most of the needs of programmers. It is difficult for me to distinguish between some specific phases in the development of these tools, but I would separately note that ARC for iOS has opened up new opportunities, as well as brought new people with me, just like Swift, in fact. As for Android, I would most likely break these phases according to the major versions of the Android SDK. They are almost the same.
- What are the main problems of mobile development at the moment?- I would say that testing automation. Some companies successfully cope with this, but most still have room to grow. I would really like Appium once to reach the level of Selenium, where the vendors themselves write additions, this would lead to greater stability for all. Win-win situation.
Appium Features
- If we are talking about Appium, then what was the main reason for its appearance? Indeed, at that time there were already different frameworks. Isn't emulator enough?- Appium closes several needs that could not be solved using the vendor's SDK. The first is language independence. Other frameworks require the use of specific languages ​​(in the case of iOS, it is even a language that is generally different from the development language), which made it impossible to automate the testing process, since even you had to contact other experts to write tests.
Appium created a common framework for iOS and Android, which allowed sharing code. Well, it should be noted separately that Appium packaged this all into a familiar model from Selenium real-time server, which in principle is a standard for web automation, respectively, this led to a small cost of implementation and use by developers.
- Do you know about the experience of using Appium in Yandex - one of our IT leaders? These guys even wrote a very detailed report on the application, including a detailed description of all the problems encountered, however, I will be honest - it was even earlier than versions 1.0 and 1.1- I will say more - I even met with Yandex programmers in St. Petersburg this year, and they showed me how they are doing with our framework. I'm afraid that I have no right to say this in an interview, but these guys use our framework to the fullest, and yes, we successfully communicate with them on all the issues they report to us.
- By the way, they separately noted performance problems on large volumes of test data - how is it going with now? Did you achieve any success in solving the problem?- Version 1.0 has already become many times faster and more stable, in principle, the same can be said about version 1.5 applicable to 1.0. On the one hand - yes, everything was better, on the other - our hands are tied by the lack of support from Apple. They themselves (Apple) often break their SDK for automation, on which everything is built on us, and since this is a closed source, we are completely dependent on when and how they fix it.
About the market of mobile applications
- If we are talking about the fact that more and more people are switching to using only mobile phones and outright overloading the market of mobile offers, do you think that can be considered the best strategy - release the application as quickly and systematically as possible, improve and clean it of bugs, or test it thoroughly, taking into account all possible problems, but at the same time run later?- Five years ago, I would boldly say - to run and the faster, the better. In 2008, it was possible to write a complete mess and make millions on it, but now the market is very, very demanding. It seems to me that now it is also equally important and to respond quickly to user comments, keep abreast, quickly edit everything, so to speak, also a quick revision cycle. Half-finished v1 (first version) in the modern mobile market simply will not survive.
Opensource is a great way to work.
- A little personal question - why do you support the ideology of opensource?- I support this ideology because it is a great way to work. Many people have the same problems that do not relate to their work directly, but they need to be solved. It is worth all to get together and make a little effort, as it turns out a great tool, which is also a pleasure to share. This allows small companies to exist, especially those that are just entering the market, and to get all the necessary technical solutions, without having to pay huge money.
Large businesses can afford to pay for MSSQL because this, in turn, brings them greater profit. And public organizations or startups are forced to invent some workarounds to solve this problem for free. For them, a 10,000 USD license is pointless - they don’t even work with such amounts in principle. I believe that to provide wide access to different technical solutions is the right way, because the more choices each person has, the more opportunities he has to achieve something, to realize something. Therefore, in general, I believe that the availability of open source solutions is an excellent alternative to paid ones, although a paid solution does not necessarily mean bad.
- Well, the last question - why did you choose this conference? Could you evaluate our developers and how they look in the global market?- I always like to meet and communicate with different people - from other countries, with other life experiences. I have already spoken in Russia before, and I can say that there are very qualified developers here.
We have already discussed above that your guys from Yandex use our framework so comprehensively that this is almost the only example of this kind in the world. So I come here not only to share my experience, but also to get a new one.
- Well. Thanks for answers!
And to expand the horizons in the field of testing, we advise you to attend the conference
Heisenbag 2016 Moscow . By the way, at the conference it will be possible to meet with Dan, listen to his report, and then personally communicate in the discussion area.
List of reports: