29
©2016 GlobalLogic Inc. Все, що вам потрібно знати, щоб почати автоматизувати ваші тести... ...або назавжди відмовитись від цієї ідеї

All You Need to Know to Start Automating Your Tests

Embed Size (px)

Citation preview

Page 1: All You Need to Know to Start Automating Your Tests

©2016 GlobalLogic Inc.

Все, що вам потрібно знати, щоб почати автоматизувати ваші тести...

...або назавжди відмовитись від цієї ідеї

Page 2: All You Need to Know to Start Automating Your Tests

©2016 GlobalLogic Inc.

Автоматизація

Page 3: All You Need to Know to Start Automating Your Tests

3

Ярослав Пернеровський[email protected]

Page 4: All You Need to Know to Start Automating Your Tests

4

Що воно таке?

Як з цим жити?

01

02

Page 5: All You Need to Know to Start Automating Your Tests

5

Page 6: All You Need to Know to Start Automating Your Tests

6© http://www.sitestore.pro/catalog/aspro_universalnyy_internet_magazin/

Page 7: All You Need to Know to Start Automating Your Tests

7

Що таке тест кейс?

Page 8: All You Need to Know to Start Automating Your Tests

8

Page 9: All You Need to Know to Start Automating Your Tests

9

Перша умова успішної автоматизації

Програмний продукт, повинен давати

можливість автоматизувати себе

Page 10: All You Need to Know to Start Automating Your Tests

10

Програма це код

Page 11: All You Need to Know to Start Automating Your Tests

11

Page 12: All You Need to Know to Start Automating Your Tests

12

Basket

addItem()removeItem()getItemCount()

basket = new Basket();

basket.addItem();assertEqual(basket.getItemCount(),1)basket.addItem();assertEqual(basket.getItemCount(),2)basket.removeItem()assertEqual(basket.getItemCount(),1)basket.removeItem()assertEqual(basket.getItemCount(),0)basket.removeItem()assertEqual(basket.getItemCount(),0)

Page 13: All You Need to Know to Start Automating Your Tests

13

Написати тест

Тест падає

Пофікситикод

Тестпроходить

Page 14: All You Need to Know to Start Automating Your Tests

14

Service API

Service API

Service API

Service API

ServiceAPI

ServiceAPI

Page 15: All You Need to Know to Start Automating Your Tests

15

Service API

Service API

Service API

Service API

Unit tests

Client UI TestsClient UI Tests

Unit testsUnit tests

ComponentIntegration

testsSystem

Integration tests

Page 16: All You Need to Know to Start Automating Your Tests

16

Page 17: All You Need to Know to Start Automating Your Tests

17

Тест – Проблема – Усунення проблеми

Без деплойменту Збірка з заглушками

Юніт Компонентні та інтеграційні Функціональні

Без трекінгу в системі З трекінгом в системі

Розробник Тестувальник Користувачі

Повна установка

Page 18: All You Need to Know to Start Automating Your Tests

18

•Розробник. Без трекінгу. Без деплойменту.•Розробник + тестувальник. Інтеграція. Без трекінгу.•Тестувальник. Повна установка. Інтерфейс користувача. Трекінг в системі

Тест – Баг - Фікс

Page 19: All You Need to Know to Start Automating Your Tests

19

•Юніт тести – мікросекунди•Компонентні та інтеграційні – мілісекунди, секунди•Через графічний інтерфейс – секунди, хвилини

Тест – Баг - Фікс

Page 20: All You Need to Know to Start Automating Your Tests

20

UI

Integration

Unit

Page 21: All You Need to Know to Start Automating Your Tests

21

UI

Integration

Unit

Page 22: All You Need to Know to Start Automating Your Tests

22

Друга умова успішної автоматизації

Чим нижчий рівень, тим більше тестів

Page 23: All You Need to Know to Start Automating Your Tests

23

Наслідок з другої умови

Автоматизація виключно через графічний інтерфейс не тільки малоефективна,

але й небезпечна в перспективі

Page 24: All You Need to Know to Start Automating Your Tests

24

Page 25: All You Need to Know to Start Automating Your Tests

25

Внутрішній продуктвиконує сервісні функції

Page 26: All You Need to Know to Start Automating Your Tests

26

Ключ до успішної автоматизації•Аналіз продукту і вибір стратегії автоматизації

•Створення інфраструктури

•Практики та прийоми проектування тестів

Page 27: All You Need to Know to Start Automating Your Tests

27

Автоматизація це зло і добро одночасно

Page 28: All You Need to Know to Start Automating Your Tests

28

Резюме•Розумний підхід•Писати код, який дозволяє автоматизувати своє тестування

•Кількість тестів залежить від рівня архітектури•Автоматизація – внутрішній сервісний продукт•Автоматизатор це в першу чергу тестувальник, а не програміст

Page 29: All You Need to Know to Start Automating Your Tests

©2016 GlobalLogic Inc.

Дякую за увагуЗапитання?