1. Grail: шаги для ваших
Python-тестов
Игорь Хрол
QA Automation Team Lead
Wargaming.NET
2. О себе
• Игорь Хрол
• QA Automation Team Lead в
Wargaming.NET
• 9 лет в отрасли
• Инженер, архитектор, менеджер,
консультант, тренер
• Пишу код с 12-ти лет
• www.khroliz.com
5. …и получала она на вход задачи
JIRA-1
Created
JIRA-2
Created
JIRA-3
Created
6. …и получала она на вход задачи
…а отдавала в статусе Resolved
JIRA-1
Created
JIRA-2
Created
JIRA-3
Created
JIRA-1
Resolved
JIRA-2
Resolved
JIRA-3
Resolved
26. Как обычно выглядит процесс
написания автотестов…
«Ручной»
QA
Тест Кейс Auto QA
27. Как обычно выглядит процесс
написания автотестов…
«Ручной»
QA
Тест Кейс Auto QA Тест
Скрипт
28. Test Case vs Test Script
Step 1: login to application def login_to_application():
…
Step 2: verify user is logged in def verify_user_is_logged_in():
…
Step 3: do some important thing def do_some_important_thing():
…
29. Test Case vs Test Script
Step 1: login to application def login_to_application():
…
Step 2: verify user is logged in def verify_user_is_logged_in():
…
Step 3: do some important thing def do_some_important_thing():
…
Как-то оно похоже..
30. Test Case vs Test Script
Step 1: login to application def login_to_application():
…
Step 2: verify user is logged in def verify_user_is_logged_in():
…
Step 3: do some important thing def do_some_important_thing():
…
Как-то оно похоже..
Надо писать два раза…
31. Test Case vs Test Script
Step 1: login to application def login_to_application():
…
Step 2: verify user is logged in def verify_user_is_logged_in():
…
Step 3: do some important thing def do_some_important_thing():
…
Как-то оно похоже..
Надо писать два раза…
И исправлять в двух местах…
49. export_mode = True
output тестов в export_mode можно считать «ручным»
тест-кейсом
>> some actions
>> verify result correctness (4)
50. export_mode = True
output тестов в export_mode можно считать «ручным»
тест-кейсом
>> some actions
>> verify result correctness (4)
И отправить в вашу любимую Test Management
System!
60. Выключается в fixtures
• Шаги ведут себя как обычные методы-
функции в
– setup_package (_module, _class)
– teardown_package (_module, _class)
– teardown
61. Выключается в fixtures
• Шаги ведут себя как обычные методы-
функции в
– setup_package (_module, _class)
– teardown_package (_module, _class)
– teardown
• Исключение: setup
66. Итого по Grail
• Пишем код автотестов сразу
Долой лишние бумажки и документы!
67. Итого по Grail
• Пишем код автотестов сразу
Долой лишние бумажки и документы!
• Подключаем «ручных» тестировщиков к
кодированию
68. Итого по Grail
• Пишем код автотестов сразу
Долой лишние бумажки и документы!
• Подключаем «ручных» тестировщиков к
кодированию
Долой псевдоязыки (BDD) и Keyword-driven!
69. Итого по Grail
• Пишем код автотестов сразу
Долой лишние бумажки и документы!
• Подключаем «ручных» тестировщиков к
кодированию
Долой псевдоязыки (BDD) и Keyword-driven!
• Контроль кода автотестов в Continuous Integration
70. Итого по Grail
• Пишем код автотестов сразу
Долой лишние бумажки и документы!
• Подключаем «ручных» тестировщиков к
кодированию
Долой псевдоязыки (BDD) и Keyword-driven!
• Контроль кода автотестов в Continuous Integration
• Открытый и бесплатный