суббота, 20 июня 2015 г.

Внеурочный тур. The After-Hour Tour

Входит в «Туры по бизнес-району», Tours of the Business District

Вольный перевод статьи Виттакера из книги Exploratory Software testing. Туры помогают искать баги, взглянув на систему по-новому. Тестировщик выбирает тур и следует его цели, не отвлекаясь ни на что другое. Словно турист в незнакомом городе, составил план и пошел!

В 6 вечера бизнес останавливается и рабочие разъезжаются по домам. Это время давки в транспорте и на улицах города. Туристы предпочитают держаться подальше от бизнес-районов в это время.

reWalls.com-1781.jpg
Рабочий день окончен — давка началась. Идеальное время для тестирования


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

Что будет, если грохнуть фоновый процесс? Или само приложение, пока оно работает в фоне? Если оно пересылает данные на сервер, можно рубануть не само приложение, а только интернет. Нанесут ли подобные действия непоправимый вред?

Вариацией данного тура является Тур утренней дороги на работу (Morning-Commute tour), цель которого — протестировать скрипты запуска приложения.

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

Цель тура:
Внеурочный тур — проверить все задачи, выполняющиеся в фоновом режиме.
Тур утренней дороги на работу — проверить установку приложения.

Самый очевидный пример — винда, диспетчер задач. Открываем его, смотрим, какие приложения работают в фоновом режиме:


2015-06-18_234945.png
Вот они, фоновые процессы


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


В турах я привожу подробный пример по Дадате. Но фоновые процессы через черный ящик не отследишь. Так что «потрогать самим» не получится. Для этого и пример в windows привела.


Итак, дадата. Где же у тебя фоновые процессы? Да при сборе статистики в подсказках.


2015-06-20_141711.png
Одна буква — один вызов подсказок


Вводишь одну букву = посылаешь один запрос. Бесплатно только 10 тысяч запросов в день, что не очень много, учитывая, что в одном слове далеко не одна буква :-)


Статистика снимается асинхронно, при каждом вызове «счетчик» пользователя увеличиваться. Но сохраняется информация не сразу, а по условию:
— прошла 1 минута;
— накопилось 100 запросов.


Ага, вот он, фоновый процесс! Значит, когда мы ввели букву, событие уже закончилось, а информация о нем все еще хранится в памяти и ждет, ждет своего часа. Тут то бы ее прибить!


Хотя намного интереснее попробовать обойти ограничение. Сможет ли пользователь обдурить систему и отправить 1 млн запросов вместо положенных 10 тысяч? Чтобы этого не допустить, сохранение информации надо протестировать. А как?


Сбор статистики покрыт unit-тестами от разработчика. Чтобы проверить вручную — нужно включить подробное логирование на стороне подсказок и на стороне Дадаты. Проверяем, что информация:
С подсказок — отправилась
В Дадату — пришла


И что оба значения совпадают, конечно же :-)
Такое вот интеграционное тестирование.


Информация по установке подсказок к себе в приложение есть в открытом доступе.


2015-06-20_143724.png
Настройка «под себя» наверняка включает в себя Тур утренней поездки на работу


Проходим по инструкции, проверяем Тур утренней дороги на работу.

На этом все, увидимся в следующем туре!



PS: Статья написана в помощь студентам моих курсов по тестированию и уже доступна на Testbase, чтобы не потерялась ссылка.

7 комментариев:

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

    ОтветитьУдалить
    Ответы
    1. У меня нет цели везде показывать людей на работе)) Тогда в ориентирах надо показывать не Балто, а тоже людей на работе... И во всех турах так, а в чем разница тогда)

      Удалить
  2. "Когда основные функции уже давно не работают, многие приложения продолжают пыхтеть. "
    Подумалось, что "основные функции"=люди которые уехали домой, "функции работающие в фоне" = люди что остались

    ОтветитьУдалить
  3. Статья писалась в 2015, а комментарии с 2019 года. Вот это показатель актуальности тем! Уважение и благодарность от читателей.
    Много вдохновения и радости от тестирования (в любых аспектах) автору!

    ОтветитьУдалить
  4. Оля у вас небольшая опечатка в слове подобрные - скорее всего имелли ввиду подобные

    "Что будет, если грохнуть фоновый процесс? Или само приложение, пока оно работает в фоне? Если оно пересылает данные на сервер, можно рубануть не само приложение, а только интернет. Нанесут ли подобрные действия непоправимый вред?"

    ОтветитьУдалить