Mobile automated test
This is a modal window.
Das Video konnte nicht geladen werden, da entweder ein Server- oder Netzwerkfehler auftrat oder das Format nicht unterstützt wird.
Formale Metadaten
Titel |
| |
Serientitel | ||
Anzahl der Teile | 22 | |
Autor | ||
Mitwirkende | ||
Lizenz | CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported: Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben. | |
Identifikatoren | 10.5446/42768 (DOI) | |
Herausgeber | ||
Erscheinungsjahr | ||
Sprache |
Inhaltliche Metadaten
Fachgebiet | ||
Genre | ||
Abstract |
|
ownCloud conference, 201618 / 22
1
7
10
11
13
16
18
20
22
00:00
Mobiles Internet
00:12
SoftwaretestProgrammierumgebungWinkelMobiles InternetApp <Programm>SoftwaretestProgrammierumgebungAutomatische HandlungsplanungComputeranimation
00:26
Attributierte GrammatikFormale SpracheProgrammierspracheSchaltnetzMAPBenutzeroberflächeSoftwaretestProgrammierumgebungTaskBildschirmmaskeDifferenzenrechnungGruppenoperationMaßerweiterungMereologiePhysikalisches SystemProjektive EbeneTreiber <Programm>ZahlenbereichVersionsverwaltungReelle ZahlEinflussgrößeMatchingProzess <Informatik>Zusammenhängender GraphAbstraktionsebeneRepository <Informatik>Ein-AusgabeBefehl <Informatik>Framework <Informatik>PunktwolkeOpen SourceSichtenkonzeptEndliche ModelltheorieDifferenteSystemplattformTouchscreenMultiplikationsoperatorRechter WinkelVirtualisierungBenutzerbeteiligungNetzbetriebssystemSuite <Programmpaket>Humanoider RoboterSoftwareentwicklerApp <Programm>EinsMAPSoftwaretestGruppenoperationMaßerweiterungProjektive EbeneTreiber <Programm>VersionsverwaltungAppletBefehl <Informatik>GoogolOpen SourceEndliche ModelltheorieDifferenteTouchscreenDienst <Informatik>Humanoider RoboterMobiles InternetSoftwareentwicklerComputeranimation
08:34
ComputeranimationTafelbild
08:46
Computeranimation
Transkript: Englisch(automatisch erzeugt)
00:12
Good afternoon to everybody. Now the topic of this will be automated testing in mobile environments.
00:21
My name is Jesus and I work as QA engineer for the angle of mobile apps. So in this talk we have three different parts and short introduction. After that I will talk about a couple of automation tools that will be a human And at the end, a short topic about device forms.
00:43
So it's important to say that this talk will be focused in UI tests, not another kind of tests. So we will start with introduction. As you already know, all the use of the mobile devices is based on gestures, gestures that we perform over the screen of our devices.
01:02
So the UI testing will try to make automatically the same gestures that we do using the screen. For that we have tools, environments and frameworks that reproduce these gestures. So what do we win with automated testing? Why is it good for us, automated testing?
01:22
Because we can do problems. So we can execute our test suites all the time we want. We can run all of our tests to detect as soon as possible all the problems or different situations that can be detected by the test suites.
01:43
The problem is detected, the assist is to be fixed. They are also more comfortable to execute. So all the automatic processes can be triggered by another automatic processes. So it's not needed a person to launch the test. It's faster.
02:01
That's obvious. All automatic processes have to be faster than the manual performance of the same processes. And they are more reliable because testing is a task that's become repetitive and in repetitions and iterations, the automatic processes are more reliable than the persons or people that can do mistakes when they do several times the same task.
02:26
So we start with the automation tools. The first one is Apium. Apium is perhaps the best popular and known UI automating tool for testing. It's an open source project.
02:41
It's developed in JavaScript and it's an extension of Selenium. Using the Apium driver instead of the Selenium Web driver, used for web environments. The main feature of Apium is that it fits with a lot of languages. Like that one. Java, Python, PHP, JavaScript.
03:02
It's very probable that your favorite language is supported by Apium to develop your test over your mobile app. And also the test can be run in different kinds of devices, Android and iOS. So we can conclude that Apium gives us a very high abstraction level.
03:22
Sorry. And we see the Apium engine make us to have separately our test develop at the left and the devices at the right. They are completely independent so we can choose our best combination to our project
03:42
or our develop. So we can summarize that the best feature of Apium is the versatility. Let's go with another one. With Espresso. Espresso is also an open source project.
04:01
Also the same by Google. But only for Android apps. The tests in Espresso are embedded in Android Studio. The most known tool for developing Android. And fits 100% with Android development. How do Espresso work?
04:21
Espresso works in these three kinds of statements. Measures, actions and assertions. The measures search for a UI component using the attributes. Once the component is found, the action can be performed over this component.
04:42
For example, if it's a button, you can perform a click automatically. And once the action is performed, you can check with an assertion the final status of the UI to check if the test is passed or not.
05:01
Here you can see a basic statement that you can see in Espresso problem. The view refers that we are working on the user interface. The match search for the component. Now the action at the end. The assertion all in the same statement. So, we can summarize that differently.
05:22
For APM, the best feature of Espresso is the efficiency. So, it fits completely with a framework. It's not so versatile, but very efficient. So, how are we dealing with these frameworks in Android?
05:45
For Android, we have checked both of the frameworks. But we have decided to start to work with Espresso. Because the test runs faster. And because the development is easier.
06:02
So, we started to work with that. And in the side, our mates have started to integrate the APM with Jenkins. So, this is open source.
06:24
So, whoever wants can contribute with us. For example, in Android, everywhere who can clone the Android GitHub repo can see an Android test folder in which the test can be developed in Espresso.
06:46
Finishing tips about device forms. At this point, I have talked about frameworks, about language, program languages. But all these tests must be run in devices.
07:02
In real devices, virtual devices, but in devices. In the world exists hundreds of different devices, models, vendors, hardware, operating system versions. So, the combination of different possibilities to check is very, very huge.
07:22
For that, we have the device forms. A device form is a platform that supports a huge number of devices. With different kinds of devices, Android, iOS, et cetera. Different models and vendors and also different operating system versions.
07:40
I have selected three of the device forms that you can find. These are AWS, Amazon Web Service, and some cloud testing. As you can see, some support a number, very high number of devices like the other ones.
08:01
And Amazon Web Service is the only one that supports us. For the lovers of this operating system. It's important also that all of them are non-free. You can use them under payment. But the last two ones, House Labs and Summering, are free for open source projects.
08:24
So, in iCloud, we could take advantage of that to use in our testing for our UI and mobile apps. Okay. That's all for this talk.
08:40
I hope you enjoyed it and thank you very much for your attention.