Инструментарий тестировщика

Стандартный

Думаю, у каждого it-шника есть свой набор излюбленных инструментов. Наверно у тестировщиков он самый разнообразный. Хочу поделиться своим, список далеко неполный, постараюсь перечислить основное. Я тестирую Win32 приложения, поэтому и инструментарий у меня соответствующий.

Инструменты

Far

Собственно, файловый менеджер нужен всем. Почему именно Far:

  • Он консольный. В работе очень часто приходится использовать командную строку, различные консольные утилиты. Запускать каждый раз cmd жутко неудобно. К тому же, т.к. он консольный, Far очень шустро работает, что так же важно, учитывая, что приходится работать на различных стендах с разной конфигурацией.
  • Куча плагинов. От подсветки синтаксиса в редакторе и просмотра изображений до вызова меню проводника. Можно подобрать набор под себя.
  • Переносимость. Его можно просто скопировать на тестовый стенд и сразу начать работать. При желании можно перетащить и настройки, они хранятся в HKEY_CURRENT_USER\Software\Far.

Единственный для меня минус — не поддерживается юникод, но версия 1.8 обещает быть: а) юникодной; б) бесплатной.

Полезные фишки:

  • [Shift]+[Enter] открывает выбранный файл/папку с помощью Explorer.
  • [Ctrl]+[Enter] вставляет имя файла/папки в командную строку.
  • [Shift]+[F5] копирует файл/папку в текущую папку ([Shift]+[F6] — переименовывает).

Process Explorer

Отличная замена стандартному Task Manager’у.  Кроме всяких подсветок и улучшений имеет следующие достоинства:

  • Отображает дерево процессов — видно, откуда какой процесс взялся.
  • Позволяет просмотреть все свойства процесса. Включая строку запуска, переменные окружения, текущий каталог и многое другое.
  • Показывает открытые процессом файлы. Например, если при перемещении/замене файла получаем ошибку «Sharing violation», запускаем Process Explorer, жмем [Ctrl]+[F], вводим имя нужного файла и — вуаля — процесс, заблокировавший файл, найден :)
  • Показывает загруженные процессом библиотеки.
  • Может показывать в списке не просто загрузку CPU, а CPU History, что удобно при наблюдении за процессами.
  • Может показать какому процессу принадлежит открытое окно и, наоборот, вытащить на передний план окно процесса.

FileMon

Лучший файловый монитор, что я знаю (правда, знаю я только один :)). Незаменимая штука для мониторинга файловой активности, когда непонятно откуда берутся какие-то файлы или неясно какой процесс меняет/удаляет файлы. Можно настроить фильтр для конкретного файла или процесса. Поддерживает подсветка фильтров.

RegMon

То же самое, что и FileMon, но для реестра. Фильтр так же работает для процессов и для ключей реестра.

TCPView

То же самое, что и RegMon, только для TCP :) Правда, TCPView попроще.

Performance

MMC-оснастка для мониторинга параметров системы. Есть во всех версиях Windows, начиная с 2000. Ее можно найти в Control Panel\Administrative Tools. Полезна при нагрузочном тестировании, поиске утечек памяти и т.п. Поддерживает логирование в файл csv, который потом можно анализировать в Excel или непосредственно в самой оснастке. Умеет мониторить ресурсы удаленного компьютера.

WSH/Batch files

WSH позволяет автоматизировать многие задачи, например, генерацию различных файлов, создание пользователей, проверку установки и другие. Для WSH предпочтительнее использовать VBScript (можно использовать и JScript), т.к. в сети есть масса примеров и готовых решений на VBScript.

RunAs

Полезная утилита при проверке работы программ под пользователями, с различными правами. Позволяет запускать приложения от имени альтернативной учетной записи.

NewSID

Утилита умеет генерировать новый Security Identifier (SID) для компьютера. Это позволяет избежать проблемы дублирующихся идентификаторов при клонировании виртуальных машин.

Dependency Walker

Утилита позволяет просматривать зависимости exe и dll от других модулей. Если какая-то библиотека не хочет регистрироваться,  Dependency Walker позволяет понять чего ей не хватает.

At

Утилита командной строки, которая позволяет создавать т.н. назначенные задания (scheduled tasks). Собственно, самое интересное в ней то, что по умолчанию созданные ею задания запускаются под системной учетной записью (NT Authority\System), из-под которой работают многие службы. Иногда чтобы понять, будет ли работать приложение в качестве службы (например, будет ли достаточно прав), можно просто запустить его с помощью AT.

Разработчики :)

Иногда при проверки некоторых аспектов не обойтись без собственных утилит. Как правило, они несложные и разработчики их пишут быстро. Разумеется, такие работы надо согласовывать с ПМ, но они окупаются.

Кроме того

На что я бы еще обратил внимание:

  • Microsoft Power Shell.  Это оболочка и скриптовый язык для администраторов. Активно продвигается микрософтом.
  • Python. Кросс-платформенный, open source, интерпретируемый язык.  Мне он кажется очень интересным и удобным языком, который подходит для решения широкого круга задач.
  • PsExec. Утилита позволяет запускать интерактивные консольные приложения на удаленном компьютере. Может пригодиться при работе с распределенным стендом.
  • AutoIt. Бесплатный инструмент, который можно использовать для несложной автоматизации тестирования.

Книги

Серия Cook Book

Книги этой серии по сути дела представляют собой список задач с готовыми решениями. Как правило, предлагается несколько вариантов решений (GUI средства, командная строка, VBScript и др.) Я использую из этой серии

И книгами очень доволен, часто экономят массу времени. Так же в этой серии есть книги по SQL, MySQL, JavaScript, Perl, Linux и др.

Внутреннее устройство Microsoft Windows: Windows Server 2003, Windows XP, Windows 2000. Мастер-класс

Книга для тех, кто хочет досконально разобраться в тонкостях работы Windows. Книга рассчитана в основном на разработчиков. Я использую ее как справочник.

Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах

Интересная и полезная книга формата «прочитал и в бой» :) Для начинающих тестировщиков по-моему одна из лучших книг.

Реклама

Инструментарий тестировщика: 9 комментариев

  1. Здравствуйте, Михаил.
    Судя по мне и блогам — win32 тестировщики рано или поздно приходят к практически аналогичному набору инструментов. Мой на 80% совпадает с приведенным списком.
    Аналогично — книги, тут на все сто.
    Небольшой вопрос, возможно вопрос привычки, но все же: почему far, а не wincmd?
    Для консоли не так удобен, выбор плагинов гораздо шире, настраиваемость.
    Если Вас не затруднит, скажите.

  2. Здравствуйте, Wolonter!
    Спасибо за комментарий, всегда приятно осознавать что ты не один такой :) Мне было бы интересно узнать про оставшиеся 20% инструментов, которых нет в списке ;)
    На счет far’а. Сразу так и не скажешь почему. Пересел на него где-то года 4 назад (до этого использовал wincmd). По началу было неудобно, а потом втянулся и сейчас все остальные файловые менеджеры кажутся громоздкими и неудобными. Фар шустрый, приходится работать на разных машинах, поднимать кучу виртуалок с небольшим объемом памяти. В таких условиях фар незаменим (для меня :)). Может плагинов немного (хотя тут говорят что много: http://www.farmanager.com/plugins.php?l=ru), но мне хватает моего набора. Единственное, чего по мне не достает фару — это вкладок.

  3. In the place we are force, хех.
    Инструменты — как только осформулирую список свой.
    Действительно, плагинов море. И есть весьма интересные.
    И полегче far, тоже, впрочем это не так критично.
    Но вопрос привычки — все же больше половина вопроса.
    Сдается мне, Михаил, надо будет погонять их и посравнивать.

  4. :)) Все-таки профессия накладывает свой отпечаток) Похоже, все тестировщики ворчуны и в первую очередь видят недостатки =)

  5. Михаил, день добрый!
    При описании дефектов какие инструменты используете?
    Для снятия скриншотов пользуюсь утилиткой Visual Test Screen Utility из MS Visual Test — позволяет снять весь экран, указанное окно либо область.

  6. Спасибо за список, весьма познавательно! Отдельное спасибо — за Ctrl-F в Process Explorer :)

    Хочу еще добавить, что все Sysinternal’овские приблуды позволяют из VBScript снимать показания по любому из процессов — незаменимо при построении графиков нагрузочного тестирования.

    А в FAR’е я еще часто использую «.», Shift-Enter (открытие текущего каталога в проводнике)

    Ну и еще, если говорить об инструментах для тестировщика — мне очень нравится SnagIT. Идеальный инструмент для наглядного документирования багов скриншотами. Правда, платный, но своих денег стоит. Под Linux есть схожий по функциональности и бесплатный ksnapshot, но он не умеет добрую половину того, что может SnagIT.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s