📜 ⬆️ ⬇️

Heisenbag 2017 Piter: Call for Testing

Senior Instructor Dwight T. Barnes (Half-Life) on the testing conference Heisenbag 2017 Piter: “... What's your name, soldier? Imagine your name in some mystical way got to the top of the list of advanced training! And I will ask you ... well, drag your body down to the training zone and report to Colonel Sharp! ... 2017 Piter Heisenbag is three weeks left - all the platoons have already issued badges and are polishing their boots. Where do you wear it? There will be everything at the conference: specialists in automatic and load testing, team leaders, developers. 17 reports in 3 tracks in one day - this is not a mouse click. Veterans will report on new combat techniques of practical and hardcore testing on real projects. "

Let's see what will be waiting for you on the spot.


Taking into account the opinions of the participants of Heisenbag 2016 Moscow, we gave in to the heat and increased the number of technically complex, deep and unusual reports. For your convenience, we screwed an indication of hardcore to each report, so that you know exactly where the RPGs are distributed, and where the master class on combat is mounted. For those who do not get to St. Petersburg, we do an online broadcast with the ability to ask "questions from the audience" during the reports and watch interviews with the speakers in between sessions.
')
So, a review of reports grouped by topic:


Approaches and correct patterns in testing




The ability to apply patterns is one of the basic skills of a professional. Knowledge of approaches allows you to solve problems at a high level of abstraction and prevent "childish" errors. That is why the block with approaches and correct practitioners takes first place with 8 reports:

Claudio Criscione - Security testing at a scale

As is known to people involved in testing, all problems in this area have long been solved. If we still encounter bugs, it is only because of laziness of engineers: the existing methods and technologies, if applied correctly, allow us to completely solve all the problems. And finally, security bugs are just bugs, therefore security testing for non-lazy engineers is also a solved task.

In this report, Claudio will try to debunk this blatant lie, relying on some of the lessons he learned in dealing with security testing in a large infrastructure that is uncomfortable. After he demonstrates that, among security testing practices, security testing is a full citizen, not a strange alien, he will submit his travel notes on creating security testing tools on Google.

Attention, spoiler: there will be no moments in the Hollywood style like "root-shell-and-galloped-into-sunset" -
Scalable security testing is trench warfare, not a walk in the park. For the surprise effect, Claudio, among other things, tells about things that didn’t work at all, as well as things that didn’t work at all, because failures in places are even more interesting than victories.

If you care about security in the trenches, want to know about the little things that can undermine the initiative, or are worried about software or infrastructures for security testing, then you should find this report interesting.



Nikolai Alimenkov - Design patterns in test automation

Design patterns are known in the design for many years. Some developers love them, others consider it useless. At the same time, design patterns have very clear objectives: to describe typical solutions for typical problems, create a common language for the community, improve understanding and reuse of existing approaches.

Since test automation has its own set of tasks, there is also its own set of useful design patterns for this area. In the report, Nikolai will go through all the known patterns and describe them in detail with several practical examples.



Igor Khrol - Testing in the data world

The management of the companies tries to make decisions not on a whim, but on the basis of numbers and objective data. How to test the software that counts these numbers? If the code, after processing the company's data for the year, shows 42% - is this the correct answer, or is there an error, and we should have received 43%? Based on the practices developed by Toptal’s analytics department, I would like to answer these questions. BI, ETL, DWH, ML ... If you know what these abbreviations mean, come and talk about testing in the data world.



Jan Jaap Cannegieter - Finding the best way to test your system

Systems can be tested in different ways. Most organizations, teams of testers and individual specialists use only one or a couple of approaches in their projects, even if they are not optimal in each specific case. This report aims to remedy the situation.

First, let's mark the difference between scripted and exploratory testing, and then go through the whole range of ways from scripted to exploratory, including: detailed scripting, global scripting, session based testing, bug hunts, test tours and freestyle exploratory testing, having experienced both the essence of each approach, and the situation in which it is most applicable. Among other things, Jan Jaap will explain how automated testing can be associated with any of these types.

The last part of the presentation will be devoted to practical examples and a checklist that helps determine which type of testing is best for your project.



Ilari Henrik Aegerter - Think Bigger - Worldwide Class in Testing

This report presents conclusions from more than a decade of thinking and observing what makes a tester a world-class specialist. It’s about what YOU can do to get more skills, more job satisfaction and more attractiveness to world-class companies that you respect.

At this session, we will not break away from reality and discuss concrete steps and ideas that you can implement immediately. You will also hear real stories about testers and how they implemented these steps. You will be able to choose some of the proposed ideas and start implementing them right today.

This report is not about complaining, but about concrete actions that will help you become the best version of yourself.



Alexey Vinogradov - How to improve autotests: a session of black magic

You can write UI autotests in different ways. Which techniques should be used by a professional developer, and which ones should be avoided? Where is the pain in modern automated testing? Alexey will demonstrate his position with illustrative examples. Let's start with a simple code and apply popular design patterns to it consistently, such as: PageFactory, LoadableComponents, Single Responsibility Principle, and others.



Julia Kovaleva, Anna Chernysheva - BDD Girls Battle: Cucumber vs. Jbehave

In their report, two girls — Java autotest developers — will compete with each other in the style of Mortal Kombat to show which of the two tools — Cucumber or JBehave — has the most restrictions. They will choose the worst tool. And for what?


Many of us, when choosing a BDD library, are asking what is better. Which one has more features? And what problems will we face?

You can learn about the possibilities by going to the library documentation or looking at reports where the speaker praises the tool he has already chosen. But he will be able to find out about what exactly lurks a developer when he chooses Cucumber or JBehave, only if the entire Stack Overflow “rustles” or he tries the library himself in his work. This report will help you avoid rewriting the old framework with autotests to the new lib, simply because one day someone chose the wrong tool.



Kirill Merkushev - Code Generation as a Way to Solve Automator Problems

Automation is one of the most important patterns used by senior-level specialists. Test automation is not just about writing WebDriver tests. This is, above all, the solution of regularly arising problems and the optimization of repetitive labor.

In order to write high-quality, supported tests and utilities for testing, a lot of additional costs are required - http-clients, organization of checks, project description with tests, documentation support, ... (this list is much longer!)

In this report, Kirill will talk about how you can automate writing code, easing the burden of supporting additional code for tests; What ready-made tools and mechanisms exist in the Java ecosystem and what does its team use to turn a dozen lines of declarative description into hundreds of lines of code that you can simply take and use.



Testing web projects



Obviously, the widespread use of the Internet is not only an existing reality, but also a powerful and continuing trend. Therefore, at Heisenbag 2017 Piter, a separate block of reports is devoted to testing web projects.



Alexey Lavrenyuk - Learning to analyze the results of load testing

We are shooting at the Python Tornado demo web service, which is specially written to show performance problems. Alexey will show how resource leakage, heavy cron job, bad algorithms and heavy database queries appear in the load test reports. We will draw conclusions, correct bottlenecks and compare the performance of the service "before" and "after."



Ilya Korobitsyn - Writing Selenium JS Tests for Angular Testing: Pros, Cons, Pitfalls

When creating Selenium tests for modern web applications, it is often difficult to find items on the page or wait for the moment when the view is updated after receiving a response from the server. If the application is written in Angular, then the Protractor framework is designed to help with this, but scripts will have to be written in JavaScript. In this report, we will look at the surprises that this language can present, and try to figure out whether we really need a Protractor, or we can do without it.



Irina Pchelintseva - Moka data for the frontend: how to make efficiently and in demand

In testing various web projects, sooner or later there is a desire to replace data for the frontend. Sometimes the task grows from the needs of manual testing, sometimes from the needs of autotests, and sometimes from the needs of the developers of the frontend themselves. The report will tell about the range of tasks that can be solved by convenient data substitution, which improves and speeds up the development cycle. Let's talk about various implementations, and how we found our ideal - we made data modification not just an engineering opportunity, but a tool that all team members use every day. From and to: why substitute data, what approaches exist, features of the implementation of various components, and how this changes the project in the end.



Frameworks and tools that facilitate testing



As the right combat tactics makes it easier for you to fight and actually predetermines its outcome, the correctly chosen framework speeds up and simplifies development. We select the best of the new tools and invite their maintainers to the conference, so that in one day you can understand and evaluate which new items will best contribute to solving your problems.



Artem Eroshenko - Allure 2: New Generation Test Reports

Every person who encounters automated testing has to parse test results. The more your project, the more reports you have to watch. The world does not stand still, the release cycle is accelerating, some products have time to be released several times a week, and some several times a day.

Allure Framework is a popular autotest report tool that simplifies their analysis. In the report, Artem will tell about the new version of Allure 2. A lot of new things have appeared in it: environment, restarts and test history, display of fixtures, categories of errors and much more. One of the key features is the ability to customize Allure for yourself using a plugin system.



Marc Philipp - JUnit 5 - The New Testing Framework for Java and the Platform for the JVM

A lot of water has flowed over the last decade in the world of Java and testing - and that JUnit 4 goes into oblivion. It was replaced by JUnit 5, designed to focus the future of JVM testing on the capabilities and extensibility of Java 8, as well as on a modern API for testing. In addition, JUnit will no longer be a framework exclusively for Java testing. Third-party companies are in full swing developing test engines for Scala, Groovy, Kotlin, etc., which will work on the new JUnit platform.

At the beginning of this report, we will consider a new programming paradigm for Jupiter using a real example and learn how to migrate 4 tests available on JUnit. Then we analyze the main idea of ​​JUnit 5, take a closer look at its architecture and discuss compatibility with JUnit 4. Next, we examine the Jupiter extension model, the possibilities of their implementation and see how user extensions are created and registered to test conditions, permissions of method parameters, life cycle callbacks etc. Finally, we look at the roadmap: what else is in development and when to expect GA.



Dan Cuellar - Appium: The Language of Automation

Over the past 5 years, Appium has become the de facto standard for automating mobile applications. More recently, support for many other platforms has been added to Appium, from Windows and Mac applications to TV applications. In a world where most products support multiple platforms and devices, it becomes absolutely necessary that you do not need to learn a new framework every time you need to automate a new device. Just as the composer uses the same musical notation for all instruments, the Appium developer can write scripts for all devices in his orchestra using the same protocol.

This report details the latest members of the Appium product family - Appium for Mac and Windows, and also discusses the future of Appium as an automation language and protocol.



Andrei Satarin - Wash your hands before eating, or Sanitizers in testing

As is known, “with great force comes great responsibility.” C ++ is a language with great expressive power and enormous possibilities. These features have to be paid for with potential defects that are not found in programs in managed languages.

Sanitizers are great tools that allow you to find complex defects in C ++ programs. Andrei will talk about these tools, their capabilities and how to use them for the benefit of your project.



Alexey Makhov - We Pump WebDriverAgent, or How to Test iOS Applications After a Nuclear Explosion

When last year Apple with the release of Xcode 8 abandoned the UI Automator, the team of Alexey, like many, was left with nothing. Appium, which was used by them, lost its relevance, they began to look for alternatives and found the tool WebDriverAgent from Facebook. A report on what problems they encountered, how they were solved, and how this affected their testing infrastructure for iOS applications.



Leonid Rudenko - Java → Kotlin: write tests easier

What if you are told that you can write tests in the Kotlin language? Never heard of him? If you use Java, there are reasons why Kotlin may become the language of your tests. Don't panic, Kotlin is that simple. Leonid will tell you how the features of the language allow you to spend less time supporting tests. How much code becomes more concise. And why your favorite libraries and frameworks (for example, JUnit, HtmlELements, Allure) stay with you. And, of course, the most important thing: where to start. Where possible, a comparison with Java and Groovy will be made. If you are testing or developing in Java / Groovy, this report is for you.



As it can be seen with the naked eye, the conference promises to be “fire” - the coolest experts, technologies at the point of attack, battles on the scene and, of course, our proprietary chip are the discussion zones, where after the report each speaker is sent to talk with participants on the sidelines on any pressing issues.

In general, dear comrades, see you on location or online! Learn more details and buy tickets on the conference website: heisenbug-piter.ru

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


All Articles