Про меня
Опыт в тестировании более 8 лет
Опыт в управлении командами около 5 лет
ISTQB сертифицированный Test Manager и
Test Analyst
Текущая позиция:
Senior Test Engineer / Test Lead
в Sigma Software
lysaya.yana@gmail.com
Агенда
1. Как тест кейсы могут становиться плохими
2. Возможные причины плохих тест кейсов и
сьютов
3. Ловушки, с которыми QA могут столкнуться
при создании тест кейсов или построении тест
сьютов
4. Подсказки и выводы
Характеристики плохого тест кейса
Непонятные, неоднозначные
Дубликаты
Лишняя работа
Неповторяемость
Плохая поддерживаемость
Какое-то плохое ощущение
Причины возникновения плохих тест кейсов
Некомпетентность
Небрежность
Предположения
ЛовушкиНестабильность
Нехватка времени
Неопытность
Ловушки при построении тест
кейсов и тестовых сценариев
Привет, бро
Test case 46: Check received email
…
Step 6. Send email
Step 7. Check, that user received email
…
Test case 64: Check ability to send email
Привет, бро
Ловушки
Уже
протестировано
или покрыто
Дубликаты
Решение Матрица
покрытия
Планирование
тестов
Взаимодействие
с командой
Вершки и корешки
Create new PayPal transfer
Create new Check withdrawal transfer
Create new business transfer
Check transfer history for business user
Check transfer history for private user
…
Вершки и корешки
Ловушки
Только
названия
тестов
Описание
бизнес
сценария
Никаких
ожидаемых
результатов
Решение Матрица
покрытия
Добавлять
ожидаемые
результаты
Трейни-ориентированные тесты
Open application
Expected result…
Enter test@test.com in Email field
Expected result…
Enter “test” in Password field
Expected result…
Click on “Login” button
Expected result…
Open Products page
Expected result…
Трейни-ориентированные тесты
Ловушки Полная
навигация
Слишком
много
объяснений
Повторение
Решение Пре-
кондишены
Вызовы тест
кейсов
Кросс-
ревью
Трейни-ориентированные тесты
Pre-conditions:
User is logged in in application with
next credentials: test@test.com
/test
Steps:
Open Products page
Save patient’s age field with empty value;
Expected result: not possible
Save patient’s age field with alphabetic characters
Expected result: not possible
Save patient’s age field with special characters
Expected result: not possible
Save patient’s age field with ‘NULL’
Expected result: not possible
Save patient’s age field with ‘999999999999999’
Expected result: not possible
Save patient’s age field with negative value
Expected result: not possible
Слишком много негатива
Ловушки
Копи-паст
большинства
тестов
Один ожидаемый
результат для многих
тестов
Решение Комбинирование
Использование
параметров
Чеклисты
Save patient’s age field with
@age_value
@age_value:
 empty;
 alphabetic characters;
 special characters;
 ‘NULL’;
 ‘999999999999999’;
 negative value.
Expected result: not possible
Шаги, шаги, шаги…
Step 1. Login as application user  Expected
result…
Step 2. Start creation of task  Expected result…
Step 3. Enter task name  Expected result…
Step 4. Enter Due date  Expected result…
Step 5. Enter task description  Expected result…
…
Step 26. Select task watchers  Expected result…
Шаги, шаги, шаги…
Отделение шага
для каждого
действия
Комбинация
шагов без
эффекта на
систему
Шаги, шаги, шаги…
Step 1. Login as application user
Step 2. Start creation of task
Step 3. Fill in next fields:
 task name;
 due date;
 task description;
 …
 task watchers;
Step 4. Click on “Create” button
Expected result…
Балк степы
Step 1. Open application. Login with correct credentials
as application user. Navigate to Files menu. Click on
“Create new folder” button and create new folder
Expected result: Folder with name specified is
created
Step 2. Open created folder. Click on “Upload file” button.
Select file from computer. Click on “Select” button.
Балк степы
Комбинирование
Слишком
много шагов
в одном
действии
Потеря
общей
картинки
Балк степы
Pre-conditions:
User is logged in into application.
User created folder in Files menu
Step 1. Open created folder.
Step 2. Click on “Upload file” button.
Step 3. Select file from computer and click on “Select” button.
Expected result: File is uploaded
Бесконечный вызов
Step 1. <<Registration>>
Expected result: <<Successful registration>> @REG_DATA
Step 2. <<Fill user profile>>
Expected result: <<Successful message>>
Step 3. <<Upload user picture>>
Expected result: <<Successful picture upload>>
…
Бесконечный вызов
Ловушки
Слишком
много вызовов
параметров /
тестов
Потеряна
общая
картина
Решение
Вызов только
расшаренных
тестов
Кросс-ревью
Тест кейс от Земли до неба
1. Login as private user
2. Create new transfer to business user
3. Enter…
10. Navigate to History
11. Check balance
12. Navigate to Account list
13. Check balance
…
22. Logout
23. Login as business user
24. Check balance of account, where transfer was sent
…
25. Login as admin user
26. Check ability to cancel created transfer
…
45. Connect to DB
46. Check that correct value is written in DB
Тест кейс от Земли до неба
Ловушки Все в одном
кейсе
Всегда есть
что-то, что
зафейлится
Solutions 1 тест кейс = 1
цель
Использование
тест сьютов вместо
длинных тест ейсов
Тест кейс от Земли до неба
Test suite 1
TC1
1. Login as @user
2. Create new transfer to business user
3. Enter @amount and confirm transfer
Expected result: …
TC2
Pre-conditions: TC1 is executed
1. Navigate to History
2. Check @user balance
Expected result: …
TC3
Pre-conditions: TC1 is executed
1. Navigate to Account list
2. Check balance
Expected result: …
…
Зови меня, как пожелаешь
Step 1. Click on “Table” menu
Expected result: Menu is opened
Step 2. Push “Board” switcher
Expected result: User is navigated to
“Board” window
Step 3. Press on “Table” button
Expected result: “Table” screen is displayed
Зови меня, как пожелаешь
Ловушки
Никакой
стандартизации
терминологии
Неконсистентные
действия юзера
Решение стандарт для
терминологии
Словарик с
действиями
пользователя
Подсказки для дизайна тест кейсов и сьютов
 Использование техник тест дизайна;
 Матрица покрытия;
 1 тест кейс =1 цель;
 Большие тест кейсы разбивать и комбинировать в тест сьюты;
 Использование пре-кондишенов и общих объяснений;
 Использовать параметры, где возможно;
 Использовать чек листы, где возможно;
 Использовать тестовые данные отдельно от тест кейсов;
 Планирование структуры тест сьюта;
 Использование стандартизации;
 Комбинация шагов, имеющих одинаковый ожидаемый результат;
 Кросс-ревью
Выводы
 Планируйте тест сьюты;
 Стройте матрицы покрытия, они работают;
 Находите правильный баланс между
детализацией и параметрами, полетом
фантазии и негативными кейсами, и т.д.;
 Кросс-ревью, взгляд со стороны иногда важнее
техник тест дизайна.
Вопросы?
 LinkedIn: linkedin.com/in/yana-lysa-
4b3b4667
 Email: lysaya.yana@gmail.com

Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”

  • 2.
    Про меня Опыт втестировании более 8 лет Опыт в управлении командами около 5 лет ISTQB сертифицированный Test Manager и Test Analyst Текущая позиция: Senior Test Engineer / Test Lead в Sigma Software lysaya.yana@gmail.com
  • 3.
    Агенда 1. Как тесткейсы могут становиться плохими 2. Возможные причины плохих тест кейсов и сьютов 3. Ловушки, с которыми QA могут столкнуться при создании тест кейсов или построении тест сьютов 4. Подсказки и выводы
  • 4.
    Характеристики плохого тесткейса Непонятные, неоднозначные Дубликаты Лишняя работа Неповторяемость Плохая поддерживаемость Какое-то плохое ощущение
  • 5.
    Причины возникновения плохихтест кейсов Некомпетентность Небрежность Предположения ЛовушкиНестабильность Нехватка времени Неопытность
  • 6.
    Ловушки при построениитест кейсов и тестовых сценариев
  • 7.
    Привет, бро Test case46: Check received email … Step 6. Send email Step 7. Check, that user received email … Test case 64: Check ability to send email
  • 8.
    Привет, бро Ловушки Уже протестировано или покрыто Дубликаты РешениеМатрица покрытия Планирование тестов Взаимодействие с командой
  • 9.
    Вершки и корешки Createnew PayPal transfer Create new Check withdrawal transfer Create new business transfer Check transfer history for business user Check transfer history for private user …
  • 10.
  • 11.
    Трейни-ориентированные тесты Open application Expectedresult… Enter test@test.com in Email field Expected result… Enter “test” in Password field Expected result… Click on “Login” button Expected result… Open Products page Expected result…
  • 12.
  • 13.
    Трейни-ориентированные тесты Pre-conditions: User islogged in in application with next credentials: test@test.com /test Steps: Open Products page
  • 14.
    Save patient’s agefield with empty value; Expected result: not possible Save patient’s age field with alphabetic characters Expected result: not possible Save patient’s age field with special characters Expected result: not possible Save patient’s age field with ‘NULL’ Expected result: not possible Save patient’s age field with ‘999999999999999’ Expected result: not possible Save patient’s age field with negative value Expected result: not possible
  • 15.
    Слишком много негатива Ловушки Копи-паст большинства тестов Одиножидаемый результат для многих тестов Решение Комбинирование Использование параметров Чеклисты
  • 16.
    Save patient’s agefield with @age_value @age_value:  empty;  alphabetic characters;  special characters;  ‘NULL’;  ‘999999999999999’;  negative value. Expected result: not possible
  • 17.
    Шаги, шаги, шаги… Step1. Login as application user  Expected result… Step 2. Start creation of task  Expected result… Step 3. Enter task name  Expected result… Step 4. Enter Due date  Expected result… Step 5. Enter task description  Expected result… … Step 26. Select task watchers  Expected result…
  • 18.
    Шаги, шаги, шаги… Отделениешага для каждого действия Комбинация шагов без эффекта на систему
  • 19.
    Шаги, шаги, шаги… Step1. Login as application user Step 2. Start creation of task Step 3. Fill in next fields:  task name;  due date;  task description;  …  task watchers; Step 4. Click on “Create” button Expected result…
  • 20.
    Балк степы Step 1.Open application. Login with correct credentials as application user. Navigate to Files menu. Click on “Create new folder” button and create new folder Expected result: Folder with name specified is created Step 2. Open created folder. Click on “Upload file” button. Select file from computer. Click on “Select” button.
  • 21.
    Балк степы Комбинирование Слишком много шагов водном действии Потеря общей картинки
  • 22.
    Балк степы Pre-conditions: User islogged in into application. User created folder in Files menu Step 1. Open created folder. Step 2. Click on “Upload file” button. Step 3. Select file from computer and click on “Select” button. Expected result: File is uploaded
  • 23.
    Бесконечный вызов Step 1.<<Registration>> Expected result: <<Successful registration>> @REG_DATA Step 2. <<Fill user profile>> Expected result: <<Successful message>> Step 3. <<Upload user picture>> Expected result: <<Successful picture upload>> …
  • 24.
    Бесконечный вызов Ловушки Слишком много вызовов параметров/ тестов Потеряна общая картина Решение Вызов только расшаренных тестов Кросс-ревью
  • 25.
    Тест кейс отЗемли до неба 1. Login as private user 2. Create new transfer to business user 3. Enter… 10. Navigate to History 11. Check balance 12. Navigate to Account list 13. Check balance … 22. Logout 23. Login as business user 24. Check balance of account, where transfer was sent … 25. Login as admin user 26. Check ability to cancel created transfer … 45. Connect to DB 46. Check that correct value is written in DB
  • 26.
    Тест кейс отЗемли до неба Ловушки Все в одном кейсе Всегда есть что-то, что зафейлится Solutions 1 тест кейс = 1 цель Использование тест сьютов вместо длинных тест ейсов
  • 27.
    Тест кейс отЗемли до неба Test suite 1 TC1 1. Login as @user 2. Create new transfer to business user 3. Enter @amount and confirm transfer Expected result: … TC2 Pre-conditions: TC1 is executed 1. Navigate to History 2. Check @user balance Expected result: … TC3 Pre-conditions: TC1 is executed 1. Navigate to Account list 2. Check balance Expected result: … …
  • 28.
    Зови меня, какпожелаешь Step 1. Click on “Table” menu Expected result: Menu is opened Step 2. Push “Board” switcher Expected result: User is navigated to “Board” window Step 3. Press on “Table” button Expected result: “Table” screen is displayed
  • 29.
    Зови меня, какпожелаешь Ловушки Никакой стандартизации терминологии Неконсистентные действия юзера Решение стандарт для терминологии Словарик с действиями пользователя
  • 30.
    Подсказки для дизайнатест кейсов и сьютов  Использование техник тест дизайна;  Матрица покрытия;  1 тест кейс =1 цель;  Большие тест кейсы разбивать и комбинировать в тест сьюты;  Использование пре-кондишенов и общих объяснений;  Использовать параметры, где возможно;  Использовать чек листы, где возможно;  Использовать тестовые данные отдельно от тест кейсов;  Планирование структуры тест сьюта;  Использование стандартизации;  Комбинация шагов, имеющих одинаковый ожидаемый результат;  Кросс-ревью
  • 31.
    Выводы  Планируйте тестсьюты;  Стройте матрицы покрытия, они работают;  Находите правильный баланс между детализацией и параметрами, полетом фантазии и негативными кейсами, и т.д.;  Кросс-ревью, взгляд со стороны иногда важнее техник тест дизайна.
  • 32.