julia_v_iluhina

Untitled

Jan 24th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.95 KB | None | 0 0
  1. /*
  2.     в следующий раз - большая просьба - выкладывай такие работы -
  3.     чтоб можно было - перейдя по линке - сразу просматривать
  4.     сначала скачать, потом открыть и уже смотреть - слишком много лишних телодвижений)
  5.  
  6.     как можно выкрутиться
  7.         использовать тот же http://pastebin.com/
  8.  
  9.         или в самом проекте с домашками - добавить текстовый файл
  10.         и затем - проект выложить на гит
  11.         и дать линку на нужный файлик в репозитории
  12. */
  13. at all filter
  14. - create
  15. - edit
  16. - delete
  17. - mark completed //лаконичнее = complete
  18. - uncheck completed //лаконичнее = activate / reopen (выбери термин)
  19. - mark all completed //лаконичнее = complete all
  20. - uncheck all completed should uncheck ALL tasks. Check with precondition = have few completed tasks.
  21.     //лаконичнее = activate all/ reopen all(выбери термин)
  22.     //тут у нас цель - получить максимально сжатый и лаконичный список юз кейсов
  23.     //чтоб потом этот список - помог спроектировать е2е сценарий
  24. - clear completed
  25. - copy/paste
  26.     /*
  27.         это не нужно выносить в список юз кейсов
  28.         мы сосредоточены на проверке функциональности
  29.         именно из этих соображений вноси/не вноси юз кейсы в список
  30.  
  31.         в прошлой лекции было про это
  32.         примерно с (с 58-й минуты, минут 5-7)
  33.     */
  34. - edit/clear/enter - clears task
  35. /*
  36.     это ты верно подметила)
  37.     там есть еще варианты - все начинается как редактирование
  38.     а далее события развиваются как-то иначе
  39.     ниже это распишу
  40.  
  41.     это - вынесем в отдельную группу Additional edit operations
  42. */
  43. - long name (fails btw)
  44. /*
  45.     Это тоже - не будем выносить в данный список
  46.     т к мы будем сосредоточены именно на функциональных проверках
  47.     Почему - опять отсылаю тебя к прошлой лекции (с 58-й минуты, минут 5-7)
  48. */
  49.  
  50. /*
  51.     все операции, что нужно - перечислены
  52.     часть пунктов можно написать лаконичнее
  53.  
  54.     пользуйся для одного понятия - одним термином
  55.     например, если выбрала reopen
  56.     то уже и reopen all используй, а не activate all
  57.     и в других подгруппах - для других фильтьров - тоже применяй уже выбранные термины
  58.  
  59.     edit/clear/enter - clears task - уйдет в отдельную подгруппу
  60.  
  61.     и пара пунктов - просто уйдет)
  62. */
  63. ***************************************************************
  64. at active filter
  65. - mark completed. Completed task should disappear in Active. Switch to Completed - it should be there.
  66. /*
  67.     на этом фильтре - вполне будут востребованными
  68.     - create
  69.     - edit
  70.     - delete
  71.     - complete
  72.     - complete all
  73.     - clear completed - и даже это
  74.     если юзер работает так
  75.     зашел - перешел на Active фильтр
  76.     что-то делает комплитит и по финишу все накомпличеное очищает - clear completed
  77.     Он же все помнит - только что это делал
  78.     Так что и clear completed - в эту подгруппу стоит включить
  79.  
  80.     Про переходы между фильтрами - напишем отдельно
  81.     Про это ниже
  82. */
  83.  
  84. at completed filter
  85. - create task. Make sure items left increased but tasks are not shown.
  86. - edit completed. Task should remain completed.
  87. /*
  88.     вряд ли тут create и edit будут востребованными
  89.     из этих соображений - можно не вносить это в список
  90.  
  91.     а вот delete и reopen и reopen all и clear completed  - таки стоит)
  92.     хотя насчет reopen all - в свете ее не высокого приоритета - еще надо подумать)
  93.  
  94.     но можно пойти и таким путем - внести в список и не высокоприоритетное
  95.     но пометить как операции с не высоким приоритетом
  96.     не высоким - т к в данном случае эти операции на этом фильтре будут мало востребованными
  97.     про приоритеты - ниже напишу отдельно
  98.     но - если ты таки выберешь этот вариант - надо будет все пункты этого списка на предмет приоритета обдумать
  99.     и низкоприоритетное обозначить
  100.  
  101.     нам это нужно - в рамках подготовки к следующему заданию
  102.     в следующем задании - мы будем релизовывать е2е тест-метод который обеспеит smoke coverage
  103.     а в рамках smoke coverage - покрываются лишь высокоприоритетные фичи и лишь единожды
  104.     т е - нужно отличать высокоприоритетное от низкоприоритетного
  105.  
  106.     все перечисленные операции - будут тоже полезны
  107.     т к дальше мы будем эти знания тоже использовать
  108. */
  109.  
  110.  
  111. general:
  112. “items left” counting
  113. /*
  114.     это верно, разместить “items left” counting в подгруппе general
  115.     ведь этот счетчик на любом фильтре, после любой операции отражает количество активных тасок
  116.  
  117.     а вот расписывать - как он меняется - в рамках этого списка точно лишнее
  118.     пункта “items left” counting - достаточно
  119. */
  120. - mark 1 task completed. Items left should decrease by 1
  121. - delete completed task, check items left has not been changed
  122. - in completed filter have one task completed, create another one. Check items left increased by 1 but task doesn't appear in completed list
  123. - items left is not changed while switching between filters.
  124. - uncheck completed should increase item left by 1.
  125. - deleting task should decrease items left by 1
  126.  
  127. - navigation through elements (by tab)
  128. /*
  129.    это - если говорить о любом элементе - не есть функциональным юз кейсом
  130.    но  - если говорить например о редактировании таски  -
  131.    то нажатие на tab после ввода нового текста  таски приведет к подтверждению редактирования
  132.  
  133.    а вот это уже - отдельный юз кейс
  134.    для подгруппы Additional edit operations
  135.    про нее будет ниже
  136. */
  137. - is not possible to create empty task
  138. /*
  139.    этот пункт предлагаю не вносить
  140.    из тех же соображений - мы сосредоточены на функциональном тестировании
  141.    проверка граничных условий не входит в наши цели
  142. */
  143.  
  144. Draft Use Cases
  145. /*
  146.    в данном задании - этого не требовалось
  147.  
  148.    нужен лишь список с перечисленными действиями/фичами
  149.    планировать сценарий будем позже
  150. */
  151.  
  152. - In All filter create 3 tasks. Check all 3 are created in right order with exactly the same text. Items left = amount of all tasks created.
  153. - delete task 1. Check deleting task decreases items left by 1. Task disappears from all filters.
  154. - In All filter mark task2 as completed. Verify Completed filter shows only task 2 and Active filter shows only task 3. Items left decreased by one.
  155. - in Completed filter edit task2 (rename to 23). Check it's still completed. Items left did not changed.
  156. - in All filters mark all completed. Items left should = 0.
  157. - Uncheck All completed. Items left should = amount of all tasks in the app (2)
  158. - in All filter check task 23 as completed and delete task 23. Check it disappears. Items left did not changed (=1)
  159. - in empty Completed filter Mark All Completed. Task 3 should appear, items left = 0.
  160. - in All filter select and copy name of task3, paste in new task, Enter. Active task with the same name should appear. Items left increased by 1.
  161. - focus in the new task field and press Enter. Empty task is not created.
  162. - Clear completed. Completed task disappears from All filter view. Items left is not changed.
  163. ******************************************************
  164. /*
  165.  Организуй еще одну отдельную группу - switching between filters
  166.      и распиши для каждого из фильтров
  167.      на какие фильтры можно с данного фильтра перейти
  168.  
  169.      например
  170.      switching between filters
  171.         from All to
  172.             Active
  173.             Completed
  174.         from Active to
  175.             ...
  176.             ...
  177.         ...
  178.  
  179.       обрати внимание - с каждого из фильтров можно перейти на 2 других фильтра
  180.  
  181.       тут термин filter - один из наиболее точных
  182.       фильтруем = согласно некому условию что-то остается видимым, а что-то скрывается
  183. *************************************************************
  184. /*
  185.  еще поэкспериментируй с редактированием таски в списке
  186.  
  187.         найди еще дополнительные юз кейсы
  188.  
  189.         юз кейс edit мы уже описали
  190.         он реализуется так
  191.             даблклик на таске
  192.             ввод нового значения
  193.             энтер
  194.         его уже рассматривать не будем
  195.         но есть еще похожие варианты )
  196.  
  197.         поэкспериментируй и найди другие варианты развития событий при редактировании
  198.         например, если новое введенное значение = пусто
  199.         или в конце - нажимаем не энтер, а ..., или делаем еще что-то
  200.  
  201.  
  202.         сформулируй отдельную подгруппу - для дополнительных операций редактирования
  203.         (именно дополнительных, т к стандартное редактирование - уже в нашем списке есть
  204.         и не надо его в новом подпункте дублировать)
  205.  
  206.  
  207.         будешь формулировать названия пунктов - старайся быть лаконичным и точным
  208.  
  209.         строй фразы так - что получим + как получим
  210.         т е начинай с описания результата и продолжай описанием пути его достижения
  211.  
  212.         пример - если при редактировании текст изменить на пустую строку, то таска удалится
  213.         такой пункт формулируем - delete by emptying text (ты этот пункт обозначила как edit/clear/enter - clears task)
  214.  
  215.         еще пример, который я выше описала - confirm edit by press Tab
  216.         такой вариант = отличается от стандартного варианта редактирования (когда мы подтвердили редактирование нажатием на Enter)
  217.         и потому мы его выносим отдельным пунктом в этой группе
  218.  
  219.         есть еще варианты -
  220.         еще один способ подтверждения редактирования(кликнув на какой-то другой элемент)
  221.         и одного способа отмены редактирования
  222.           начали редактировать, внесли новый текст для таски,
  223.           ____что-то-сделали___ (найди - что),
  224.           результат - у таски старый текст - именно потому отмена редактирования
  225.     */
  226. **********************************************
  227.     /*
  228.         Это уже немного на будущее)
  229.  
  230.         Приоритет действия высокий если
  231.                 - нерабочее действие не позволяет использовать приложение
  232.                 - у действия нет альтернативы
  233.                 - действие - часто используемое
  234.                 - действие - стандартное для многих приложений
  235.  
  236.                     Примеры высокоприоритетного
  237.                             - добавление задачи - высокоприоритетная штука, потому что если отвалится - приложение не работает
  238.                             - отмена редактирования с помощью esc - во-первых, стандартное поведение, во-вторых - нет альтернативы
  239.                             - закомпличивание/раскомпличивание одной задачи - часто используемое и критично чтоб работало - важный функционал
  240.  
  241.                     Так вот - низкоприоритетные вещи - в smoke-тесте не нужно покрывать.
  242.                     Чтобы оставить smoke тест эффективным
  243.  
  244.                     А вот Reopen All - уже имеет приоритет пониже - т к реже будет использоваться, чем тот же reopen
  245.                     потому - reopen - стоит покрыть, а Reopen All - уже не стоит
  246.  
  247.                     Проверку счетчика Items left - стоит покрыть лишь единожды.
  248.                     В общем-то - это не высокоприоритетная штука.
  249.                     Т к даже если это не будет работать - приложение будет все равно функционально.
  250.                     С другой стороны, на состояние этого счетчика влияет любая выполненная операция.
  251.                     Ввиду этого - в рамках е2е покроем его лишь единожды.
  252.         http://www.tutorialspoint.com/software_testing_dictionary/priority.htm                    
  253.     */
Add Comment
Please, Sign In to add comment