воскресенье, 30 ноября 2014 г.

Классы эквивалентности для редактирования сообщения



Когда тестировщики узнают о различных техниках тест-дизайна, это добавляет им вдохновения! Ух ты, а тут еще это можно попробовать. И это, и вот это! А еще вот так извернуться, трижды присесть, подпрыгнуть и хлопнуть в ладоши! Smile :)

И это здорово, что получается генерить разные варианты! Но в первую очередь стоит задуматься о простейших сценариях, на которые наткнется пользователь, даже не планировавший что-либо сломать.

Давайте возьмем для примера сайт http://ru.qahelp.net/.
Там можно создавать вопросы и отвечать на них. К каждому вопросу и ответу можно добавлять комментарии.

Я задала своим выпускникам онлайн-интенсива простой вопрос, как мы будем тестировать возможность редактирования ответа на вопрос?

Результаты порадовали (варианты очень интересные):

1. Что я могу редактировать свой ответ.
2. Что я могу открыть для редактирования и передумать, нажать отмену. Должно сохраниться прежнее состояние.
3. Если пишется дата создания ответа, то:
   3.1: Действительно ли такое время и дата. Может быть другой GMT
   3.2: Какая дата после редактирования и сохранения изменений: старая или новая.
4. Не внести изменения и сохранить. Должно остаться прежним. Со временем - как в 3.2
5. Если были комментарии к ответу, то что с ними происходило после 1-4. Должны сохраняться.
6. Проверить что все инструменты для редактирования работают.
7. Ответ может быть "простой" и кем-то откомментированный (тобой же или другим человеком).
8. Открыть для редактирования сразу в 2 вкладках и отредактировать. Проверить синхронность.
9. Открыть одновременно в двух вкладках для редактирования. В первой вкладке выйти из режима редактирования и удалить. Во второй вкладке сохранить редактируемое. Обновить вкладку во втором браузере. Вопрос: останется во второй вкладке или исчезнет?..

Хороший чек-лист, грамотное выделение классов эквивалентности Thumbs up (y)

Но что из этого надо проверить в первую очередь? Если пользователь не стремится специально разломать систему, то для него в первую очередь важно, чтобы кнопка редактирования в принципе работала. А потом уже всякие дата-время, внезапная отмена и прочая-прочая.

Кстати, я не говорю, что внезапная отмена — плохой тест-кейс. Наоборот, отличный! Пользователь может просто передумать, это нормально. И если система себя "странно" поведет, то он очень расстроится.

Но давайте пока временно отбросим эту проверку, отнеся ее к негативным тестам. У нас должна быть возможность редактировать ответ. Отлично! А какой ответ бывает?

  • Свой.
  • Чужой.
Другие варианты разделения на классы эквивалентности?
  • "Простой".
  • Откомментированный.
Можно подумать, что эти классы надуманны, но нет. Потому что именно там и скрывалась ошибка, о которой я недавно сообщила создателю:

********************************************

Шаги для воспроизведения:
1.       Даем ответ на чей-нибудь вопрос.
2.       Просим коллегу его прокомментировать
3.       Нажимаем «редактировать»

Результат
Ничего не происходит Sad :(
См пример тут - http://ru.qahelp.net/question/skolko-tratite-na-samoobrazovanie/

Я не могу исправить очепятку в своем посте, потому что его уже откомментили (если еще не комментировали, то редактирование работает, проверила тут - http://ru.qahelp.net/question/vash-top-5-dokladov-s-sqa-days-vseh-vremen/).

Ожидаемый результат
Открывается форма редактирования.

********************************************

Собственно говоря, нашла эту ошибку я чисто случайно. Заметила у себя опечатку, попробовал отредактировать, а фиг.

Тестировщик во мне сразу заметил, что этот ответ уже успели откомментировать и заподозрил, что проблема именно в этом. Осталось найти другой ответ, который никто не комментил и убедиться в своем предположении. А потом уже написать об ошибке разработчику.

Не просто "аааа, фсе пропало, РЕДАКТИРОВАНИЕ НЕ РАБОТАЕТ НИГДЕ!!!", а грамотно, с локализацией ошибки. На то мы и тестировщики Smile :)

Напоследок хочу сказать, что всегда пробуйте посмотреть на задачу с разных сторон. Сначала с точки зрения пользователя "Что я могу делать? Ага, а какие состояния могут быть у этого элемента, которые могут мне помешать (такие, как комментарий в нашем примере)?".

А потом не вредно посмотреть и с точки зрения тестировщика — "Крушить, ломать! ПО побеждать". Удачи в поисках интересных классов эквивалентности Wink ;)

2 комментария:

  1. кстати на некоторых форумах специально отключена возможность редактирования сообщения после того, как к нему был оставлен комментарий)
    чтобы всякие несознательные форумчане не меняли смысл дискуссии в одностороннем порядке, так что этот ожидаемый р-т надо бы согласовать с держателем требований))

    ОтветитьУдалить
    Ответы
    1. Согласна :) И именно поэтому надо всегда проверять редактирование "простое" и откомментированное. А то, мб, разработчики увлеклись и везде заблокировали. Или везде разблокировали :)

      Удалить