Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Smoke ETE test
- All filter:
- add (1, 2 ,3)
- /*
- добавив 3 таски сразу - получаем ситуацию
- когда следующим действием - не проиверить предыдущее
- так зачем тогда добавлять 3 таски сразу?
- добавил бы лишь одну - так операция cancel edit проверила бы добавление таски
- и мы бы сэкономили на одном шаге
- для е2е, реализующего smoke coverage - эффективность - это очень важно
- кроме того add (1, 2 ,3) - это не одна, а 3 операции
- потому - таким образом экономить точно не надо
- */
- count all
- cancel edit (1)
- /*
- у этого метода будет 2 параметра
- старый текст таски = как найти таску
- новый текст таски = на что поменяем текст таски
- смысл этой операции в том - что уже поменяв текст таски на другой и нажав esc
- мы отменим редактирование = вернем старый текст таски
- */
- count all (1, 2, 3)
- complete (1)
- clear completed
- /*
- я бы не торопилась очищать закомпличеные таски
- чуть ниже объясню почему
- помимо этого, вообще не надо торопиться удалять таски
- не важно - каким способом
- чем позже по сценарию мы их удалим
- тем меньше тасок придется создавать
- */
- count all (2, 3)
- Complete filter:
- /*
- complete__d___ filter
- переход на другой фильтр - это тоже операция
- и это действие тоже требует проверки
- сейчас ситуация - мы переходим на completed фильтр
- на all в списке - были видимы таски 2 и 3
- перешли а completed фильтр
- в списке - ни одной видимой таски
- ситуация неплохая
- было-стало для списка - разные
- + стало = корректное для этого фильтра
- проверили переход на фильтр - точно
- но - ситуация не идеальная
- вспомни свой main use cases list
- для completed фильтра - ты не указывал complete all - как main use case
- и был прав)
- такую операцию - делают редко на этом фильтре
- и приоритет у нее - не будет высоким
- значит - в рамках smoke покрытия - не нужно покрывать complete all на completed фильтре
- то же можно отнести и к добавлению таски - на этом фильтре не стоит добавлять таску из тех же
- соображений
- получается - перейдя на этот фильтр в состоянии, когда в списке - нет видимых тасок
- тут покрыть мы ничего не сможем
- а это - плохо
- лучше распределить по всем фильтрам операции
- и поравномернее
- это улучшит покрытие - мы получим фидбек и о таких проблемах:
- если на каком-то из фильтров перестанут корректно работать операции -
- мы это вероятнее поймаем еще в этом тесте -
- если операции будут распределены равномерно по фильтрам
- */
- complete all
- /*
- мы на all между закомпличиванием и clear completed пропускали проверку
- чтобы не делать проверок недостаточно точных
- тут - такой ситуации нету
- нужна проверка
- */
- clear completed
- /*
- мы это уже проверяли, не нужно повторять - достаточно операцию в рамках сценария покрыть единожды
- */
- count empty
- Active filter:
- /*
- было - список пуст
- перешли на другой фильтр
- стало - список пуст
- с одной стороны - согласно логики приложения - все ок -
- состояние списка верное
- с другой стороны - оно не поменялось
- и такое может быть и в случае - если переход на другой фильтр вообще не работает
- потому - лучше получить тестовую ситуацию такого рода
- было - в списке одна картина
- перешли на фильтр
- стало - в списке другая картина
- т е - важно - чтобы было-стало отличались
- нужна проверка после перехода на фильтр)
- */
- add 1
- /*
- советую добавлять таски уже с другими текстами
- чтобы даже при беглом взгляде на код - было понятно - где какая таска
- */
- count all
- edit (1, 2)
- /*
- кстати - вот тут - можно было и не делать проверку count all перед edit
- таска в списке одна
- так что edit - проверит add
- и далее ты тоже хорошо неявную проверку использовал - с delete
- про edit (1, 2)
- лучше edit (1, 1 edited)
- тогда - глядя на код - будет яснее - что с таской уже было ранее
- */
- delete (2)
- count empty
- **********************************************
- /*
- анализируем покрытие
- All filter:
- add * 3
- cancel edit
- complete
- clear completed
- Completed filter:
- complete all (покрыто в низкоприоритетном варианте)
- clear completed (лишнее повторение)
- Active filter:
- add*1
- edit
- delete
- Что еще не покрыто
- reopen
- switch to filter All (на 2 других фильтра мы переходили, надо и переход на этот фильтр покрыть)
- “items left” counting - да, не высокоприоритетное, Но - этот счетчик реагирует на любые изменения
- потому стоит его единожды покрыть в рамках этого е2е. Больше не нужно -
- т к код и так не самы простой у е2е - не надо его загромождать, потом разберем - где его еще разумно покрывать.
- Пока будет достаточно одного раза
- Можно обойтись меньшим количеством тасок - если удалять их в последнюю очередь
- Реально - может и 2-ух тасок на весь сценарий хватить
- Стоит добавлять таски по одной - так будет больше возможностей использовать неявные проверки
- Да и если добавлять таски на разных фильтрах - да, мы повторимся - но контексты будут разные
- и это лучше - чем повторение действия, да еще и на одном контексте
- */
Advertisement
Add Comment
Please, Sign In to add comment