📜 ⬆️ ⬇️

Program Overview Heisenbug 2018 Piter



Conference : Heisenbug 2018 Piter
Date : May 17-18, 2018
Location : St. Petersburg, Park Inn by Radisson Pulkovskaya Hotel
Only two weeks left before our next Heisenbug. The program and reports was carried out enormous work, which we describe under the cut.

The first thing you'll notice is an increase in scale. Last time in St. Petersburg, we had only one day - now we turned around for two full days.

The share of English speakers continues to grow. There were five English-language reports in Moscow, and now there are already ten. Among the English speakers there are famous people and creators of technology, for example:
')

The list of cool speakers goes on and on.

Secondly, we clarified the general set of topics, technologies and programming languages. For example, earlier most of the reports used examples in the Java language, and this raised questions. Now there will be both Python and Ruby, and even C ++.

The dominant framework was Selenium (again, in Java). This time Iván López reports about Spock and Artem Eroshenko about Allure will be added. Tired of JUnit? Pay attention to other tools! However, Selenium and JUnit from the program also did not disappear anywhere.

Interestingly, the nature of discourse has changed recently, and participants want from the testing conference more and more hardcore reports and less and less traditional topics like load testing. It seems that everyone has finally learned to do the workload and they want to go further.

And we have something to offer! There will be “Testing on the basis of Petri nets” by Alexey Rodionov about the transition from conventional tests to model-based testing. There will be a report by Maxim Kazantsev on finding functional problems in the compiler of the Java-machine Zing using the automatic test program generator. Victor Yastrebov will tell about the legacy code auto-testing with examples in C ++.

What about other topics? In Moscow, there was no report about security, and now there will be . There were no reports about the backend, but now they have appeared ( one , two ).

Many reports on unusual topics:


In general, the conference has grown in size and as a report.

The descriptions of individual reports are minimized under spoilers, and if you like, you can choose the most interesting among them and read them separately.

The first day


The logic of verification

The logic of verification


Software testing is sometimes described as “checking and validation” —according to Wikipedia. But we’ve checked and verified. This is not a bad thing to say; checking can be very valuable. It is important that it is in our testing strategies.


We have been able to complete our report. He'll also identify ways of testing, experimentation and critical thinking.




Michael Bolton / DevelopSense

Tester, Consultant, and Trainer of the Rapid Software Testing, Over the past two years of experience, developing, managing, and writing about software. Currently, he leads DevelopSense, a Toronto-based consultancy. Prior to DevelopSense, Michael was with Quarterdeck Corporation. Michael's home page is www.developsense.com .




Problems of blockchain testing and ways to solve them on the example of Waves blockchain platform

Problems of blockchain testing and ways to solve them on the example of Waves blockchain platform


In the course of the report we will briefly review the various protocols of the blockchain. Let us find out the peculiarity of the Waves blockchain, what needs to be checked first of all, what problems arise. We will tell about the used testing and monitoring tools.




Evgeniy Nychegovsky / Waves

Engaged in testing for more than 10 years. He created testing departments and managed them in IT companies, including ITAR-TASS. Conducted testing of desktop, mobile and web applications.
Developed several test automation frameworks - front and backend.
He has extensive practical experience in the use of various test automation tools.
Since July 2017 she has been working at Waves.




Automated testing of legacy code: safe refactoring techniques

Automated testing of legacy code: safe refactoring techniques


As you know, the consequences of an error in production are extremely expensive: they lead to both financial and reputational costs. It should be borne in mind that the search and correction of causes should be carried out as accurately as possible. This is due to the fact that, as practice shows, and with it the statistics, the correction of one error, in the absence of a well-designed testing process, can lead to the introduction of new ones.


How to be in a similar situation to us - developers who value the quality and reliability of the product, when it is required to make changes in the short term to the legacy code for which there are no tests?


We will go through the basic approaches to refactoring in order to cover the inherited code with automated tests, and also consider their relationship with each other. You will learn how to select solutions that allow you to make reliable changes by forming a "grid of reliability" around the variable module.


The report will demonstrate examples from the world of C ++, but will be relevant for other programming languages.




Victor Yastrebov / Tenzor

Engaged in the development and automated testing of real-time applications. I am convinced that in the modern world, the ability to write test code is an important skill of a qualified developer. He is interested in quality assurance issues using automated testing methods.




Test your Java applications with Spock

Test your Java applications with Spock


Remember the old days when you are tested using JUnit? How boring it was? You made a lot of excuses to avoid testing your code. Spock is with us.


It makes it possible to write tests again. We can provide you with the DSL and all the power that Groovy provides us.


In this live-coding session, you can test a Java application. It is not a question.




Iván López / Object Computing, Inc.

Iván is a Software Engineer and Systems Administrator with 14 years of experience. He is a member of the Grails team at Object Computing, Inc. (OCI). He discovered Grails 8 years ago, almost exclusively using Groovy. Hey like the PostgreSQL-Extensions and Slug-Generator.


Groovy User Group (@ madridgug) , RigaDevDays, JavaCro, and so forth.




Fuzzing testing: looking for bugs in the JIT compiler and not only

Fuzzing testing: looking for bugs in the JIT compiler and not only


Stability and functional correctness are what users of Java machines expect. And they also expect that the code compiled by them will work quickly. There are compiler optimizations for this, but the more aggressive they improve the code, the more problems they may have hidden.


So how to reconcile such conflicting goals as the speed and correctness of the compiled code? Especially if your compiler is based on LLVM, and tens of thousands of lines of changes join it every week? How to find hidden bugs in your home before the user stumbles upon one of them?


In this report, we describe how we look for functional problems in the Zing Java machine compiler, using an automatic generator of test programs in the Java language.




Maxim Kazantsev / Azul Systems

Compiler Engineer in Azul Systems. The last 4 years has been working on optimizing JIT compilers for virtual machines. Since 2017 he has been working on Zing VM, actively commits to LLVM. Prior to that, he worked on ART and Dalvik virtual machines at Intel, contributed to the Android Open Source Project.




Testing in the modular world

Testing in the modular world


The Java Platform Module System (JPMS) was introduced to the organizing and executing automated software tests.
Finding tests and executing it is still possible.
JUnit 5 supports scanning for tests in modules since 5.1 and has been able to choose from three possible approaches.
Sources are available at: github.com/junit-team/junit5-samples/tree/master/junit5-modular-world


JUnit 5 and the JPMS.
I will spend the day on the java from the command line:


  • Resorting to the - --class-path
  • Patching test binaries into main modules at runtime
  • Patching main sources into test modules at compile time

Future work and outlook:


  • Variations or other approaches?
  • How do the build tools support you?
  • What are the best practices in IDEs?

Happy modular testing!




Christian Stein / Micromata

Open Source Software Developer who has been programming with Java since 1996. JUnit 5 team in 2017.
He is living in Bonn, Germany and works for MICROMATA GmbH.




Scaling approaches with 0 to 40 hours of tests

Scaling approaches with 0 to 40 hours of tests


Challenges in mobile test automation (Android, iOS and mobile web) are quite different from desktop web. Applications are developed with different technologies. You need a strategy while picking the tools for mobile test automation. It is important to understand. Having automation tests doesn't mean anything by itself. Build between the developers and the QA. There is no need to go through the process of building, for example, tests, integration tests, etc.


Badoo delivers Android mobile apps twice per day. While the product has been in the process of making it, it has been noted that the product has been a part of its delivery process.




Sathish Gogineni / Badoo

Sathish works as Mobile QA Automation Lead at Badoo. Since 2013, he has been responsible for developing automation solutions for mobile applications at Badoo. He has been working for various technical lead. It is strongly believed that he would like to be interested.




When speed and scaling are needed: a server of distributed iOS devices

When speed and scaling are needed: a server of distributed iOS devices


In Badoo, we run over 1,200 end-to-end tests for our iOS applications in one run. This is more than 40 hours of tests that pass in 45 real minutes.
The report will tell you how we untangled the closely related tests and the iOS infrastructure and went to the device server; how it simplified parallel test runs and made our tests and infrastructure easier to maintain and scale.
From the report, you will learn how to run tests in parallel with tools like fbsimctl and how the separation of tests and infrastructure can simplify the adoption, support and scaling of your tests.




Nikolay Abalov / Badoo

Engaged in testing automation in Badoo with a focus on iOS tools and infrastructure.
Prior to that, he worked for 3 years at 2GIS, developing mostly internal tools, including a system for continuous testing of data packets and an open source implementation of WebDriver for automating testing under Windows Phone.




Are you still sawing your report? Then we go to you!

Are you still sawing your report? Then we go to you!


Since the release of the second version of Allure, a year has passed. During this time, we have greatly increased the number of tests, we moved to new tools and learned how to visualize information about the quality of our tests. All these changes were reflected in Allure, and we released a new major version of our report.


The report will be equally interesting both to those unfamiliar with the Allure-report, and active users. We have added quite a few new features. Come, it will be interesting!




Artem Eroshenko / Independent Consultant

More than 8 years of experience in automating web application testing. During this time, he worked in different teams and in different roles: testing automator, testing tool development team manager, testing automation team leader. Artyom has extensive experience with popular tools (Selenium, HtmlElements, Allure, Jenkins). Programs mainly in Java, Groovy.




How a developer learn to build a test pyramid

How a developer learn to build a test pyramid


We hear from everywhere about how important it is to build pyramids so that testing becomes fast, simple, reliable. But why nobody does it? We will discuss:


  • Which of the tests at which level should be written to build a pyramid;
  • How to create multiple pyramids, given that many projects today actually consist of two subprojects: backend & UI;
  • What should be the architecture of the application to allow writing more low-level tests;
  • What moki help, and what prevent to build high-quality testing.

The report is focused on developers and project managers.




Stanislav Bashkir / EPAM Systems

Develops since 2008, mainly in Java. Always testing and quality code. At some point I began to get involved in process optimization and in 2013 switched to CI / CD activity. I have never been completely satisfied with the work of AQA, and therefore in 2015 I went into testing to prove that everything can be done much better. Proved and went into business analysis.




More effective testing

More effective testinge


Tools, approaches and techniques.

We have been creating software for our software. There are many reasons we can be called testers, others can be called.

Software testing ranges from "monkey see, monkey do" and "certified testers", versus self-declared artists and practitioners. We need to make it easier for you. We have been able to improve our practices.

It makes it possible to improve our craft and our products.

“Put everything to the test. Accept what is good. ”Thessalonians 5:21




Julian Harty / SelfEmployed

Julian's globally, since 2006. It has been the role of software apps that have been actively involved in the development of mobile apps (such as Kiwix for Wikipedia). test automation frameworks for mobile apps. He has co-authored the Mobile Analytics Playbook, and has written For mobile phone applications, it’s not a problem.




JUnit, give me five! Porting code to JUnit Extensions

JUnit, give me five! Porting code to JUnit Extensions


JUnit 5 is a completely new framework, the first release candidate of which was released less than a year ago. The name JUnit obligates to much, as it is the most popular solution for writing tests in the Java world, the latest version of which has been waiting for more than three years.


What did we get? Completely new code base, architecture and API, combined with the simplicity and expressiveness of the previous version.


The migration process from version 4 is simple - you can only limit yourself to replacing annotations.
But we, in PropellerAds, when switching to JUnit 5, tried to answer the question: how to use the new APIs in order to change our tests for the better?


So,


  • if your functional tests are written in AAA style (Arrange - Act - Assert), and the data preparation section is more complicated than Calculator calculator = new Calculator ();
  • if you write tests for “complex” web projects, such as: Internet banks, workflow systems, CRM, etc., and also create a large number of “domain” objects for the sake of a simple test case;
  • if you want to implement really simple APIs so that any newcomer can extend the test coverage in your project without experiencing shock at the sight of a class with tests,

then this report is for you! Using real examples, we’ll tell you how we didn’t limit ourselves to a simple replacement of annotations and got rid of the first “A” in the abbreviation AAA.




Dmitry Toobs / PropellerAds

Works in IT for 10 years. He started in analytics, then managed projects in the role of Project Manager, but the craving for beauty won, and several years ago, Dmitry concentrated on developing and automating testing in Java.


He devoted most of his career to electronic document management systems, but for the sake of a unique experience, he moved on to a really mature post-startup PropellerAds, where many processes, in particular QA, were to be built from scratch.


Believes that "simple" tests can be written for arbitrarily complex systems, and believes that test automation is no less fascinating than development.




Making CI for mobile SDK from scratch

Making CI for mobile SDK from scratch


At the end of 2017, our team began work on a new mobile SDK using both the latest open source technologies and the latest internal developments. And of course, we also wanted to correct the shortcomings that we had seen in the CI of our previous products.

A report on how we approached the construction of CI for our new product, what we tried, what we chose, what we refused, and what we left for later.

List of keywords: Jenkins, AWS, Serverless, Docker, Mac mini, git, repo, Gerrit, Java, Go




Artem Nikitin / HERE Technologies

He started with web applications, then switched to the backend. Now he is mainly working on CI, infrastructure and automation. AWS user since 2010. Gopher since 2015. Contributor to open-source projects. An ardent supporter of the point of view that testing now is not about finding bugs, but about increasing quality, speed and productivity.




How to improve CI / CD pipeline for mobile test automation

How to improve CI / CD pipeline for mobile test automation


In the talk, he will be able to make it up. CD pipeline. It will be a bit more interesting.


Key takeaways:


  • Learn how containers can simplify your build process.
  • A CI / CD pipeline is a problem / solution approach to addressing.
  • Caveats of different CI systems.



Niranjani Manoharan / Pinterest

Niranjani is a Senior Software Engineer in Test at Pinterest. She is responsible for developing automation solutions for the Android platform. She has been working for a company with a similar role. She wants to improve the CI / CD pipeline.




Crowdsourcing Testing

Crowdsourcing Testing


We want to talk about how we in Yandex have solved the problem of scaling manual regression testing tasks using crowdsourcing.


Regression testing is a very important part of working on product quality. And the more products you have and the faster they develop, the more effort you need to spend on it.


Over the past year, we have learned how to scale up the manual testing tasks for most Yandex products with the help of assessors - remote employees working part-time on a piece-rate basis, and now more than 700 assessors take part in testing our products in addition to full-time testers.


In the report we will tell:


  • how it was possible to make the tasks of manual testing as formalized as possible and train them to hundreds of remote employees;
  • how it was possible to put the process on industrial rails, to ensure testing in various environments, to withstand the SLA in speed and quality;
  • what difficulties we faced and how they were solved (and some have not yet decided);
  • how test assessors contributed to the development of Yandex products, how it affected the frequency of releases and the number of bugs skipped.



Olga Megorskaya / Yandex

Head of the Tolok crowdsourcing platform and management of expert evaluations of Yandex.


Currently he is responsible for automating, scaling and applying crowdsourcing in various areas and projects in Yandex: data collection for artificial intelligence training, call centers, customer support services, content moderation, data production for maps, translations, and many others.
One of the recent projects is the construction of manual testing processes using crowdsourcing.


His area of ​​interest is mathematics in the world of expert assessments, the author of reports and articles on this topic.





Second day


Is there autotesting in games?

Is there autotesting in games?


The report focuses on the use of Appium’s staff tools and game scene graphs for automated testing. Using live examples, we will show how this works for Zeptolab and how our experience can be used in other projects.




Dmitry Alekseev / Zeptolab

QA in GameDev for six and a half years. He began his professional career at Gaijin Entertainment, after which he managed to work in such large gaming companies as Glu Mobile, Crazy Panda, and also in several start-ups. He currently holds the QA-lead position at Zeptolab.



Evgeny Shumakov / Zeptolab

IT Specialist. He worked in such large IT companies as IBM, Dors, Paragon Software. Has gone from a system administrator to a product owner. Currently working on the position of QA Manager in the company Zeptolab and is engaged in the implementation of innovative solutions.




Testing based on Petri nets

Testing based on Petri nets


What to do when tests are fundamentally incapable of finding errors that occur during unusual states of the system under test, usually called the “edge cases”? Is it possible to increase the test coverage and find more errors without creating unnecessary tests and without sacrificing the time to complete them?


In this report we will talk about how we encountered this problem in Toptal, started the transition from conventional tests to model-based testing, which problems we encountered on this way, why we use Petri nets instead of state machines, and what we got in the end . The report will be illustrated with examples of Petri nets and a multitude of Ruby code.




Alexey Rodionov / Toptal

He has been testing for more than 11 years, of which for the last 5 years he has been helping to improve quality in Toptal, the world's largest distributed community of high-class specialists. Mozilla Contributor Developer Watir. A committer of Selenium, where it is responsible for the Ruby part.




Web security testing starter kit

Web security testing starter kit


The report will tell about the simple steps that will make the web application safer.


We will tell you how to look for vulnerabilities, what threats to users and services they carry.


We will dwell on the most common ones: XSS, SSRF, SQL injection, IDOR, CSRF, Misconfiguration (ex: CORS), XXE.


We will talk about the tool (Burp Suite), which will facilitate the process of searching for vulnerabilities.


The report is designed both for developers - it will allow to understand the essence of vulnerabilities and why they arise, and for testers - will help to understand how to look for these vulnerabilities. Managers will be able to understand the threats that carry vulnerabilities and review the value of the application security process.


After the report, the audience will get the basic knowledge necessary to test the web application for security.




Andrey Leonov / SEMrush

The last ten years, has been searching for vulnerabilities in web applications. Member of many Bug Bounty programs. Most of all he loves business logic errors when the program works as it is written, and not as the programmer wanted. The company SEMrush works in a security team responsible for the safety of the product and the working infrastructure and much more.




Ten million tests per day

Ten million tests per day


Once a small QA-team was assigned the task: to run all the tests for two days, regardless of the number that grows, grows and continues to grow. At the time of the report tests already tens of millions. And this is a story about how we built processes and infrastructure, into which puddles we sat down, and which we went around, and, most importantly, how we stopped being afraid and loved big numbers.




Sergey Grinev / Azul Systems

Timlide QA / Release team in Azul Systems, responsible for Zulu OpenJDK. Prior to that, he worked for a long time at Oracle, where he was involved in QA JavaFX and Java2D. Loves sharing his experience at conferences and on stackoverflow.com




Android Production Level Test Driven Development

Android Production Level Test Driven Development


8/10 developers testable code. It will be possible to test your test case.


-> Important Testing GuideLines


-> Espresso and Robolectric (In and Out, Crisp and To the point)


-> Making Code Highly Testable, Repository and Dagger 2


-> Genuine production level Scenarios Testing Demoes : -


-> Common mistakes made by developers resulting in a rapid development of TDD :( :(.


-> Will be showing this with the following three approaches using Dagger 2 :
a.) Using Robolectric (JVM based)
b.) Using Espresso (Unit Instrumentation Tests)
c.) Testing the ViewModel (Purely JVM based)


-> Performance Analysis of these testing techniques; which one to choose and when


-> Testing on Multiple Devices


-> Espresso 3.0 New Features


-> New Features Of AndroidJUnitRunner


-> Lots and Lots of Code Snippets


Target Audience And TakeAways: -
This is the case: -


Beginner: TDD from scratch, it’s not a problem. .


Intermediate: - Testing code, genuine production level scenarios,
You must be able to further their TDD.


It would be possible to find out. With the theme of Espresso 3.0 and AndroidJUnitRunner, it’s possible.




Kapil Bakshi / BlackBuck

It is a technology to imbibe technology, imbibe, transcend. There are ways to make it up.


He is currently working at BlackBuck which is redefining the logistics landscape of India, making it reliable and efficient. Improved quality of all apps, how to improve and go ahead.


Apart from Android, it has worked well for many people.


In Android, his areas of interest include testing, architectural best practices and security.


He has spoken on emerging android technologies and has gotten an overwhelmingly amazing response.


I like the Droidcon Beijing 2017, the DroidKaigi Tokyo 2018 and the Android Makers France 2018.




Enterprise Automation with Selenium and Selenium

Enterprise Automation with Selenium and Selenium


As they are a W3C standard, they are a GUI automation tool. Most teams focus on writing tests and tackling issues via Selenium itself.


However, in our experience, Selenium is usually the smallest "problem" in the automation solution. How do you know how to work? It will be a scalable and reliable solution for the Selenium tool family. And it will be a success.




Michael Palotas / Element34 Solutions GmbH

Founder and CEO of Element34 Solutions. Co-developed Selenium Grid. Ex-eBay Head of Quality Engineering. For more than 10 years Michael Palotas He was responsible for the field of engineering practices. Before joining eBay, Michael like, Nortel Networks, Intel.




Testing configuration for Java developers: practical experience

Testing configuration for Java developers: practical experience


At one of the past Heisenbug, Andrei Satarin told how to cover not only the code, but also the configuration with tests. Since its submission for the last 3 years, we use this approach in our projects. And yes, configuration tests significantly reduce the number of errors when deploying an application. But to write and maintain such tests can be difficult, this is a new and unusual task for testing, with its own intricacies.


We want to share our experience: where to start, what are the pitfalls, which solutions have been convenient and useful when developing such tests in Java.




Ruslan Cheremin / Deutsche Bank

Develops in Java for more than 10 years. In his youth, he programmed all sorts of things for food and a mobile phone, later he created training programs for schoolchildren in 1C and a simulator of advertising strategies in Yandex, and now he is engaged in price generation at Deutsche Bank. As a true professional, he prefers to write code without bugs right away, but sometimes heals his self-confidence with tests.




Shipping is a risky business

Shipping is a risky business


Businesses do not write and release software for it. They write code to meet business needs. Of course, there is no software, there are no opportunities, missed opportunities, and no normal sprinkling of errors. It means that the costs of failure to push it out. Because we’re human, it’s not just the fear of risk.


It is possible to follow this procedure. In particular, how can you testers contribute as low as possible? Over the course of this talk, we'll recast the software development lifecycle as a conversation about risk. We will discuss the situation.




Simon Stewart / The Selenium Project

It is a project of the Selenium project lead. He previously led the team to develop a graph-based build tool, Buck, and being a strong advocate of monorepos. Before joining Facebook, he spent almost five years on Google, and three at ThoughtWorks. He's seen a lot of code.


It is an undeniably hairy.




Static code analysis systems: difficulty to choose

Static code analysis systems: difficulty to choose


When the number of developers in the company begins to number in the hundreds, and the number of lines of code written by them is in the millions, testing such software becomes a very nontrivial task. Along with the growing number of programmers, the software testing department is also growing, tests are multiplying, new methods are being applied.


But even the code, whose coverage is close to 100%, can and, as a rule, contains a lot of errors, which neither the developer nor the tester can catch. This is due to the fact that autotests and functional testing can not reveal a large number of specific problems, such as, for example, interlocking threads or a race condition associated with errors in the design of multi-threaded systems.


Therefore, relatively new types of software, called SAST, a system for static source code analysis, come to grips with bugs. The complexity of these systems is quite high, given their specificity. This implies their high cost. In addition, the integration of such a system into the development cycle is not at all simple, so it depends on its choice whether the efficiency of technical departments will increase or, conversely, it will become an unnecessary burden or an expensive toy.




Alexey Pletnev / Bazis Center

He has been working at Baseis Center since 2006 as a software engineer. The team is engaged in the development of CAD for the automation of furniture production. From the very beginning of his professional career, he dealt with issues of software licensing and its protection against illegal use. Recently, code quality problems have been added to them. He knows how to write in assembly language and knows how errors look at the deepest level.




Don't repeat yourself: UI tests for web, iOS and Android at the same time

Don't repeat yourself: UI tests for web, iOS and Android at the same time


No one is surprised that the product has a web version and a mobile application. In this case, UI tests are most often written separately for each platform. Very often, we get different frameworks, test runners, sometimes even languages, and at the same time support for this zoo. Then, with changes in product behavior, you have to change the same thing in several places.


Let's see how, based on open source solutions, you can quickly organize E2E tests that will work both on the web and in mobile applications, as well as what difficulties will arise with a similar solution. The approach will be demonstrated on the Python stack, but can be easily transferred to another stack.
#python #web #mobile




Igor Balagurov / Uptick

Last year, Igor is engaged in automated testing in the Uptick startup. Basically he writes tests in Python for UI (Web + Mobile) and API (REST + GraphQL) and a little on .NET (Component and Integration tests). Before that, he worked in New Cloud Technologies, where he gained experience in writing and supporting more than a thousand web tests on Ruby, Watir, Cucumber.




Testers as their own worst enemies

Testers as their own worst enemies


Sometimes, in some organizations, testers complain that they are not respected or acknowledged. Project management views testers as obstacles to timely releases; developers see testers as uninformed and technically ignorant pests. Testers themselves are taken into account.


In this session, there will be a number of ways in which the testers will be tested. He will provide guidance on how to help you and how to improve your skills.




Michael Bolton / DevelopSense

Tester, Consultant, and Trainer of the Rapid Software Testing, Over the past two years of experience, developing, managing, and writing about software. Currently, he leads DevelopSense, a Toronto-based consultancy. Prior to DevelopSense, Michael was with Quarterdeck Corporation. Michael's home page is www.developsense.com .




Atlas - your new PageObject guide

Atlas - your new PageObject guide


How to understand that the industry is developing? In it, there are more and more new solutions.
Today there are many tools to automate the testing of UI. The most popular for Java are Selenide, JDI, Serenity BDD and HtmlElements. Each of them goes its own way, has its pros and cons.


Historically on our projects we used HtmlElements, but they are very outdated. A year and a half ago, we learned from the developer HtmlElements about the existence of a new version. Then we began to develop the project together and created a new framework for working with PageObject - Atlas (Application Test Layout).


In the report we will tell you how the first HtmlElements did not satisfy us and why we abandoned the existing solutions in favor of ours. We will show what kind of functionality lies at the core of Atlas, how our old projects have changed with it, what extension points there are and how to use them for ourselves.


The report will be useful to both old users of HtmlElements, and new people who are in search of a framework for testing.




Yuri Kalinin / Yandex

More than six years in testing. I started with a manual tester of browser games and gradually began to think about automation, so I chose Yandex as the next place of work, where I still work. During this time I changed projects and tasks several times. He has extensive experience in writing APIs and UI tests in Java.




Beta testing VKontakte

Beta testing VKontakte


A story about beta testing on VKontakte: how it all began, and what does James Bach have to do with it, how do we test large-scale updates and completely new products and what tools do we use.


We will share the community development experience of 12 thousand testers, processing tens of thousands of bug reports and embedding the beta testing stage in the development process. Consider examples of using our approach and the platform by other teams.




Anastasia Semenyuk / VKontakte

Born in Kiev, she studied at ITMO at the BIT department. Graduate of the Game | Changers program. She worked at Iota Lab, Corus Consulting, i-Free and Documatic. In 2014, she joined the VKontakte team as a tester. Since 2016, he has been leading testing of VKontakte and developing VK Testers beta testing program.




We test to the last: Smart Responsive Interface Design Patterns

We test to the last: Smart Responsive Interface Design Patterns


In the report, Vitaly will conduct a detailed study of common interface components and the problems of responsive user interfaces.
Consider what a perfect accordion is, date and time indicators, comparative tables, an insurance calculator, a car configurator, and more.


Attention! You may not be able to forget everything that you learn during the report.




Vitaly Friedman / Smashing Magazine

Vitaly Friedman loves beautiful content and never just gives up. Originally from Minsk, Belarus, Vitaly studied computer science and mathematics in Germany, where he discovered an interest in typography, writing and design. Having worked as a freelance designer and developer for six years, he founded Smashing Magazine, one of the leading online magazines on design and web development. Vitaly is the author, co-author and editor of all Smashing Books. He currently holds the position of chief editor of Smashing Magazine in the beautiful city of Freiburg, Germany.




Auxiliary techniques for testing microservices

Auxiliary techniques for testing microservices


Testing microservices introduces many interesting and new tasks. It will be about the problems of generating, loading and clearing test data; about supporting multiple HTTP clients and verifying that the entire cluster of microservices is ready for testing at the beginning and during the test run. The report is based on the problem-solution model. #spring #cucumber #java




Alexander Martyushov / Signavio

In the industry of development and testing since 2008, with some break for postgraduate studies and experiments in nuclear physics. In testing, he worked with e-commerce platforms, IPTV systems and location-based services. He was involved in both supporting the existing test architecture and building automation from scratch for backend, UI and mobile applications.
He is currently working for Signavio in Berlin and is building automation for backend and UI.




The "C0MEDIES" of testing in the cloud age

The "C0MEDIES" of testing in the cloud age


This is what you need for your own iron. It’s not a user-friendliness, but it’s not the user’s facing functionality. In fact, it could be argued that the ensuring the cloud-ness of your application is almost more important than the user-facing part as re-architecting for the cloud problems will absolutely cause re-testing.


In the illustrious tradition of heuristics and mnemonics, Adam proposes that we add «C0MEDIES» to our vocabulary when testing an app that runs on a cloud-like environment. By dealing with the «C0MEDIES», you can manage the Chaos of the cloud, while doing 0 downtime deploys, for applications that at Monitored, are Elastic, in an infrastructure that is constantly being Developed, is Idempotent, Efficient and Secure.




Adam Goucher / The Mobile Experience Company

Automator of things that should be automated, doer of things that should not. Efficient, not lazy. Jack of all trades, master of a couple. Brought Selenium-IDE back from the dead once, and has been apologizing ever since. Roller Derby referee, not player (that's crazy!).




We remind you that only two weeks are left before the conference. There is still an opportunity to purchase tickets on the official conference website.

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


All Articles