SlideShare a Scribd company logo
10 причин
моей ненависти
Andrei Solntsev
twitter.com/asolntsev
1. Пэджъ объжекты
2. Параллелизация
3. Параметризация
4. BDD
5. Красивые отчёты
6. TestNG
7. Оверинжиниринг
План
Чем плох
Пэдж обжект?
1/7
Пэдж обжект -
это хорошая идея
но
плохая практика
Классический пэдж обжект
@Test
public void googleSearch() {
GooglePage page = new GooglePage(webdriver);
page.setQuery("selenide");
page.submitQuery();
}
Классический пэдж обжект
public class GooglePage {
@FindBy(name = “q”)
private WebElement queue;
public GooglePage(WebDriver webdriver) {
PageFactory.initElements(webdriver, this);
}
public void setQuery(String query) {
queue.clear();
queue.sendKeys(query);
}
Классический пэдж обжект
public class GooglePage {
@FindBy(name = “q”)
private WebElement queue;
public GooglePage(WebDriver webdriver) {
PageFactory.initElements(webdriver, this);
}
public void setQuery(String query) {
queue.clear();
queue.sendKeys(query);
}
Бойлерплейт!
Selenide пэдж обжект
public class GooglePage {
public void search(String query) {
$(By.name(“q”))
.val(queue)
.pressEnter();
}
}
Чем плох
@FindBy?
Чем плох @FindBy?
public class MyPage {
@FindBy(xpath = "//div[1]/div[2]/input[@name=bd]")
public WebElement birthday;
}
@Test {
MyPage page = new MyPage(webdriver);
birthday.sendKeys("19.03.1955");
}
если изменится локатор,
придётся поменять только в одном месте.
но
меняется не только локатор.
Меняется поведение.
типа
Что, если изменится не это:
public class MyPage {
@FindBy(xpath = "//div[1]/div[2]/input[@name=bd]")
public WebElement birthday;
}
@Test {
MyPage page = new MyPage(webdriver);
birthday.sendKeys("19.03.1955");
}
А вот это:
public class MyPage {
@FindBy(xpath = "//div[1]/div[2]/input[@name=bd]")
public WebElement birthday;
}
@Test {
MyPage page = new MyPage(webdriver);
birthday.sendKeys("19.03.1955");
}
1. Открыть календарь
2. Выбрать год
3. Выбрать месяц...
Упс! Придётся
менять кучу тестов.
данные и операции с ними.
Объект - это поведение.
Объект - это НЕ
Настоящие пэдж-объекты
Решение: поля -> методы
public class MyPage {
public void selectBirthday(String date) {
...
}
}
@Test {
page.selectBirthday("19.03.1955");
}
● Публичный только метод
● Внутри - делай что хочешь
Это инкапсуляция, братан!
Можно приватное поле с @FindBy:
public class MyPage {
@FindBy(xpath = "//div[1]/div[2]/input[@name=bd]")
private WebElement birthday;
public void selectBirthday(String date) {
...
}
}
Можно приватное поле By:
public class MyPage {
private By birthday = By.xpath(“...”);
public void selectBirthday(String date) {
$(birthday).sendKeys(date);
}
}
Можно приватное поле String:
public class MyPage {
private String birthday = “input[name=bday]”;
public void selectBirthday(String date) {
$(birthday).sendKeys(date);
}
}
А можно...
ой, божечки!..
вообще без поля.
public class MyPage {
public void selectBirthday(String date) {
$(“#birthday”).sendKeys(date);
}
}
А что,
так можно было?
Какие проблемы должен решать ПО
Плохие локаторы1.
public class MyPage {
@FindBy(xpath = "//div[1]/div[2]/input[@name=bd]")
private WebElement birthday;
}
Какие проблемы должен решать ПО
2.
Плохие локаторы1.
Дублирование локаторов
Но эти проблемы -
следствия
плохого процесса
Плохой процесс:
● Разрабы не пишут тесты
○ Нет юнит-тестов
● Через UI тестируется много кейсов
○ (но далеко не все!)
● Тесты медленные & нестабильные
○ (хотим отчёты и рипортпорталы)
● QA не сотрудничают с разрабами
Экономически эффективный процесс тестирования
При правильном процессе:
Плохие
локаторы
1. ● Разрабы делают
хорошие локаторы
public class MyPage {
WebElement birthday = $(“#birthday”);
}
ПО больше не такой уж ценный:
При правильном процессе:
2.
Плохие
локаторы
1.
Дублирование
локаторов
● Разрабы делают
хорошие локаторы
● Большинство кейсов покрыто
юнит-тестами.
● UI-тестами покрывается только
один-два сценария
● Каждый локатор используется
мало"Пацан накодил
- пацан протестил!"
Поговори с разрабом!
В чём он заинтересован?
● Он не любит получать по рукам
● Он не хочет, чтобы его фича сломалась
● Он не мечтает фиксить багу все выходные
Поговори с разрабом!
В чём он заинтересован?
● Он не любит получать по рукам
● Он не хочет, чтобы его фича сломалась
● Он не мечтает фиксить багу все выходные
Крошка Енот
Вы можете
помочь
друг другу!
Пэдж обжекты -
техническое решение
для
нетехнической проблемы
А это всегда плохая идея!
Чем плоха
параллелизация?
2/7
Снова плохой процесс
● Нет юнит-тестов
● UI-тестами покрываются многие комбинации
○ Сложные сценарии
○ Медленные сценарии
○ Трудновоспроизводимые сценарии
● Testability на дне
○ Медленный тестовый стенд
● Тесты бегут 12 часов
●
Снова плохой процесс
● Нет юнит-тестов
● UI-тестами покрываются многие комбинации
○ Сложные сценарии
○ Медленные сценарии
○ Трудновоспроизводимые сценарии
● Testability на дне
○ Медленный тестовый стенд
● Почему бы не запустить
параллельно?
● В 100500 потоков?
● Ферма, йопта!
● Клауд, йопта!
● TestNG, йопта!
● Я теперь SDET, йопта!
При правильном процессе:
● Юнит-тестов много
● UI-тестов мало
● Они бегут быстро
Экономически эффективный
процесс тестирования
Test Pyramid
Чак Норрис
не параллелит тесты
Они и в одном потоке быстро бегут
Чак Норрис
не параллелит тесты
Чак Норрис
ПЕРПЕНДИКУЛЯРИТ тесты!
Параллелить, конечно, можно,
если всё остальное решено:
14 часов -> 3 часа
не норм!
40 минут -> 10
норм!
Чем плохи
параметризированные
тесты?
3/7
Болезнь индустрии
-
Слишком много через UI тесты
а
параметризированные тесты
делают это проще
Параметризированные тесты
:
Для UI-тестов
плохо!
Для unit-тестов
хорошо!
Чем плох
BDD?
4/7
BDD -
это офигенная идея
но
она не работает
BDD - это
язык для
заказчика и исполнителя
взаимодействия
(в теории)
BDD - это
отчёты с картинками
заказчик не читает
которые
(на практике)
Это не про тесты
Это про разработку
Это не про отчёты
Это про взаимодействие
с заказчиком
BDD
Bullshit driven development
BDD обещает Красивые отчёты
Менеджер надеется
решить
Отсутствие доверия к команде.
Непрозрачный рабочий процесс.
Решает ли BDD
эту проблему?
Нет.
Доверия как не было, так и нет.
BDD: Болезни vs. симптомы
BDD обещает Красивые отчёты
Менеджер надеется
решить
Показать своему боссу /
заказчику, что "у нас всё круто",
работа кипит.
Какая проблема
на самом деле
Этот менеджер - промежуточный
человек, ничего полезного в
проект не привносит.
Решает ли BDD
эту проблему?
Нет.
Гнать таких в шею - вот решение.
BDD обещает
тесты смогут писать даже
нетехнические люди
Менеджер надеется
решить
Технарей мало, они всё не
успевают. Хочется часть работы
переложить на гуманитариев.
Решает ли BDD
эту проблему?
Нет.
Вся работа по поддержке степов
и прочей БелиБерДы по-любому
ложится на плечи технарей.P.S. Кстати, толковых гуманитариев тоже мало.
А бестолковые только мешают.
Что
не так
с отчётами? 5/7
● отчёт JUnit/TestNG - достаточно хорош
● Selenide добавляет скриншот+html
Element should be hidden {#gameWin}
Element: '<img class="gameOver" id="gameWin" src="img/thumbs-up.jpeg"></img>'
Screenshot: file:/.../hangman/build/reports/tests/1510751914648.0.png
Page source: file:/.../hangman/build/reports/tests/1510751914648.0.html
Timeout: 4 s.
Этого достаточно!
Что не так с
TestNG? 6/7
Разница между JUnit и TestNG
JUnit TestNG
Новый инстанс перед
каждым тестом
Один инстанс на все
тест-методы
JUnit pain
JUnit TestNG
Created MyTest
Created MyTest
Created MyTest
public class MyTest {
public MyTest() {
System.out.println(“Created MyTest”);
}
@Test public void testA() {}
@Test public void testB() {}
@Test public void testC() {}
}
Created MyTest
JUnit TestNG
public class MyTest {
Foo foo = mock(Foo.class);
Counter cnt = new Counter(0);
}
public class MyTest {
Foo foo;
Counter cnt;
@BeforeEach
public void setUp() {
foo = mock(Foo.class);
cnt = new Counter(0);
}
}
Почему это важно?
Риск зависимых тестов!
Фичи TestNG
● Конфигурация в XML
● Порядок тестов
● Зависимые тесты
(которых нет в JUnit)
Эти фичи - ЗЛО!
Не используй их, братан!
TestNG
“Не хочешь злые фичи - не используй.
Никто ж не заставляет.”
Бог с вами, хотите - используйте TestNG.
Но не называйте его “тулом для продвинутого
интеграционного тестирования”.
Он для неэффективного, неуправляемого,
медленного, нестабильного
интеграционного тестирования.
Arrange, mazafaka!
Беда IT -
оверинжиниринг!
7/7
Оверинжиниринг
protected void waitForElementClickable(By locator, Integer... timeOutInSeconds) {
int attempts = 0;
while (attempts < 2) {
try {
waitFor(elementToBeClickable(locator),
(timeOutInSeconds.length > 0 ? timeOutInSeconds[0] : null));
break;
} catch (StaleElementReferenceException e) {
}
attempts++;
}
void waitFor(ExpectedCondition<WebElement> condition, Integer timeOutInSeconds) {
timeOutInSeconds = timeOutInSeconds != null ? timeOutInSeconds : 30;
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(condition);
}
Оверинжиниринг
protected void waitForElementClickable(By locator, Integer... timeOutInSeconds) {
int attempts = 0;
while (attempts < 2) {
try {
waitFor(elementToBeClickable(locator),
(timeOutInSeconds.length > 0 ? timeOutInSeconds[0] : null));
break;
} catch (StaleElementReferenceException e) {
}
attempts++;
}
void waitFor(ExpectedCondition<WebElement> condition, Integer timeOutInSeconds) {
timeOutInSeconds = timeOutInSeconds != null ? timeOutInSeconds : 30;
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(condition);
}
Оверинжиниринг
protected void waitForElementClickable(By locator, Integer... timeOutInSeconds) {
int attempts = 0;
while (attempts < 2) {
try {
waitFor(elementToBeClickable(locator),
(timeOutInSeconds.length > 0 ? timeOutInSeconds[0] : null));
break;
} catch (StaleElementReferenceException e) {
}
attempts++;
}
void waitFor(ExpectedCondition<WebElement> condition, Integer timeOutInSeconds) {
timeOutInSeconds = timeOutInSeconds != null ? timeOutInSeconds : 30;
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(condition);
}
KISS
protected void waitForElementClickable(By locator, int timeout) {
new WebDriverWait(driver, timeout).until(condition);
}
protected void waitForElementClickable(By locator) {
waitForElementClickable(locator, 30);
}
: Keep it scuko simple!
KISS by Selenide
$(locator).click();
$(locator).shouldBe(visible).click();
$(locator).waitUntil(visible, 30_000).click();
Винтовка -
Выбор профессионала -
Оружие новичка.
НОЖ!
Самая опасная идея
та,
которая кажется хорошей.
Douglas Crockford
JavaScript: The Good Parts
Андрей Солнцев
@asolntsev
ru.selenide.org
Больше видео
Спасибо за фотки:
1. https://stories.genvagula.com/my-magical-estonia-500aafd5b2c0
2. https://www.facebook.com/stan.vasilyev
3. https://i-love-tallinn.livejournal.com/306474.html
4. https://www.facebook.com/lyosha.razin
5. https://www.facebook.com/ttrk19/

More Related Content

What's hot

презентація обдар.діти
презентація обдар.дітипрезентація обдар.діти
презентація обдар.дітиIra Kudrina
 
5 КЛАС презентация 5 клас (1)
5 КЛАС презентация 5 клас (1)5 КЛАС презентация 5 клас (1)
5 КЛАС презентация 5 клас (1)
school8zv
 
Компетентнісний підхід у у сучасній освіті
Компетентнісний підхід у у сучасній освітіКомпетентнісний підхід у у сучасній освіті
Компетентнісний підхід у у сучасній освіті
StAlKeRoV
 
інноваційні технології навчання на уроках інформатики
інноваційні технології навчання на уроках інформатикиінноваційні технології навчання на уроках інформатики
інноваційні технології навчання на уроках інформатики
StAlKeRoV
 
Опора і рух. Види скелетів і способи пересування безхребетних тварин.
Опора і рух. Види скелетів і способи пересування безхребетних тварин.Опора і рух. Види скелетів і способи пересування безхребетних тварин.
Опора і рух. Види скелетів і способи пересування безхребетних тварин.
labinskiir-33
 
Презентація:Властивості множення раціональних чисел
Презентація:Властивості множення раціональних чиселПрезентація:Властивості множення раціональних чисел
Презентація:Властивості множення раціональних чисел
sveta7940
 
Екологічне виховання школярів на уроках хімії та біології
Екологічне виховання школярів на уроках хімії та біологіїЕкологічне виховання школярів на уроках хімії та біології
Екологічне виховання школярів на уроках хімії та біологіїUgledar_UVK
 
презентація до уроку №3
презентація до уроку №3презентація до уроку №3
презентація до уроку №3
Марганецкая школа №5
 
тварини рекордсмени
тварини рекордсменитварини рекордсмени
тварини рекордсмени
Романчук Марія
 
9 asz m_u
9 asz m_u9 asz m_u
9 asz m_u
UA7009
 
Проблемно-пошукові методи навчання на уроках біології
Проблемно-пошукові методи навчання на уроках біології Проблемно-пошукові методи навчання на уроках біології
Проблемно-пошукові методи навчання на уроках біології
Наталья Полищук
 
Презентація радіоактивність
Презентація радіоактивністьПрезентація радіоактивність
Презентація радіоактивність
ivan1660
 
Презентація:Чотирикутники (узагальнення та систематизація знань)
Презентація:Чотирикутники (узагальнення та систематизація знань)Презентація:Чотирикутники (узагальнення та систематизація знань)
Презентація:Чотирикутники (узагальнення та систематизація знань)
sveta7940
 
Презентация досвіду Макаренко І. В.
Презентация досвіду    Макаренко І. В.  Презентация досвіду    Макаренко І. В.
Презентация досвіду Макаренко І. В.
ЗШ № 8
 
炎炎夏日學 Android 課程 - Part1: Kotlin 語法介紹
炎炎夏日學 Android 課程 -  Part1: Kotlin 語法介紹炎炎夏日學 Android 課程 -  Part1: Kotlin 語法介紹
炎炎夏日學 Android 課程 - Part1: Kotlin 語法介紹
Johnny Sung
 
Хімічний склад продуктів харчування
Хімічний склад продуктів харчуванняХімічний склад продуктів харчування
Хімічний склад продуктів харчування
kostyuchik
 
Творчий звіт кривчик м.і. вчителя біології
Творчий звіт кривчик м.і.  вчителя біологіїТворчий звіт кривчик м.і.  вчителя біології
Творчий звіт кривчик м.і. вчителя біології
Вера Харченко
 
Дидактичні матеріали з математики для 11 класу рівня стандарту
Дидактичні матеріали з математики для 11 класу рівня стандартуДидактичні матеріали з математики для 11 класу рівня стандарту
Дидактичні матеріали з математики для 11 класу рівня стандарту
zologym
 
Основні типи задач на розвязування трикутників
Основні типи задач на розвязування трикутниківОсновні типи задач на розвязування трикутників
Основні типи задач на розвязування трикутників
Прострельчук Наталья
 
Методичний посібник «Правильні многокутники»
Методичний посібник «Правильні многокутники»Методичний посібник «Правильні многокутники»
Методичний посібник «Правильні многокутники»
Valyu66
 

What's hot (20)

презентація обдар.діти
презентація обдар.дітипрезентація обдар.діти
презентація обдар.діти
 
5 КЛАС презентация 5 клас (1)
5 КЛАС презентация 5 клас (1)5 КЛАС презентация 5 клас (1)
5 КЛАС презентация 5 клас (1)
 
Компетентнісний підхід у у сучасній освіті
Компетентнісний підхід у у сучасній освітіКомпетентнісний підхід у у сучасній освіті
Компетентнісний підхід у у сучасній освіті
 
інноваційні технології навчання на уроках інформатики
інноваційні технології навчання на уроках інформатикиінноваційні технології навчання на уроках інформатики
інноваційні технології навчання на уроках інформатики
 
Опора і рух. Види скелетів і способи пересування безхребетних тварин.
Опора і рух. Види скелетів і способи пересування безхребетних тварин.Опора і рух. Види скелетів і способи пересування безхребетних тварин.
Опора і рух. Види скелетів і способи пересування безхребетних тварин.
 
Презентація:Властивості множення раціональних чисел
Презентація:Властивості множення раціональних чиселПрезентація:Властивості множення раціональних чисел
Презентація:Властивості множення раціональних чисел
 
Екологічне виховання школярів на уроках хімії та біології
Екологічне виховання школярів на уроках хімії та біологіїЕкологічне виховання школярів на уроках хімії та біології
Екологічне виховання школярів на уроках хімії та біології
 
презентація до уроку №3
презентація до уроку №3презентація до уроку №3
презентація до уроку №3
 
тварини рекордсмени
тварини рекордсменитварини рекордсмени
тварини рекордсмени
 
9 asz m_u
9 asz m_u9 asz m_u
9 asz m_u
 
Проблемно-пошукові методи навчання на уроках біології
Проблемно-пошукові методи навчання на уроках біології Проблемно-пошукові методи навчання на уроках біології
Проблемно-пошукові методи навчання на уроках біології
 
Презентація радіоактивність
Презентація радіоактивністьПрезентація радіоактивність
Презентація радіоактивність
 
Презентація:Чотирикутники (узагальнення та систематизація знань)
Презентація:Чотирикутники (узагальнення та систематизація знань)Презентація:Чотирикутники (узагальнення та систематизація знань)
Презентація:Чотирикутники (узагальнення та систематизація знань)
 
Презентация досвіду Макаренко І. В.
Презентация досвіду    Макаренко І. В.  Презентация досвіду    Макаренко І. В.
Презентация досвіду Макаренко І. В.
 
炎炎夏日學 Android 課程 - Part1: Kotlin 語法介紹
炎炎夏日學 Android 課程 -  Part1: Kotlin 語法介紹炎炎夏日學 Android 課程 -  Part1: Kotlin 語法介紹
炎炎夏日學 Android 課程 - Part1: Kotlin 語法介紹
 
Хімічний склад продуктів харчування
Хімічний склад продуктів харчуванняХімічний склад продуктів харчування
Хімічний склад продуктів харчування
 
Творчий звіт кривчик м.і. вчителя біології
Творчий звіт кривчик м.і.  вчителя біологіїТворчий звіт кривчик м.і.  вчителя біології
Творчий звіт кривчик м.і. вчителя біології
 
Дидактичні матеріали з математики для 11 класу рівня стандарту
Дидактичні матеріали з математики для 11 класу рівня стандартуДидактичні матеріали з математики для 11 класу рівня стандарту
Дидактичні матеріали з математики для 11 класу рівня стандарту
 
Основні типи задач на розвязування трикутників
Основні типи задач на розвязування трикутниківОсновні типи задач на розвязування трикутників
Основні типи задач на розвязування трикутників
 
Методичний посібник «Правильні многокутники»
Методичний посібник «Правильні многокутники»Методичний посібник «Правильні многокутники»
Методичний посібник «Правильні многокутники»
 

Similar to QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти

10M tests per day
10M tests per day10M tests per day
10M tests per day
Sergey Grinev
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov
 
Светлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
SQALab
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
Svetlana Fedyanina
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.
Mad Devs
 
Can we have some more quality - Russian version
Can we have some more quality - Russian versionCan we have some more quality - Russian version
Can we have some more quality - Russian version
Alexander Pushkarev
 
JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1
sgdread
 
Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot Starter
Aleksandr Tarasov
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестированияIgor Pozumentov
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
10_tips_for_become_qa
10_tips_for_become_qa10_tips_for_become_qa
10_tips_for_become_qa
SoftengiTrainingCenter
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Dima Denisenko
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
HappyDev
 
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Javakranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в JavaKrivoy Rog IT Community
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииGleb Rybalko
 
Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2
Magneta AI
 
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Dmytro Mindra
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
Alexey Krivitsky
 

Similar to QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти (20)

10M tests per day
10M tests per day10M tests per day
10M tests per day
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Светлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.
 
Can we have some more quality - Russian version
Can we have some more quality - Russian versionCan we have some more quality - Russian version
Can we have some more quality - Russian version
 
JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1
 
Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot Starter
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
10_tips_for_become_qa
10_tips_for_become_qa10_tips_for_become_qa
10_tips_for_become_qa
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Javakranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2
 
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 

More from QAFest

QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QAFest
 
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QAFest
 
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QAFest
 
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QAFest
 
QA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать большеQA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать больше
QAFest
 
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
QAFest
 
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Сергей Новик. Между мотивацией и выгораниемQA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QAFest
 
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QAFest
 
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QAFest
 
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium ClusterQA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QAFest
 
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QAFest
 
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QAFest
 
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automationQA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QAFest
 
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QAFest
 
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QAFest
 
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях ITQA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QAFest
 
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложенииQA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QAFest
 
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QAFest
 
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QAFest
 
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QAFest
 

More from QAFest (20)

QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
 
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
 
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
 
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
 
QA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать большеQA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать больше
 
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
 
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Сергей Новик. Между мотивацией и выгораниемQA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
 
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
 
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
 
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium ClusterQA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
 
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
 
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
 
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automationQA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
 
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
 
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
 
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях ITQA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
 
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложенииQA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
 
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
 
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
 
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
 

QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти