понедельник, 23 сентября 2019 г.

Метод бисекционного деления в тестировании

Ссылка на Хабр

Иногда баги сами нас находят. Вот мы впихали большую строку данных — и система подвисла. Это она из-за 1 млн символов упала? Или ей какой-то конкретный не понравился?

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

Если найти минимальные данные для воспроизведения, то:
  • Вы сэкономите время разработчику — ему не придется подключаться к тестовому стенду, самому грузить файл и дебажить
  • Менеджер сможет легко оценить приоритет задачи — это нужно срочно исправлять, или баг может подождать? Пока название «некоторые файлы падают, хз почему» — это сделать сложно...
  • Описание бага от понимания причины падения тоже только выиграет.
Как найти минимальные данные для воспроизведения бага? Если есть какие-то подсказки в логах, применяем их. Если подсказок нет, то самый оптимальный метод — метод бисекционного деления (также известный как метод «деления пополам» или «дихотомия»).


Описание метода



Метод применяется для поиска точного места падения:
  1. Взять падающую пачку данных.
  2. Разбить пополам.
  3. Проверить половину 1
    1. Если упало — значит, проблема там. Работаем дальше с ней.
    2. Если не упало → проверяем половину 2.
  4. Повторяем шаги 1-3 до тех пор, пока не останется одно падающее значение.


Метод позволяет довольно быстро локализовать проблему, особенно если это делается программно. Разработчики встраивают такие механизмы в обработку данных. А если не встраивают, то сами и страдают потом, когда к ним приходит тестировщик и говорит «Вот на этом файле падает, а точную причину я не смог найти».


Применение тестировщиками


среда, 18 сентября 2019 г.

Поздравляем Ольгу с новой работой!

Давненько у нас не было таких хороших новостей — одна из выпускниц школы, Оля, устроилась на работу:


Попросили рассказать подробнее:

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

Я попала в самую сложную для меня лично сферу — мобильное тестирование. Сложную, т.к. именно это направление изучено мною минимально, ну и я в принципе не из "мобильного поколения", пользуюсь телефоном, чтобы звонить, что называется )))

Город - Санкт-Петербург, компания ХХХ (крупный телеком)

Мне повезло, т.к. в вакансии у них стоял требуемый опыт 1-3 года, но меня порекомендовали )) Сработала сила нашего чатика выпускников: сокурсница по ШНАТу (Марина, привет :)!) увидела, что я всем миром обновляю резюме, и отправила его члену команды.

пятница, 13 сентября 2019 г.

Мнемоники про постановку улучшений — СОПРАНО, ВРИ ВСЕМ и ЛУБОФФ

На моем курсе «Школа для начинающих тестировщиков» есть творческое задание — придумать свою мнемонику по тестированию! Разумеется, оно необязательное ツ

Посмотрите, что придумала Галина про составление улучшения:




Шаблон улучшения (сначала зачем, потом как) — СОПРАНО

Сначала
Обоснуй,
Почему
Реальность недостаточно хороша, потом
Альтернативу
Наглядно
Опиши.

четверг, 12 сентября 2019 г.

Мои 12 недель в году. Часть 10


Первый опытвторойтретийчетвертыйпятыйшестойседьмойвосьмой, девятый



Что это за техника


Вы собираетесь с друзьями в группу и ставите себе цели на 12 недель (3 месяца). Это могут быть как рабочие, так и личные задачи. Такие, которые вы вроде как хотите сделать, но вечно откладываете, так как «некогда, потом, щас, вот только мелочевку разгребу и тот пожарчик потушу».

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

Я комбинирую с магией утра.



Результаты кратко



Оооо, нашему сыну исполнился годик! И за последние 1,5 месяца изменилось столько всего! Он научился ходить, стал спать дома вместо улицы, засыпает теперь самостоятельно, знает кучу всего! Еще от груди отказались, воть.

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

А сейчас подрасслабилась. Пока была в больнице, сына стал папа укладывать. Раньше это делала я и освобождалась около 22.30 — 23.00. Работать к этому времени сил уже не оставалось. А сейчас папа укладывает, а я вот стала с бабушкой смотреть кино в 21.00 по каналу «Россия», в телефончик играться параллельно... 

И ведь понимаю, что раньше свобода в 10 вечера была бы счастьем и возможностью сделать кучу дел! Но... Не хочется... Не хочется и все тут! Хочется в телефончик позалипать, могу я поиграть вообще хоть немножко??? 

В общем, то болезни, то лень, то игрушки... Успела не так уж и много. Но к следующему циклу соберусь. Буду проводить вечера то продуктивно, то играючись. Чтобы и работать, и отдыхать. Главное, что сын позволяет поработать. И папа тоже, конечно же)) 

Ну что, давайте посмотрим, что я успела:
  1. Написала главу 10 книги! 
  2. Написала главу 11 книги! ♡\( ̄▽ ̄)/♡
  3. И даже начала писать главу 12!!
  4. Заходы к книге — почти каждый день, очень стабильно, я довольна! 
  5. Посты из книги, пополняя бесплатный онлайн-вариант — 6 штук
  6. От меня ушло 2 тренера :( 
  7. Нашли и обучили еще 2 тренеров
  8. Обработала 3 урок для курса по автоматизации в Postman — как достать информацию из ответа (дерево JSON, XML)
  9. Обработала 5 из 14 кусочков урока «как написать тесты на ответ». И это ого-го прогресс!!
  10. Улучшалки по текущим курсам — они небольшие, но набирается прилично! 
  11. Улучшалки по ШНАТ — 10 штук
  12. Рест — 2 штуки
  13. Логи — 2 штуки
  14. Пополняю раздел «работы студентов» — 11 штук
  15. Инструменты 12 недель — продолжаю вести файлик DONE, это все еще очень круто
  16. Выложила полезные видосики на свой youtube-канал — 4 штуки
  17. Testbase — 7 улучшалок!
  18. Фолкс — 3 улучшалки
  19. Хабр — 2 поста!
  20. Прочитала 6 книг  
  21. А вот гуляю мало в последние месяца 1,5, потому что болезни (╯︵╰,)
  22. Находила время на всякие "найс ту ду" 
  23. Удалила «лишние» родинки
  24. Удалила 2 молочных зуба (((( Все таки пришлось...
  25. Съездила пару раз в 4ДХ
  26. Сходила и в местный кинотеатр
  27. Встречались с друзьями, ко мне в гости заезжали в основном
  28. Устроили шашлыки! Вместе с детьми, так что Влада с собой брали ))
  29. Ездила с Владом к друзьям на дачу на несколько дней, тоже отдых!
  30. Купила себе зеленые туфли ))))
  31. Фотосессия !

Результаты подробнее


пятница, 6 сентября 2019 г.

Мнемоника «Be active, don`t CS»

На моем курсе «Школа для начинающих тестировщиков» есть творческое задание — придумать свою мнемонику по тестированию! Разумеется, оно необязательное ツ

Сегодня у нас мнемоника от Ольги для клубного человека:


PS — добавила пост в копилку мнемоник моих студентов, где их еще больше! Читайте и вдохновляйтесь!

среда, 4 сентября 2019 г.

Панбагон. Поехала вертска в письме

Пришло письмо из Декатлона. Раньше я их просто удаляла, а тут решила таки отписаться, зачем мне эта реклама. Прокрутила вниз, и вижу это:

HTML-разметка вместо текста
Упс, что-то пошло не так! Где-то в HTML-разметке налажали и, вместо вывода слова мы видим всю разметку.

понедельник, 2 сентября 2019 г.

Нужна авторизация? Дай данные

Нашли ошибку, заводим задачу. Вроде все делаем по фен-шую... Ссылка на забагованное место есть, описание есть, но... Разработчик переходит по ссылке и видит окно авторизации. Что ему делать? Какие данные вводить? Это важно вообще, что будет за пользователь? И где взять тестовые данные?

Иногда тестировщики не пишут данные потому что «их и так все знают». Потому что есть пачка тестовых пользователей, на которых они гоняют все тесты. И они даже где-то описаны.

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



Пусть любой, кто хочет воспроизвести баг, сделает это быстро и без дополнительных телодвижений. Прошел по ссылке, ввел что сказали — профит! А все дополнительные действия сделайте вы, заранее. В том числе создайте пользователя.