SlideShare una empresa de Scribd logo
1 de 37
МУТАНТИ
АТАКУЮТЬ!
ЧИ ЗМОЖУТЬ ВАШІ ТЕСТИ ВСТОЯТИ?
ХТО Я?
Ярослав Пернеровський
GlobalLogic
QA Factory
Skype: y.pernerovskyy
Mail: yaroslavp@qafactory.ua
МУТАЦІЙНЕ ТЕСТУВАННЯ
(МУТАЦІЙНИЙ АНАЛІЗ)
ЯКІСТЬ ТЕСТІВ ЯК ОСНОВА
ЯКОСТІ КОДУ
Яким же чином я можу оцінити якість тестів?
ЯК?
Ніяк! Просто використовуй TDD, цього достатньо!
Потрібно проводити регулярні рев’ю коду тестів
Постійно вимірювати і збільшувати тестове покриття
Точно, чим більше покриття, тим кращі наші тести
• line coverage
• statement coverage
• branch coverage
• ….
public class Item
{
private int quantity;
public int getStrangeQuantity()
{
return (quantity <= 0) ? 0 : 10;
}
public void addItem(int value)
{
quantity = value;
}
public void resetItem()
{
quantity = 0;
}
}
public void addItem(int value)
{
quantity = value;
}
public void resetItem()
{
quantity = 0;
}
public int getStrangeQuantity()
{
return (quantity <= 0) ? 0 : 10;
}
public class ItemTest
{
Item item = new Item();
@Test
public void testLessThenZerro()
{
item.addItem(-10);
assertEquals(0, item.getStrangeQuantity());
}
@Test
public void testMoreThanZerro()
{
item.addItem(5);
assertEquals(10, item.getStrangeQuantity());
}
}
@Test
public void testLessThenZero()
{
item.addItem(-10);
assertEquals(0, item.getStrangeQuantity());
}
@Test
public void testMoreThanZero()
{
item.addItem(5);
assertEquals(10, item.getStrangeQuantity());
}
public class Item
{
private int quantity;
public int getStrangeQuantity()
{
return (quantity <= 0) ? 0 : 10;
}
public void addItem(int value)
{
quantity = value;
}
public void resetItem()
{
quantity = 0;
}
}
public class Item
{
private int quantity;
public int getStrangeQuantity()
{
return (quantity < 0) ? 0 : 10;
}
public void addItem(int value)
{
quantity = value;
}
public void resetItem()
{
quantity = 0;
}
}
// change < to <=
public class ItemTest
{
Item item = new Item();
@Test
public void testLessThenZero()
{
item.addItem(-10);
assertEquals(0, item.getStrangeQuantity());
}
@Test
public void testMoreThanZero()
{
item.addItem(5);
assertEquals(10, item.getStrangeQuantity());
}
}
public class ItemTest
{
Item item = new Item();
@Test
public void testLessThenZero()
{
item.addItem(-10);
assertEquals(0, item.getStrangeQuantity());
}
@Test
public void testMoreThanZero()
{
item.addItem(5);
assertEquals(10, item.getStrangeQuantity());
}
@Test
public void testEqualZero()
{
item.addItem(0);
assertEquals(0, item.getStrangeQuantity());
}
}
<-----
public class ItemTest
{
Item item = new Item();
@Test
public void testAddItems()
{
item.addItem(-5);
item.addItem(5);
item.addItem(0);
}
@Test
public void testResetItem()
{
item.resetItem();
assertEquals(0, item.getStrangeQuantity());
}
}
Покриття 100% !!!
НАВІТЬ 100% ПОКРИТТЯ
НІЧОГО НЕ ГАРАНТУЄ
ІДЕЯ
Richard J. Lipton
Професор кафедри Комп'ютерних
Технологій в Комп’ютерному Коледжі
Технологічного Інституту Джорджії
ІДЕЯ
Навмисно змінити існуючий код
(створити мутанта)
Запустити тест
Тест впав  мутанта знищено
Тест пройшов  мутант вижив
МОЖЛИВІ МУТАЦІЇ
(МУТАЦІЙНІ ОПЕРАТОРИ)
==  !=
<=  <
>  <
!=  ==
foo.bar();  //foo.bar();
foo.bar();  foo.anotherBar();
0  1
true  false
return something;  return null;
...
ПРОБЛЕМА ВІЧНО ЖИВИХ
МУТАНТІВ
public void makeSomething(int value){
if (value <= 10){
throw new IllegalArgumentexception();
}
if (value >= 10){
executeSomeLogic();
}
}
public void makeSomething(int value){
if (value <= 10){
throw new IllegalArgumentexception();
}
if (value > 10){
executeSomeLogic();
}
}
public void makeSomething(int value){
if (value <= 10){
throw new IllegalArgumentexception();
}
executeSomeLogic();
}
ПРОБЛЕМА ВІЧНО ЖИВИХ
МУТАНТІВ
public int makeSomething(){
int value;
value=0;
....
....
return value++;
}
public int makeSomething(){
int value;
value=0;
....
....
return value++;
}
ЕКВІВАЛЕНТНІ МУТАЦІЇ
Безглуздий або мертвий код
Впливають тільки на швидкодію
Не можуть бути викликані згідно існуючої
логіки виконання
Змінюють тільки внутрішній стан класу
ЯК ЦЕ ПРАЦЮЄ
Вибрати
мутацію
Створити
мутанта
Компіля
ція
Тест
Аналіз
Згенерувати
список
мутацій
ВІД ІДЕЇ ДО РЕАЛІЗАЦІЇ
1971 - перші теоретичні дослідження
1980 - перший робочий прототип
2003 - перша комерційна реалізація
ПРОБЛЕМИ ІНСТРУМЕНТІВ
МУТАЦІЙНОГО ТЕСТУВАННЯ?
Загальна швидкодія
Складність розпізнавання
еквівалентних мутацій
Проблеми з системами неперервної
інтеграції
Абсолютно неприйнятні витрати часу!
АБСОЛЮТНО НЕПРИЙНЯТНІ
ВИТРАТИ ЧАСУ
joda.time
68k - рядків коду
70k – рядків тестового коду
5 секунд компіляція
9 секунд на тести
АБСОЛЮТНО НЕПРИЙНЯТНІ
ВИТРАТИ ЧАСУ
Використаємо 10 типів мутаційних операторів
Нехай буде згенеровано 10000 мутантів
Припустимо, що мутант компілюється за 1 секунду
2.5 години тільки на генерацію мутантів
Запустимо тести 10000 разів
25 годин
25 ГОДИН!
ЩО РОБИТИ?
Не мутувати код напряму щоб уникнути перекомпіляції
Генерувати мутантів прямо в байт коді (ASM, BCEL)
Підключити здоровий глузд
Не мутувати той код, який не покритий тестами
Не запускати ті тести, які не тестуют мутований код
Використовувати паралелізм
Використовувати інкрементальний аналіз
СУЧАСНІ СИСТЕМИ
Генерація мутантів – код, BCEL, ASM
Вибір мутантів – вручну, все підряд, за певними умовами,
враховуючи покриття
Дететкція мутантів – прогон всіх тестів, селекція і ранній вихід
Предствлення результів – звичайний текст, форматований
текст, підсвітка коду
Структурований формат – так, ні
Підтримка тестових фреймворків – TestNG, Junit
Підтримка мок фреймворків – Mickito, Powermock, EasyMock,
Jmock і т.п.
Підтримка білд систем – Ant, Maven
Генерація Вибір Детекція Звіт СФ Тест Мок Білд
Jester код все всі код ні Junit ні ні
Simple Jester код все всі код ні Junit ні ні
Jumble BCEL умови РВ текст ні Junit так ant
PIT ASM покриття РВ код так так так так
µ Java код вручну ні код ні ні ні ні
javaLanche ASM покриття РВ ф.текст так Junit ні ні
СУЧАСНІ СИСТЕМИ
http://pitest.org/java_mutation_testing_systems/
PIT
ЧОМУ PIT?
Швидкодія
Інтеграція
Модернізація
Конфігурація
Підтримка
ШВИДКОДІЯ
joda.time
10303 – мутанти
9 хвилин 45 секунд!
ІНТЕГРАЦІЯ
Maven
Ant
Gradle
Sonar
Eclipse
Intellij
КОНФІГУРАЦІЯ
16 типів мутаційних операторів
Паралельний аналіз
Інкрементальний аналіз
МОДЕРНІЗАЦІЯ
Open Source
API для плагінів
ПІДТРИМКА
Henry Coles
Поточна версія
1.1.7 - Вересень 2015
http://pitest.org/about/
ДЯКУЮ ЗА УВАГУ
ВАШІ ЗАПИТАННЯ?

Más contenido relacionado

Destacado

QA Fest 2015. Владимир Примаков. Процесс нагрузочного тестирования и его план...
QA Fest 2015. Владимир Примаков. Процесс нагрузочного тестирования и его план...QA Fest 2015. Владимир Примаков. Процесс нагрузочного тестирования и его план...
QA Fest 2015. Владимир Примаков. Процесс нагрузочного тестирования и его план...QAFest
 
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...QAFest
 
QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
QA Fest 2015. Иван Пашко. XPath yourself. Tips & TricksQA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
QA Fest 2015. Иван Пашко. XPath yourself. Tips & TricksQAFest
 
QA Fest 2015. Вадим Чехович. Тестирование почты: JavaMail API
QA Fest 2015. Вадим Чехович. Тестирование почты: JavaMail APIQA Fest 2015. Вадим Чехович. Тестирование почты: JavaMail API
QA Fest 2015. Вадим Чехович. Тестирование почты: JavaMail APIQAFest
 
QA Fest 2015. Максим Ильницкий. Роль PMO при организации проектной деятельно...
QA Fest 2015. Максим Ильницкий. Роль PMO при организации проектной деятельно...QA Fest 2015. Максим Ильницкий. Роль PMO при организации проектной деятельно...
QA Fest 2015. Максим Ильницкий. Роль PMO при организации проектной деятельно...QAFest
 
QA Fest 2015. Алена Черненко-Дыба и Алексей Лупан. Секреты успешного проекта...
QA Fest 2015. Алена Черненко-Дыба и Алексей Лупан. Секреты успешного проекта...QA Fest 2015. Алена Черненко-Дыба и Алексей Лупан. Секреты успешного проекта...
QA Fest 2015. Алена Черненко-Дыба и Алексей Лупан. Секреты успешного проекта...QAFest
 
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибки
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибкиQA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибки
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибкиQAFest
 
QA Fest 2015. Виктор Гожий. SCRUM в QA команде и как с этим жить.
QA Fest 2015. Виктор Гожий. SCRUM в QA команде и как с этим жить.QA Fest 2015. Виктор Гожий. SCRUM в QA команде и как с этим жить.
QA Fest 2015. Виктор Гожий. SCRUM в QA команде и как с этим жить.QAFest
 
QA Fest 2015. Катерина Овеченко. Топ 5 уязвимостей, о которых стоит знать
QA Fest 2015. Катерина Овеченко. Топ 5 уязвимостей, о которых стоит знатьQA Fest 2015. Катерина Овеченко. Топ 5 уязвимостей, о которых стоит знать
QA Fest 2015. Катерина Овеченко. Топ 5 уязвимостей, о которых стоит знатьQAFest
 
QA Fest 2015. Юрий Федько. XSS - от простого к сложному!
QA Fest 2015. Юрий Федько. XSS - от простого к сложному!QA Fest 2015. Юрий Федько. XSS - от простого к сложному!
QA Fest 2015. Юрий Федько. XSS - от простого к сложному!QAFest
 
QA Fes 2016. Gerlof Hoekstra. E2E Testing the Ministry Of Justice Biometric I...
QA Fes 2016. Gerlof Hoekstra. E2E Testing the Ministry Of Justice Biometric I...QA Fes 2016. Gerlof Hoekstra. E2E Testing the Ministry Of Justice Biometric I...
QA Fes 2016. Gerlof Hoekstra. E2E Testing the Ministry Of Justice Biometric I...QAFest
 
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...QAFest
 
QA Fest 2015. Сергей Пирогов. Красивые JBehave отчеты
QA Fest 2015. Сергей Пирогов. Красивые JBehave отчетыQA Fest 2015. Сергей Пирогов. Красивые JBehave отчеты
QA Fest 2015. Сергей Пирогов. Красивые JBehave отчетыQAFest
 
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarkt
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarktQA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarkt
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarktQAFest
 
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...QAFest
 
QA Fes 2016. Катерина Овеченко & Михаил Дырда. История одной авантюры: наш не...
QA Fes 2016. Катерина Овеченко & Михаил Дырда. История одной авантюры: наш не...QA Fes 2016. Катерина Овеченко & Михаил Дырда. История одной авантюры: наш не...
QA Fes 2016. Катерина Овеченко & Михаил Дырда. История одной авантюры: наш не...QAFest
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQAFest
 

Destacado (17)

QA Fest 2015. Владимир Примаков. Процесс нагрузочного тестирования и его план...
QA Fest 2015. Владимир Примаков. Процесс нагрузочного тестирования и его план...QA Fest 2015. Владимир Примаков. Процесс нагрузочного тестирования и его план...
QA Fest 2015. Владимир Примаков. Процесс нагрузочного тестирования и его план...
 
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...
 
QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
QA Fest 2015. Иван Пашко. XPath yourself. Tips & TricksQA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
 
QA Fest 2015. Вадим Чехович. Тестирование почты: JavaMail API
QA Fest 2015. Вадим Чехович. Тестирование почты: JavaMail APIQA Fest 2015. Вадим Чехович. Тестирование почты: JavaMail API
QA Fest 2015. Вадим Чехович. Тестирование почты: JavaMail API
 
QA Fest 2015. Максим Ильницкий. Роль PMO при организации проектной деятельно...
QA Fest 2015. Максим Ильницкий. Роль PMO при организации проектной деятельно...QA Fest 2015. Максим Ильницкий. Роль PMO при организации проектной деятельно...
QA Fest 2015. Максим Ильницкий. Роль PMO при организации проектной деятельно...
 
QA Fest 2015. Алена Черненко-Дыба и Алексей Лупан. Секреты успешного проекта...
QA Fest 2015. Алена Черненко-Дыба и Алексей Лупан. Секреты успешного проекта...QA Fest 2015. Алена Черненко-Дыба и Алексей Лупан. Секреты успешного проекта...
QA Fest 2015. Алена Черненко-Дыба и Алексей Лупан. Секреты успешного проекта...
 
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибки
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибкиQA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибки
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибки
 
QA Fest 2015. Виктор Гожий. SCRUM в QA команде и как с этим жить.
QA Fest 2015. Виктор Гожий. SCRUM в QA команде и как с этим жить.QA Fest 2015. Виктор Гожий. SCRUM в QA команде и как с этим жить.
QA Fest 2015. Виктор Гожий. SCRUM в QA команде и как с этим жить.
 
QA Fest 2015. Катерина Овеченко. Топ 5 уязвимостей, о которых стоит знать
QA Fest 2015. Катерина Овеченко. Топ 5 уязвимостей, о которых стоит знатьQA Fest 2015. Катерина Овеченко. Топ 5 уязвимостей, о которых стоит знать
QA Fest 2015. Катерина Овеченко. Топ 5 уязвимостей, о которых стоит знать
 
QA Fest 2015. Юрий Федько. XSS - от простого к сложному!
QA Fest 2015. Юрий Федько. XSS - от простого к сложному!QA Fest 2015. Юрий Федько. XSS - от простого к сложному!
QA Fest 2015. Юрий Федько. XSS - от простого к сложному!
 
QA Fes 2016. Gerlof Hoekstra. E2E Testing the Ministry Of Justice Biometric I...
QA Fes 2016. Gerlof Hoekstra. E2E Testing the Ministry Of Justice Biometric I...QA Fes 2016. Gerlof Hoekstra. E2E Testing the Ministry Of Justice Biometric I...
QA Fes 2016. Gerlof Hoekstra. E2E Testing the Ministry Of Justice Biometric I...
 
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...
QA Fest 2014. Александра Волкова. Тестирование Enterprise Service Bus что где...
 
QA Fest 2015. Сергей Пирогов. Красивые JBehave отчеты
QA Fest 2015. Сергей Пирогов. Красивые JBehave отчетыQA Fest 2015. Сергей Пирогов. Красивые JBehave отчеты
QA Fest 2015. Сергей Пирогов. Красивые JBehave отчеты
 
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarkt
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarktQA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarkt
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarkt
 
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
 
QA Fes 2016. Катерина Овеченко & Михаил Дырда. История одной авантюры: наш не...
QA Fes 2016. Катерина Овеченко & Михаил Дырда. История одной авантюры: наш не...QA Fes 2016. Катерина Овеченко & Михаил Дырда. История одной авантюры: наш не...
QA Fes 2016. Катерина Овеченко & Михаил Дырда. История одной авантюры: наш не...
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
 

Similar a QA Fest 2015. Ярослав Пернеровский. Мутанты наступают - смогут ли ваши тесты выстоять?

МИХАЙЛО БОДНАРЧУК «Як перестати боятись та полюбити автотести на JavaScript» ...
МИХАЙЛО БОДНАРЧУК «Як перестати боятись та полюбити автотести на JavaScript» ...МИХАЙЛО БОДНАРЧУК «Як перестати боятись та полюбити автотести на JavaScript» ...
МИХАЙЛО БОДНАРЧУК «Як перестати боятись та полюбити автотести на JavaScript» ...GoQA
 
Code driven testing -- oleksandr pavlyshak
Code driven testing -- oleksandr pavlyshakCode driven testing -- oleksandr pavlyshak
Code driven testing -- oleksandr pavlyshakIgor Bronovskyy
 
Структура тест-кейсу та звіту про помилки.pptx
Структура тест-кейсу та звіту про помилки.pptxСтруктура тест-кейсу та звіту про помилки.pptx
Структура тест-кейсу та звіту про помилки.pptxssuser40c4fa
 
РОМАН ЯКИМЧУК  "Задачі Тест Аналітика”  
РОМАН ЯКИМЧУК  "Задачі Тест Аналітика”  РОМАН ЯКИМЧУК  "Задачі Тест Аналітика”  
РОМАН ЯКИМЧУК  "Задачі Тест Аналітика”  Dakiry
 
критерії оцінювання успішності навчальної роботи студентів
критерії оцінювання успішності навчальної роботи студентівкритерії оцінювання успішності навчальної роботи студентів
критерії оцінювання успішності навчальної роботи студентівcdecit
 
Тестування ПЗ
Тестування ПЗТестування ПЗ
Тестування ПЗKyrylo Bezpalyi
 
CoreCamp "Automated testing basics for developers"
CoreCamp "Automated testing basics for developers"CoreCamp "Automated testing basics for developers"
CoreCamp "Automated testing basics for developers"Bohdan Pashkovskyi
 
Тестування з допомогою PHPUnit
Тестування з допомогою PHPUnitТестування з допомогою PHPUnit
Тестування з допомогою PHPUnitAndriy Nasinnyk
 
"Unit testing in AngularJS" Виктор Зозуляк
"Unit testing in AngularJS" Виктор Зозуляк"Unit testing in AngularJS" Виктор Зозуляк
"Unit testing in AngularJS" Виктор ЗозулякFwdays
 
Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиці
Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиціРоман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиці
Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиціGoQA
 
Anton Serputko Start performance-testing-from-scratch, BAQ
Anton Serputko Start performance-testing-from-scratch, BAQAnton Serputko Start performance-testing-from-scratch, BAQ
Anton Serputko Start performance-testing-from-scratch, BAQDakiry
 

Similar a QA Fest 2015. Ярослав Пернеровский. Мутанты наступают - смогут ли ваши тесты выстоять? (20)

Code driven testing (UA)
Code driven testing (UA)Code driven testing (UA)
Code driven testing (UA)
 
МИХАЙЛО БОДНАРЧУК «Як перестати боятись та полюбити автотести на JavaScript» ...
МИХАЙЛО БОДНАРЧУК «Як перестати боятись та полюбити автотести на JavaScript» ...МИХАЙЛО БОДНАРЧУК «Як перестати боятись та полюбити автотести на JavaScript» ...
МИХАЙЛО БОДНАРЧУК «Як перестати боятись та полюбити автотести на JavaScript» ...
 
Code driven testing -- oleksandr pavlyshak
Code driven testing -- oleksandr pavlyshakCode driven testing -- oleksandr pavlyshak
Code driven testing -- oleksandr pavlyshak
 
The Magic of Test Automation
The Magic of Test AutomationThe Magic of Test Automation
The Magic of Test Automation
 
Clean code (UA)
Clean code (UA)Clean code (UA)
Clean code (UA)
 
cpp-2013 #16 Automated testing
cpp-2013 #16 Automated testingcpp-2013 #16 Automated testing
cpp-2013 #16 Automated testing
 
Design patterns part 1
Design patterns part 1Design patterns part 1
Design patterns part 1
 
Структура тест-кейсу та звіту про помилки.pptx
Структура тест-кейсу та звіту про помилки.pptxСтруктура тест-кейсу та звіту про помилки.pptx
Структура тест-кейсу та звіту про помилки.pptx
 
РОМАН ЯКИМЧУК  "Задачі Тест Аналітика”  
РОМАН ЯКИМЧУК  "Задачі Тест Аналітика”  РОМАН ЯКИМЧУК  "Задачі Тест Аналітика”  
РОМАН ЯКИМЧУК  "Задачі Тест Аналітика”  
 
критерії оцінювання успішності навчальної роботи студентів
критерії оцінювання успішності навчальної роботи студентівкритерії оцінювання успішності навчальної роботи студентів
критерії оцінювання успішності навчальної роботи студентів
 
Debug (ukr)
Debug (ukr)Debug (ukr)
Debug (ukr)
 
Тестування ПЗ
Тестування ПЗТестування ПЗ
Тестування ПЗ
 
CoreCamp "Automated testing basics for developers"
CoreCamp "Automated testing basics for developers"CoreCamp "Automated testing basics for developers"
CoreCamp "Automated testing basics for developers"
 
8 15
8 158 15
8 15
 
Тестування з допомогою PHPUnit
Тестування з допомогою PHPUnitТестування з допомогою PHPUnit
Тестування з допомогою PHPUnit
 
225
225225
225
 
"Unit testing in AngularJS" Виктор Зозуляк
"Unit testing in AngularJS" Виктор Зозуляк"Unit testing in AngularJS" Виктор Зозуляк
"Unit testing in AngularJS" Виктор Зозуляк
 
Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиці
Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиціРоман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиці
Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиці
 
Anton Serputko Start performance-testing-from-scratch, BAQ
Anton Serputko Start performance-testing-from-scratch, BAQAnton Serputko Start performance-testing-from-scratch, BAQ
Anton Serputko Start performance-testing-from-scratch, BAQ
 
майстер клас створення вправ в My test
майстер клас створення вправ в My testмайстер клас створення вправ в My test
майстер клас створення вправ в My test
 

Más de 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 FutureQAFest
 
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 spoiledQAFest
 
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 ClusterQAFest
 
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 automationQAFest
 
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. Алиса Бойко. Какнезапутаться в коммуникативных сетях ITQAFest
 
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 22QAFest
 

Más de 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
 

Último

Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxOlgaDidenko6
 
Спектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищСпектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищOleksii Voronkin
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxOlgaDidenko6
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxOlgaDidenko6
 
Роль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війніРоль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війніestet13
 
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"tetiana1958
 
psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptOlgaDidenko6
 
Балади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна ГудаБалади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна ГудаAdriana Himinets
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxOlgaDidenko6
 

Último (10)

Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptx
 
Спектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищСпектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищ
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptx
 
Роль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війніРоль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війні
 
Габон
ГабонГабон
Габон
 
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
 
psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.ppt
 
Балади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна ГудаБалади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна Гуда
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 

QA Fest 2015. Ярослав Пернеровский. Мутанты наступают - смогут ли ваши тесты выстоять?

Notas del editor

  1. How can I SAFELY refactor the code? How can I SAFELY refactor the code of the test? How can I TRUST to my test suite? How can I ensure that my TEAM write effective tests? How can I retrofitted my tests to test old legacy code? How do I assess the quality of a test suit? Don’t worry! USE TDD. Do code Review. Increase coverage. Etc.
  2. Coverage – lines, statement, branch etc… NONE of those can’t tell you that your code was tested! It only shows the code which was NOT Tested. Executing is not the same as testing.
  3. Sometimes help to find redundant code But usually not, so required manual investigation This is a PROBLEM as far as if killed – your are ok But is survived – it can be equivalent and require manual investigation