Screen2Log

From Wiki4Intranet
Revision as of 17:18, 22 February 2012 by StasFomin (Talk | contribs) (Решение)

Jump to: navigation, search

Screen2Log — скринкастер, адаптированный для тестировщиков и обычных пользователей.

Зачем нужен скринкастер?

Особенно обычным пользователям?

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

Оно скорее похоже на долгую утомительную рыбалку, или патрулирование, когда неясно, где искать добычу/врагов, попадутся ли они, когда, и как оно будет выглядеть.

И когда, наконец-то, оно попадается (клюет! что-то мелькнуло в поле видимости…), то всплывает куча проблем:

  • баг долго оформлять — а это сбивает настрой, поэтому гуру exploratory testing требуют отдельных штурманов-регистраторов, пока «снайпер» занимается охотой, не выходя из своего боевого транса.
  • трудно точно описать, особенно если оно уже прошло → это чисто психофизиология, уже через пару минут нельзя с 100% уверенностью утверждать, что это было («врет как очевидец™»).
  • ну и наконец, разработчики/подрядчики/техподдержка может просто не верить, если ваш случай редок («It works on my machine!™»).

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

Решение очевидно — да, нужно записывать экран, и уметь это показать-переслать и т.п.

Зачем нужен еще один скринкастер?

Ведь тысячи их! Платных и бесплатных! В веселым GUI! И даже предлагающие загрузку в интернет на свои сервисы!

И мы пробовали многие из них. Платные и бесплатные. У нас в компании есть site license на один из неплохих вариантов, в доводке которого я принимал активное участие (слал авторам кучу баг-репортов и фича-реквестов).

И все же сел делать собственный велосипед.

Во-первых, законы Гейзенберга и Паркинсона-Мерфи неумолимы — все интересное/опасное, баги, сбои, измены, ДТП, и прочий криминал, обычно происходят ровно тогда, когда на это никто не смотрит и не снимает. Записывать надо начать до! Т.е. по-уму, надо писать постоянно.

Если писать непрерывно в один файл, как делают почти все отсмотренные скринкастеры, то

  • либо получается большой жирный файл, который никуда не переслать, не приаттачить к багу и т.п., если не занятся видеомонтажем — вырезанием и т.п. А надо то быстро! Не выходя из режима «exploratory testing»! Баг репорт должен быть мгновенным и убедительным!
  • либо не получается ничего — падает не только софтина, но и скринкастер (или система целиком, BSOD), и все накрывается раком.

Плюс:

  • Скринкастер может существенно тормозить вашу нормальную работу. Да, регистрация это неплохо, но работа-то важнее.
  • Записывать экран надо с точностью до пискеля, в мутной картике нет смысла. Это можно настроить почти во всех скринкастерах выбором правильного кодека. Но не всегда. И не во всех. И это отдельный геморрой.
  • Лень. Лень изучать интерфейсы какой-то дополнительной софтины. Удивительно, но факт, сейчас это один из основных тормозов использования чего-бы то ни было.
  • Нужна некоторая автоматическое структурирование базы записей, ибо часто то, что это проблема, осознается гораздо позже, и нужно иметь эффективный доступ к записям, без перебора файлов («screencast-1.avi», «ыsometesting-12.avi» и т.п.)

Решение

Предлагаемое решение: скринкастер без интерфейса:

  • только кнопка «Вкл» — запуск программы
  • и «Выкл» — закрыть окно крестиком, по Ctrl-C, или просто убив процесс любым способом.

Будучи запущенным, он пишет в рабочий каталог (откуда его запустили), экран:

  • непрерывно
  • нарезая на куски заданного размера (разумные варианты где-то: 30сек, 1мин), это будет весить от 500K в разрешении 1280×800×5fps, до 5MB в 1920×1200×5fps, в любом случае, это вполне нормальный уровень аттачмента к письму или багу, можно быстро передать по Skype и т.п.
  • автоматически создавая временную структуру каталогов и файлов:
yyyy-mm-dd\hh\yyyy-mm-dd-hh-mm-ss.avi
  • работает с самым низким приоритетом, понижая записываемый fps (для большинства программ, если вы только не тестируете шустрые игры или видеоплееры — это не очень критично), лишь бы не мешать.

Доступ же к базе записанных скринкастов:

  • автоматический, по hotkey, или вызову ярлыка — работает, даже когда скринкастер выключен.
  • вообще говоря, просто открывается стандартный интерфейс просмотра папок с видео, который, в Windows 7, с выставленным размером Extra Large Icon, суперудобен, для того, чтобы даже не запуская видео, найти нужный слот-отрывок — достаточно вспомнить «примерно когда это было?» и проскроллировать каталог этого часа с крупными Thumbnailами — прекрасно видно, где и что происходило.
  • После нахождения нужного отрывка (или несколько), их можно
    • простой пользователь — обычным drag-and-drop-ом перетащить в форму аттачмента письма или бага.
    • продвинутый пользователь зажмет «Shift», и в контекстном меню объекта в Explorere появится пункт «Copy as path»…

Инсталляция

K-Lite Codec Pack

Теоретически, можно использовать другой pack кодеков, включающих ffdshow, или поставить ffdshow отдельно, но пока этот вопрос плотно не исследовал.

Скачать K-Lite Codec Pack в соответствии с битностью ваших виндов. 64bit или 32bit.

При инсталляции выберите для надежности Advanced Mode:

K-Lite Codec Pack installation. Advanced Mode.png

Выберите ffdshow для декодирования H264:

K-Lite Codec Pack installation. FFDSHOW 4 H264.png

Убедитесь, что ему разрешено генерировать thumnailы для AVI-видео (остальное по вкусу):

K-Lite Codec Pack installation. thumnailы для AVI-видео.png