julia_v_iluhina

Untitled

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