Оцените начинающего тестера
Перевод слов с английского языка на русский.
Вы всего лишь словами рассказали слепому о том, как вы курсором по экрану тыкали и называете это тестированием.
Попробуйте думать по-другому.
(1)
Вот три вопроса, на которые тестировщику НАДО получить ответ ДО начала тыканья курсором по экрану:
- Что это?
- Зачем это нужно?
- Как оно делает то, что нужно?
Как вы это сделаете — неважно. Если не сделаете — не беда, будете плестись в хвосте постоянно удаляющегося поезда прогресса с высокими зарплатами.
Что это?
Никого рядом нет, кто мог бы за минуту объяснить, что это за шняга. Подразумевается, что я всё знаю или узнаю в процессе.
Ок, гуглопереводчик мне уже знаком, он помогает переводить
* слова,
* предложения,
* абзацы текста.
Среди них бывают отдельные слова и словосочетания (Break a leg - «Сломать ногу» - это идиома, которая иронично желает исполнителю «удачи». Доброжелатели обычно говорят «сломай ногу» актерам и музыкантам, прежде чем они выходят на сцену для выступления. Происхождение фразы остается неясным). Как гуглопереводчик переведёт эту идиому? «Сломать ногу». Аллё, так и должно быть?
Зачем это нужно?
Ну, английский можешь ты познать, но знать его всего не обязан. Хорошо, если робот тебе поможет. Гуглопереводчик = робот-переводчик. Нехай буде.
Как оно делает то, что нужно?
Нужна справка.
Я очень опытный гуглер, я юзал этот гуглопереводчик еще задолго до появления Google, но весь мой опыт — наживной. Есть большая вероятность того, что я умею пользоваться гуглопереводчиком с искажениями. Вероятно также, что там есть какие-то штуки, о которых я просто не знаю. Тестировать только на основе личного опыта — невероятного масштаба тупость. Тестировать только на основе «щупаю то, что вижу» — тупость ещё большего масштаба, нежели предыдущая.
Поэтому мне нужна справка, чтобы ТОЧНО ЗНАТЬ, что там внутри и что оно ВООБЩЕ может делать. Мне надо знать, а не догадываться.
Программистов рядом нет, но в левом верхнем углу страницы есть меню «гамбургер» > [О Переводчике Google]. Открылась англоязычная страница https://translate.go.../intl/en/about/
Так и должно быть?
Я хочу переключить справку на русский язык. Как это сделать?
(через две минуты размышлений, пролистываний и тыканья курсором по странице) Да ёпвашугугломать, как переключить справку-то!? Что, так и должно быть?
Ок, я опытный, я могу изменить URL — https://translate.go.../intl/ru/about/ А кнопками это можно сделать?
(через ещё несколько раз ёпвашугугломатерей) Ага, если прокрутить страницу полностью вниз, вижу выпадающее меню выбора языков. Ок, есть russky! Скроллим верх.
«Теперь Google Переводчик доступен в любом приложении». Какие приложения подразумеваются? В любом? В ЛЮБОМ? У меня на андроиде их не меншье 20. ТОЧНО В ЛЮБОМ? Так и должно быть?
Смотрим поясняющее видео. Там говорят, что иконка гуглопереводчика висит поверх всего, «Это функция "Быстрый перевод", она доступна в последней версии гуглопереводчика». А у меня какая версия? Как это узнать?
Там же показывают, что надо тыкнуть по сообщению, которое надо перевести, потом по иконке скопировать, и взлетит "Быстрый перевод". Ок, есть первый тест-кейс.
Скроллим справочную страницу дальше. «Общение без границ». Ыыы, это чем-то напоминает Шелдона Купера в китайском ресторане с требованием «Покажите мне ваши сопли!» Отложим.
Скроллим дальше. «Всегда под рукой»:
* в телефоне
* офлайн
* на компьютере
Ок, это три разных окружения и они тащут за собой множество тест-кейсов для проверки, соппсно, одного и того же набора функций. Есть смысл на этих окружениях сосредотачиваться? (есть, конечно, но это очевидно трудозатратно, поэтому надо согласовать эти усилия с начальством/заказчиком)
«Несколько способов ввода».
* говорить в микрофон
* запихнуть в программу фотографию с текстом
* нарисовать текст стилусом
* набирать текст
Ок, это четыре разных окружения и они тащут за собой множество тест-кейсов для проверки. Плюс будем комбинировать эти способы ввода с упомянутыми ранее разными окружениями. В телефоне четыре способов ввода, в режиме «офлайн» сколько их будет доступно? На компьютере рисовать… не помню такого, но можно подключить перьевой планшет. Сколько в итоге получается проверок? Есть смысл их всех учесть, записать, согласовать требуемые усилия с начальством/заказчиком?
Остановимся.
Вообразите (и подсчитайте) количество тестов, которые можно сгенерировать, всего лишь изучая контекст и поверхностные справочные материалы, не касаясь интерфейса гуглопереводчика.
Про упомянутое остроухим вулканцем «туннельное видение» вам всё понятно?
Также подумайте вот о чём: гуглопереводчик — собака известная. Если бы вам предложили тестировать что-то неизвестное (расчёт тангенса и котангенса между Бетельгейзе и гейзером Строккур), ваши попытки под видом тест-кейсов описывать взаимодействие с приложением были бы, мягко говоря, центральным экспонатом музея беспомощности.
Пример: клавиатура программируемого калькулятора МК-61.
Он, естетственно, может выполнить операцию 2+3, но на его клавиатуре НЕТ клавиши [=], поэтому привычные последовательные нажатия клавиш [2] [+] [3] [=] к нему неприменимы. Догадаться о том, как он работает можно? Нет, нужно посмотреть в справку. Нужно спросить о том, как он работает. Как вы это сделаете — неважно. Не беритесь за гуж, не спросивши.
(2)
Негативные тест-кейсы — ВСЕ предложенные вами негативные тест-кейсы являются позитивными :)
Издалека: в основе тестирования находится сравнение ожидаемого результата с наблюдаемым.
Позитивные тест-кейсы всегда характеризуются тем, что у вас есть ожидаемый результат. Вы их выполняете, и вы наблюдаете ожидаемый результат.
Если наблюдаемый результат будет неожидаемым, то вы скажете, что нашли баг (хотя логично было бы сказать, что всё в порядке, просто вы выполнили негативный кейс и всё поломалось).
Ну, ввели мы в гуглопереводчик всяку шнягу по вашему предложению — 123!"№%*(). И что? Сайт рухнул? К вам прибежал админ гуглопереводчика и лично надавал по шее? Нет, всё в норме. Более того, у вас есть ожидаемый результат, следовательно, вы выполняете позитивные тест-кейсы. А называете их негативными.
Как настырный тестировщик вы придумаете/обнаружите сценарий, в ходе которого будет сделано НЕ ТО, что гуглопереводчик должен делать, или то, но НЕ ТАК, как это было предусмотрено.
Например, вставим в гуглопереводчик в режиме «Рус / Eng» транслитерированный текст:
Transliteratsiya shiroko ispolzuetsya vmesto kirillitsyi pri rabote na nerusifitsirovannyih sistemah dlya vvoda nazvaniy faylov, papok, a takzhe dlya perevoda nazvaniy ili imen iz odnogo yazyika na drugoy.
Что произойдёт? Это русский текст, или английский?
Вставим тот же текст, но переведем гуглопереводчик в режим «Eng / Рус». Что произойдёт?
Иногда вы будете знать точно, что должно происходить. Это тестирование.
Иногда вы будете знать точно только то, что НЕ ДОЛЖНО происходить. Это тоже тестирование.
Иногда не будете знать результат никак, никакой, даже приблизительно. Это уже не тестирование, это исследование. Нет ожидаемого результата, мы узнаём его в ходе взаимодействия с приложением, мы учимся, мы исследуем, мы делаем выводы, мы решаем, каким должен быть ожидаемый результат (это надо спрашивать у живых людей).
Поэтому не привязывайтесь к вводу «неправильных значений». Рассматривайте «позитив» и «негатив» в русле сценариев, которые должны выполняться. Все сценарии, в ходе которых мы проверяем, что гуглопереводчик делает именно то, что должен (то, что в его справке написано, а не то, что вы воображаете), можно назвать позитивными. Назовём их скопом happy path. Додумаетесь/обнаружите сценарий, который отклоняется от happy path — вот это и будут негативные тест-кейсы.
То, что тест-кейсы обслуживают сценарии вы уже знаете?