Test de conception: Top 10 Heisenbug 2018 Piter Talks



Salut Nous avons ouvert les enregistrements vidéo des rapports Heisenbug 2018 Piter. Et spécialement pour Habr, nous avons fait une sélection des dix meilleurs reportages de l'avis des visiteurs de la conférence - des experts dans le domaine des tests. Le rapport le plus «hors sujet» s'est soudain avéré être le rapport le plus apprécié!

Les rapports de la sélection sont classés par ordre croissant. Mais cela ne signifie pas que les «plus jeunes» sont bien pires: tout le monde, à l'exception des leaders, a à peu près le même score de 4,27 à 4,52. Par conséquent, comme d'habitude, vous devez tout regarder. Rencontrez-moi sous la coupe!


Automatisation d'entreprise avec Selenium et pourquoi cela a très peu à voir avec Selenium


Conférencier: Michael Palotas
Emplacement: 10
Évaluation: 4,3 ± 0,1
Présentation du rapport


Le sommet s'ouvre sur une présentation du créateur de Selenium Grid, Michael Palotas. Michael était responsable des tests sur eBay, a mis au point de nouvelles pratiques d'ingénierie et a réussi à travailler chez Intel, Ericsson et d'autres sociétés.

Michael ne parle pas seulement de l'outil d'automatisation Selenium lui-même. Il note à juste titre que le sélénium est une «moindre douleur» dans l'automatisation et les tests, et donne de nombreux exemples pratiques de la façon dont la mise en œuvre de l'outil s'est transformée en travail sur un projet à grande échelle à part entière qui doit être maintenu et géré.

Michael révèle les principaux problèmes qui empêchent les équipes de développement de créer des solutions évolutives et fiables à l'aide de Selenium, et montre des moyens soignés et rentables pour réaliser une automatisation complète des tests.



Existe-t-il des tests automatiques dans les jeux vidéo mobiles?


Conférencier: Dmitry Alekseev / Evgeny Shumakov
Emplacement: 9
Évaluation: 4,3 ± 0,1
Présentation du rapport


Auparavant, Heisenbugs, Philip Keks avait déjà abordé le sujet de l'autotest dans les jeux mobiles, mais dans son cas, le jeu était avec un gameplay très simple. Dans le rapport, Dmitry et Eugene de Zeptolab ne sont pas du tout simples: ont-ils joué Cut the Rope ou King of Thieves? Comment leur ajouter des autotests, si tous les joueurs ont des appareils différents, il n'y a pas de frameworks, et comment suivre les bugs?

Un rapport de Dmitry et Eugene démontre que rien n'est impossible dans le développement et les tests. Les testeurs de Zeptolab ont trouvé un moyen assez délicat d'abstraire les coordonnées et le vidage des scènes graphiques, en utilisant Testium en utilisant Appium. Le rapport est facile à comprendre même pour les personnes d'un autre domaine, et montre bien à quelles étapes il est possible de gagner du temps et des efforts des développeurs dans le développement de jeux mobiles.



JUnit, donne-moi cinq! Portage de code vers les extensions JUnit 5


Conférencier: Dmitry Tuchs
Emplacement: 8
Évaluation: 4,3 ± 0,1
Présentation du rapport


Dmitry Tuchs déclare en toute confiance: JUnit est créé pour tous les tests. JUnit 5 vient d'apparaître, qui a reçu une nouvelle base de code, une nouvelle architecture et une nouvelle API, mais la simplicité et l'expressivité du framework n'ont pas été affectées.

Dans le rapport, Dmitry montre clairement non seulement le processus de migration de la version précédente de JUnit (en remplaçant simplement les annotations!), Mais également les différents styles de test pris en charge par JUnit 5, et répond à la question - quel est l'intérêt de passer à un nouveau cadre en général.

Le rapport est utile à tous les testeurs Java qui effectuent des tests sur des projets Web à grande échelle, écrivent des fonctionnalités de style AAA (Arrange - Act - Assert, et l'un des A à la fin du rapport n'est plus nécessaire), et veulent créer des API simples pour que les débutants puissent travailler avec des revêtements d'essai.



Test basé sur des réseaux de Petri


Conférencier: Alexey Rodionov
Emplacement: 7
Évaluation: 4,35 ± 0,05
Présentation du rapport


Imaginez que vos tests ne soient pas en mesure de trouver des erreurs qui se produisent dans des conditions inhabituelles, et de créer de plus en plus de tests n'est plus possible, car le temps d'exécution dépasse toutes les limites possibles.

Que faire Accédez à l'appareil mathématique à la recherche de méthodes alternatives pour développer des tests à l'aide de graphiques. Le comité de programme l'a appelé "Testing 2.0".

Un rapport hardcore et complet en code Ruby d'Alexei Rodionov sur la façon dont Toptal est passé des tests conventionnels aux tests basés sur des modèles mathématiques, les bons et les mauvais résultats en cours de route, et pourquoi vous devriez prêter attention aux réseaux de Petri pour optimiser les tests.



Lorsque la vitesse et la mise à l'échelle sont nécessaires: serveur d'appareils iOS distribués


Conférencier: Nikolay Abalov
Emplacement: 6
Évaluation: 4,4 ± 0,2
Présentation du rapport


Les développeurs de tests d'interface utilisateur connaissent peut-être le problème des tests sur iOS. Nikolai cite Badoo à titre d'exemple - lorsqu'il a commencé à préparer le rapport, il y avait 1200 tests de bout en bout. Une fois terminé - 1300. Lors de la conférence, le nombre de tests est passé à 1400. Il s'agit de 35 à 40 heures de temps machine dans le simulateur, soit 1,5 heure de temps réel.

Dans le rapport, Nikolai raconte comment il a réussi à réduire le temps de test à 30 minutes en se rendant sur le serveur de l'appareil, et comment cela a rendu l'infrastructure et les tests plus faciles à faire évoluer et à maintenir. Nikolay explique comment «démêler» un nœud des tests et de l'infrastructure et apprendre à exécuter des processus en parallèle à l'aide du nouveau modèle de parallélisation. Pour ce rapport, nous avons fait une version texte sur Habré, afin que vous puissiez non seulement le voir, mais aussi le lire.

Enfin - un conseil semi-comique de Nikolai: si vous devez réduire le temps de réussite des tests - supprimez simplement la partie. Et le temps sera réduit, et il n'y aura plus de tests non fiables, et c'est facile à mettre à l'échelle! Si vous avez besoin de plus de sérieux - consultez le rapport lui-même.



Test de configuration pour les développeurs Java: expérience pratique


Conférencier: Ruslan Cheremin
Emplacement: 5
Évaluation: 4,4 ± 0,1
Présentation du rapport


Lors d'une précédente conférence Heisenbug, Andrei Satarin a expliqué comment couvrir les tests non seulement avec du code, mais aussi avec la configuration. Ruslan Cheremin a travaillé en équipe avec Andrei et a été inspiré à utiliser cette approche à ses propres fins.

Ruslan sous une forme accessible indique ce qui peut être considéré comme une configuration (tout!), Comment se débarrasser de l'embarras d'écrire des tests de configuration, et pourquoi cela est important, utile et assez simple. Grande présentation avec des exemples simples, de nombreuses insertions de code et une explication facile de ce qui se passe.



Les testeurs comme leurs pires ennemis


Conférencier: Michael Bolton
Emplacement: 4
Évaluation: 4,46 ± 0,07
Présentation du rapport


Le légendaire Michael Bolton avec le discours final que chaque testeur devrait regarder.

Il ne parlera pas de méthodes, d'outils, de cadres et bien plus encore. Michael parle de l'essence même du testeur, de son rôle dans le monde informatique, de l'importance de la profession et de l'interaction avec les gens, pas avec les applications. Les tests ne concernent pas les tests. Les tests concernent les gens.

Michael révèle les problèmes de la profession de testeurs, suggère comment développer des compétences professionnelles, sociales et mentales qui augmenteront non seulement l'efficacité d'un spécialiste, mais aussi le respect entre collègues. Rapport très énergique, sincère et important.



Êtes-vous toujours en train de voir votre rapport? Ensuite, nous allons à vous!


Conférencier: Artyom Eroshenko
Emplacement: 3
Évaluation: 4,52 ± 0,06
Présentation du rapport


Le slogan principal du rapport est «Quel problème résolvons-nous?». Artyom décrit clairement et clairement les changements dans la version tant attendue d'Allure 3 et explique pourquoi de nouvelles fonctionnalités sont nécessaires - visualisation, nouveaux outils, une seule configuration, et bien plus encore.

Le rapport est simple, intéressant et intuitif et sera utile à la fois à ceux qui sont assis sur Allure depuis longtemps et ne connaissent pas les rapports de ce type.



Test de fuzzing: recherche de bugs dans le compilateur JIT et pas seulement


Conférencier: Maxim Kazantsev
Place: 2
Évaluation: 4,6 ± 0,1
Présentation du rapport


Il y a un problème. Les gens peuvent ne pas se rendre compte qu'un bogue dans l'application peut être lié au compilateur, et la probabilité de bogues dans le compilateur lui-même est difficile à prévoir, et trouver un bogue et le corriger est encore plus difficile.

Si dans certains rapports les collections préconisaient de réduire le nombre de tests, alors en testant les compilateurs leur propre atmosphère et leurs propres règles. Maxim Kazantsev d'Azul Systems raconte dans un deuxième rapport sur la façon de simplifier la vie à la fois pour ceux qui travaillent avec des compilateurs et dans des directions complètement différentes en utilisant les tests Fuzzing.

C'est simple: si un «bon» test trouve un bug avec une probabilité de 10-6, alors il ne trouve pas de bug avec une probabilité de 0,999999. Et cinq millions de tests ne trouveront PAS de bogue avec une probabilité de 0,9999995000000 ≈ 0,007. Donc, il y a un bug avec une probabilité de plus de 99%!

Il s'agit d'un type de test dans lequel des millions de tests aléatoires sont générés qui traversent l'ensemble du projet, vérifiant sans réfléchir tout ce qu'ils rencontrent. Et, curieusement, cette méthode aide parfaitement à trouver les problèmes où vous avez besoin à la fois de vitesse et d'un haut degré de fiabilité.

Rapport hardcore de haute qualité avec des exemples de code. Assurez-vous de regarder au moins à cause d'une manière non standard et intéressante de rechercher (et de trouver!) Des problèmes dans le code.



Tester jusqu'au dernier: modèles de conception d'interfaces réactives intelligentes


Conférencier: Vitaliy Fridman
Emplacement: 1
Évaluation: 4,72 ± 0,06
Présentation du rapport


Et voici le leader de notre liste restreinte, qui, curieusement, ne concerne pas du tout les tests. Vitaliy Fridman, bien connu des concepteurs et développeurs Web, a parlé à un public atypique ici et l'a conquis!

Vitaly passe systématiquement par toutes les étapes de l'UX et parle en détail des composants de l'interface et des problèmes qui leur sont associés et peuvent être utilisés dans les tests. Cela comprend la mise en place de "carrousels" dans divers pays, et des conseils pour créer des comparaisons vraiment pratiques des caractéristiques des marchandises (et pas comme toujours), et une liste de contrôle utile pour créer un "accordéon". De nombreux téléspectateurs ont dit: "Oui, il ne s'agit pas de tester, mais c'était incroyable." Ayez une belle vue!

Et pour ceux qui ne sont pas des dizaines, nous donnons un lien vers la playlist , où il y a d'autres performances avec Heisenbug 2018 Piter.

Si vous êtes intéressé par les rapports, veuillez faire attention: Heisenbug 2018 Moscou se tiendra du 6 au 7 décembre, auquel viendra le développeur de Selenium WebDriver Alexei Barantsev, qui teste depuis 1994.

Les informations les plus récentes sur le programme peuvent toujours être consultées sur le site Web de la conférence , et vous pouvez y acheter des billets (dont le prix augmente progressivement).

Source: https://habr.com/ru/post/fr425207/


All Articles