julia_v_iluhina

Untitled

Jan 12th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.64 KB | None | 0 0
  1. Smoke E2E flow:
  2.  
  3.   all (default)
  4. 1.  add1
  5. 2.  edit1=>”1a”
  6. 3.  complete “1a”
  7. 4.  switch from all to active
  8. /*
  9.     отличное начало сценария
  10.  
  11.     тут - проверка списка тасок будет нужна лишь после 3 шага
  12.     перед переходом на эктив
  13.     и после 3 шага - после перехода на эктив
  14.  
  15.     первая проверка = проверит = что таски отображаются на all вне зависимости от их статуса
  16.     вторая - допроверит - что таки таску закомплитили
  17.     и проверит фильтеринг - максимально точно - т к состояние списка изменилось
  18.  
  19.     лучше вместо edit “1”=>”1a”
  20.     использовать edit “1”=>”1 edited”
  21.     тогда далее по коду будет яснее что за таска
  22. */
  23. *********************************
  24. (active)
  25. 5.  add2
  26. 6.  confirm edit by click outside (2=> “2a”)
  27. /*
  28.     из Additional edit operations - только cancel edit
  29.     будет вісокоприоритетной
  30.     и ее стоит тут покрыть
  31.     остальные операции этой группы - покрывать в рамках smoke - расточительно
  32. */
  33. 7.  delete “2a”
  34. /*
  35.     не торопись удалять таски
  36.     пока таска существует - на ней многое можно проверить
  37.     так сєконопис и на добавлении тасок
  38.  
  39.     если оставлять такой сценарий как сейчас - тут нужна проверка
  40.     т к следующая операция add “3” не проверит предыдущую delete “2a”
  41.  
  42.     а с учетом выше написанного - на active фильтре
  43.         добавили таску
  44.         отменили ее редактирование
  45.         и выполнили complete all (complete - покрыли выше, этого достаточно)
  46. */
  47. 8.  add3
  48. 9.  cancel edit by click ESC (3=> “3a”)
  49. 10. complete3
  50. 11. switch from Active to Completed
  51. /*
  52.     то же самое - и до и после этого шага - нужны проверки
  53.     рассуждай так
  54.     если следующая операция не проверяет преыдущую - то проверка нужна
  55.  
  56.     а про неявные проверки - когда они применимы - я ранее тебе писала
  57. */
  58.  
  59. (completed)
  60. 12. reopen all completed (“1a”, “3)
  61. /*
  62.     reopen all - тоже приоритет не высокий
  63.     reopen - да, тут как раз самое время покрыть
  64.  
  65.     а reopen all - в рамках smoke покрытия - не надо покрывать
  66.     когда будет востребована эта операция
  67.     как правило тогда - когда все таски юзер ошибочно закомплитит
  68.     т е - не часто востребована будет
  69.     да и обойтись без нее в работе приложения можно
  70.     этим и объясняется невысокий приоритет reopen all
  71. */
  72. 13. switch from Completed to Active
  73.  /*
  74.     на Active мы уже переходили
  75.     правда, с лругого фильтра
  76.  
  77.     но - переходили
  78.     т е операцию перехода на Active - мы уже покрыли (правда, на другом контексте
  79.     значит - этого достаточно
  80.  
  81.     разумнее на Completed фильтре после реопена одной таски - вторую удалить через clear Completed
  82.  
  83.     и далее - вернуться на all, и уже удалить последнюю таску
  84.     так мы обойдемся двумя тасками
  85.     покроем все высокоприоритетное
  86.  
  87.     и в общем-то - сравнительно равномерно распределим покрытое по фильтрам
  88.  */
  89. *************************************
  90. /*
  91.     скорее всего - повторюсь
  92.     но приведу тут важное
  93.  
  94.     еще - заглядывай в faq
  95.     там тоже к єтому заданию будет что почитать
  96.  
  97. */
  98. /*
  99.   Мы реализуем е2е сценарий для smoke покрытия
  100.     это значит - что достаточно покрыть высокоприоритетный юз кейс лишь единожды, на одном из контекстов
  101.  
  102.     т е - покрыли edit на active - все, этого достаточно
  103.     конечно, с добавлением таски так не получится )
  104.     но - и того количества тасок, что ты создал - не нужно
  105.  
  106.     но с остальными операциями - это получится вполне
  107.  
  108.     задача smoke покрытия - быстро дать нам фидбек = все высокоприоритетные операции работают
  109.     не все высокоприоритетные операции работают на всех контекстах
  110.     а именно вот так - что они работоспособны
  111.  
  112.     дальше - если smoke тестирование пройдено - можно глубже тестировать приложение
  113.     а если нет - так нет смысла продолжать тестировать - есть серьезные проблемы и надо их устранять
  114. */
  115. /*
  116. Приоритет действия высокий если
  117.             - нерабочее действие не позволяет использовать приложение
  118.             - у действия нет альтернативы
  119.             - действие - часто используемое
  120.             - действие - стандартное для многих приложений
  121.  
  122.                 Примеры высокоприоритетного
  123.                         - добавление задачи - высокоприоритетная штука, потому что если отвалится - приложение не работает
  124.                         - отмена редактирования с помощью esc - во-первых, стандартное поведение, во-вторых - нет альтернативы
  125.                         - закомпличивание/раскомпличивание одной задачи - часто используемое и критично чтоб работало - важный функционал
  126.  
  127.                 Так вот - низкоприоритетные вещи - в smoke-тесте не нужно покрывать.
  128.                 Чтобы оставить smoke тест эффективным
  129.  
  130.                 А вот Reopen All - уже имеет приоритет пониже - т к реже будет использоваться, чем тот же reopen
  131.                 потому - reopen - стоит покрыть, а Reopen All - уже не стоит
  132.  
  133.                 Проверку счетчика Items left - стоит покрыть лишь единожды. В общем-то - это не высокоприоритетная штука.
  134.                 Т к даже если это не будет работать - приложение будет все равно функционально.
  135.                 С другой стороны, на состояние этого счетчика влияет любая выполненная операция.
  136.                 Ввиду этого - в рамках е2е покроем его лишь единожды.
  137. */
  138. /*
  139.     про использование неявных проверок через действие
  140.               вариант 1
  141.               add("task1"");
  142.               edit("task1", "task1 edited");
  143.               delete("task1 edited");
  144.    
  145.               вариант 2
  146.               add("task1", "task2");
  147.               edit("task2", "task2 edited");
  148.               delete("task2 edited");
  149.    
  150.            Вариант 1 = правильное использование таких проверок через действие
  151.    
  152.            Вариант2 = не правильное использование
  153.            Т к последующие действия не проверяют состояние ВСЕХ тасок в списке
  154.    
  155.            Таким образом - ты сможешь эффективно использовать неявные проверки через действия только в случае,
  156.            если в списке тасок будет видима лишь одна таска
  157.    
  158.            Также не забывай - после каждого действия должна быть выполнена проверка
  159.            Сразу
  160.            Не получается использовать неявную проверку через следующее действие - используй явную
  161.            Но - действие должно быть обязательно проверено сразу
  162. */
Advertisement
Add Comment
Please, Sign In to add comment