Skip to content

Instantly share code, notes, and snippets.

@yashaka
Last active November 23, 2020 15:57
Show Gist options
  • Save yashaka/e6b1a277d10ae216a6ae2a51a0d1e5b5 to your computer and use it in GitHub Desktop.
Save yashaka/e6b1a277d10ae216a6ae2a51a0d1e5b5 to your computer and use it in GitHub Desktop.
Перший план

Перший план

[TOC]

Цілі {#goals}

  • Навчитись аналізувати і систематизувати функціональність додатків на старті побудови тестування
  • Приорітизувати функціональність з точки зору важливості для користувача
  • Визначати найбільш актуальні і важливі сценарії користувача при його роботі з додатками

Завдання {#task}

Ти починаєш будувати тестування для веб-додатку TodoMVC (версія https://todomvc4tasj.herokuapp.com). Чітко описаних вимог до веб-додатку немає. Ти маєш сам проаналізувати наявний функціонал і систематизувати його у відповідному форматі. Формат має бути максимально простим, основаним на «вкладених списках». Приклад для додатку FaceBook:

- FaceBook
  - authentication
    - sign up
    - sign in
    - sign out
  - stream
    - add post
    - edit post
    - delete post
    - hide post
    - ...
  - profile

Деталізація поверхнева. Наприклад, нас не цікавлять речі типу «максимально допустима довжина рядка символів для вводу в текстове поле».

Відзнач які функції є більш приорітетними і які – менш, наприклад, – кількістю знаків оклику в кінці відповідної «фічі». Приклад:

    - add post !!
    - edit post !
    - delete post !!
    - hide post

Підказка: у edit може бути менший приорітет ніж у delete, тому що edit можна замінити операціями delete + add ;)

На основі такої «функціональної карти», враховуючи приорітети, склади максимально релевантний наскрізний тест в стилі сценарію «End-to-End». Він має бути

  • достатньо «актуальним» – відображати один зі звичних і частих сценаріїв роботи користувача з веб-додатком
  • відповідно покривати декілька шматків функціоналу одночасно (не тільки додавання задач, а і інші операції), адже саме так і взаємодіють користувачі з додатками
  • бути «тестом», а значить в тій чи іншій мірі включати основні елементи «тестової логіки»
  • достатньо простого і лаконічного формату, без деталізації «очевидних кроків» за відповідного контексту
  • бажано аглійською мовою

Відштовхуйся від того, що головним для користувачів є основний функціонал менеджменту задач у вигляді набору базових дій над ними (CRUD i.e. Create Read Update Delete). Врахуй, що деякі з «СRUD» дій проявляються в різних «фічах» («features») додатку ;)

В процесі написання тесту тобі доведеться визначити весь спектр можливих операцій в TodoMVC, вибрати ті з них, які варто перевірити (виходячи з умов, описаних вище, і здорового глузду), а також підібрати оптимальний порядок тестування цих «обраних» операцій.

Приклад тест-сценарію End-to-End для додатку Instagram:

Scenario: New user posts first photo to Instagram
- given at least one photo in galery
  and user signed in to facebook
  and without account in Instagram
- install app from playmarket, found by searching: "Instagram"
- open instagram app
- sign-up via facebook
- create new post with "last photo from galery" and text "my first post"
- user should be at Home (stream)
  and posts should be only: his last post with exact last photo from galery and text "my first post" and likes "0"
- switch to Profile
- profile should be in Grid mode
  and photo thumbnails should be: only of last photo from galery

Розв'язок надсилай у вигляді

  • звичайного файлу з розширенням .txt чи .md
  • чи у вигляді документу Google Docs з функціональною картою так тест-сценарієм

Навчальні матеріали... {#materials}

Швидкий Старт

Основи Тестування

  • Розділи з книги Ольги Назіної «Книга для начинающих тестировщиков»:

    • «Глава 0. Что такое тестирование»
    • «Глава 1. Исследование продукта»
    • «Глава 2. Тест-кейсы и чек-листы»
  • Про якість

Додатково

Успіхів!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment