Когда тестировщики узнают о различных техниках тест-дизайна, это добавляет им вдохновения! Ух ты, а тут еще это можно попробовать. И это, и вот это! А еще вот так извернуться, трижды присесть, подпрыгнуть и хлопнуть в ладоши!
И это здорово, что получается генерить разные варианты! Но в первую очередь стоит задуматься о простейших сценариях, на которые наткнется пользователь, даже не планировавший что-либо сломать.
Давайте возьмем для примера сайт http://ru.qahelp.net/.
Там можно создавать вопросы и отвечать на них. К каждому вопросу и ответу можно добавлять комментарии.
Я задала своим выпускникам онлайн-интенсива простой вопрос, как мы будем тестировать возможность редактирования ответа на вопрос?
Результаты порадовали (варианты очень интересные):
1. Что я могу редактировать свой ответ.
2. Что я могу открыть для редактирования и передумать, нажать отмену. Должно сохраниться прежнее состояние.
3. Если пишется дата создания ответа, то:
3.1: Действительно ли такое время и дата. Может быть другой GMT
3.2: Какая дата после редактирования и сохранения изменений: старая или новая.
4. Не внести изменения и сохранить. Должно остаться прежним. Со временем - как в 3.2
5. Если были комментарии к ответу, то что с ними происходило после 1-4. Должны сохраняться.
6. Проверить что все инструменты для редактирования работают.
7. Ответ может быть "простой" и кем-то откомментированный (тобой же или другим человеком).
8. Открыть для редактирования сразу в 2 вкладках и отредактировать. Проверить синхронность.
9. Открыть одновременно в двух вкладках для редактирования. В первой вкладке выйти из режима редактирования и удалить. Во второй вкладке сохранить редактируемое. Обновить вкладку во втором браузере. Вопрос: останется во второй вкладке или исчезнет?..
Хороший чек-лист, грамотное выделение классов эквивалентности
Но что из этого надо проверить в первую очередь? Если пользователь не стремится специально разломать систему, то для него в первую очередь важно, чтобы кнопка редактирования в принципе работала. А потом уже всякие дата-время, внезапная отмена и прочая-прочая.
Кстати, я не говорю, что внезапная отмена — плохой тест-кейс. Наоборот, отличный! Пользователь может просто передумать, это нормально. И если система себя "странно" поведет, то он очень расстроится.
Но давайте пока временно отбросим эту проверку, отнеся ее к негативным тестам. У нас должна быть возможность редактировать ответ. Отлично! А какой ответ бывает?
- Свой.
- Чужой.
Другие варианты разделения на классы эквивалентности?
- "Простой".
- Откомментированный.
Можно подумать, что эти классы надуманны, но нет. Потому что именно там и скрывалась ошибка, о которой я недавно сообщила создателю:
********************************************
Шаги для воспроизведения:
1. Даем ответ на чей-нибудь вопрос.
2. Просим коллегу его прокомментировать
3. Нажимаем «редактировать»
Результат
Ничего не происходит
См пример тут - http://ru.qahelp.net/question/skolko-tratite-na-samoobrazovanie/
Я не могу исправить очепятку в своем посте, потому что его уже откомментили (если еще не комментировали, то редактирование работает, проверила тут - http://ru.qahelp.net/question/vash-top-5-dokladov-s-sqa-days-vseh-vremen/).
Ожидаемый результат
Открывается форма редактирования.
********************************************
Собственно говоря, нашла эту ошибку я чисто случайно. Заметила у себя опечатку, попробовал отредактировать, а фиг.
Тестировщик во мне сразу заметил, что этот ответ уже успели откомментировать и заподозрил, что проблема именно в этом. Осталось найти другой ответ, который никто не комментил и убедиться в своем предположении. А потом уже написать об ошибке разработчику.
Не просто "аааа, фсе пропало, РЕДАКТИРОВАНИЕ НЕ РАБОТАЕТ НИГДЕ!!!", а грамотно, с локализацией ошибки. На то мы и тестировщики
Напоследок хочу сказать, что всегда пробуйте посмотреть на задачу с разных сторон. Сначала с точки зрения пользователя "Что я могу делать? Ага, а какие состояния могут быть у этого элемента, которые могут мне помешать (такие, как комментарий в нашем примере)?".
А потом не вредно посмотреть и с точки зрения тестировщика — "Крушить, ломать! ПО побеждать". Удачи в поисках интересных классов эквивалентности