Когда начинающие тестировщики впервые попадают в проектную команду, в их арсенале, как правило, всего три-четыре инструмента, среди которых вполне могут оказаться клавиша Print Screen, графический редактор Paint и Блокнот Windows. О том, какие инструменты помогут ручным тестировщикам быть по-настоящему эффективными, рассказывает старший специалист по тестированию — Ольга Гайдукова.
Немного о ручном тестировании ПО
Основные этапы ручного тестирования программного обеспечения
Инструменты тестировщика
1. Управление тестированием
2. Текстовые, XML-редакторы и файловые менеджеры
3. Генераторы данных
4. Инструменты для работы со снимками экранов и записи видео с содержимым
5. Планировщики задач и интеллект-карты
6. Чек-листы
Как и следует из названия, ручное тестирование проводится вручную, то есть для его проведения не используют никакие автоматизированные средства. Инженер по тестированию берет на себя роль конечного пользователя и, в соответствии с тестовым сценарием, проверяет программное обеспечение. Основная задача такого тестирования — выявить поведение, отличающееся от ожидаемого.
Ручное тестирование может проводиться в рамках интеграционного (взаимодействие с другими ПО и системами), регрессионного (тестирование различных изменений) и, конечно, при системном функциональном тестировании. Ручное тестирование помогает выявить и устранить «узкие места», снизить количество дефектов, обеспечить стабильность систем, оценить удобство эксплуатации, и, в конечном счете, получить продукт, удовлетворяющий ожидания пользователей.
Для ручного тестирования ПО используется множество разнообразных инструментов. Например, управление тестированием может вестись в таких специализированных системах, как Redmine, Jira, HP ALM, IBM Rational Quality Manager, MS Team Foundation Server, TestRail, TestLink и других.
Если тестирование выполняется на условиях аутсорсинга (проектная команда работает на территории заказчика), то выбор в пользу того или иного инструмента, связанного с написанием кейсов, обычно зависит от того, что использует (или хочет использовать) сам заказчик. Тем не менее, есть базовый инструментарий, который можно использовать практически в любом проекте, его мы и рассмотрим ниже.
Для поиска, конвертации и сравнения файлов очень удобно использовать Notepad++ или PSPad. Первый — это почти тот же Блокнот для Windows, только с открытым исходным кодом и поддерживающий синтаксис большого числа языков программирования (написан на C++). Второй — редактор для текста и кода, позволяющий одновременно работать над несколькими документами и использовать несколько языков программирования, а также создавать шаблоны для автоматизации повторяющихся действий.
Хорошие XML-редакторы: Altova XML Spy (работа с XML и XSD), а также XMLPad (с отладчиком XSL). Среди файловых менеджеров можно выделить Total Commander (для Windows и Android, может соединяться с FTP-серверами), Free Commander (бесплатный, с возможностью группового переименования и сравнения файлов), trolCommander (кроссплатформенный, написан на Java) и Far Manager (консольный).
Практика показывает, что многие тестировщики используют в своей работе текстовые файлы с одними и теми же тестовыми данными. К сожалению, это приводит к тому, что баги «привыкают» к тестам и со временем перестают находиться («эффект пестицида»). Чтобы не ломать голову перед каждым проектом, можно использовать специальные инструменты, которые умеют генерировать данные. Например, Mockaroo. Это приложение умеет не только подбирать данные (допустим, имя пользователя), но и генерировать SQL-запросы.
генерация данных в Mockaroo
Еще один отличный инструмент, незаменимый для исследовательского тестирования, — плагин Bug Magnet. Он подходит для браузеров Chrome и Firefox, и содержит предустановленные наборы тестовых данных, которые, к тому же, предусмотрительно разбиты на группы (язык, формат, длина). Помимо сохраненных данных, можно добавлять и использовать свои.
Для ручного тестирования ПО скриншотеры просто необходимы. Пожалуй, один из лучших — GreenShot — бесплатный, с открытым исходным кодом. Кроме того, есть Snagit, ScreenHunter, Snipping Tool, Monosnap и многие другие.
Что касается инструментов для записи видео с содержимым экрана, то одни из лучших — Free Screen Video Recorder и Ashampoo Snap. Среди любопытных решений — CamStudio, Jing, которые позволяют делать скринкасты (видеозахват экрана с речевым сопровождением).
Иногда бывает нужна анимация (GIF-файлы). В этих случаях помогут LICEcap и Recordit, которые легко и быстро сохраняют записанное видео в GIF.
Тем, кому приходится иногда сравнивать графические файлы, стоит обратить внимание на ImageDupeless, ImageDiscerner и FastStone Image Viewer.
Для того, чтобы все проектные задачи были выполнены в срок (а еще лучше — с опережением), важно правильно их распределить. Ставить задачи, получать напоминания и вычеркивать из списка выполненное можно даже с помощью корпоративной почты в MS Outlook. Хотя гораздо эффективнее (особенно, когда задач больше, чем кажется) использовать для этого специальные инструменты, вроде Evernote. Для планирования командной работы отлично подходит Trello.
Поскольку наш мозг не всегда хорошо воспринимает информацию в виде текстов, списков и таблиц, ее можно визуализировать. Диаграмма связей или интеллект-карта — отличный метод структурирования задач (а также мыслей и планов). Если добавить в Mind Map данные о тестах, которые нужно провести, то сразу станет понятно, сколько их, какие между ними связи, есть ли среди них что-то лишнее или недостающее. С помощью интеллект-карт так же можно изобразить порядок своих действий, этапы работы и другое.
пример интеллект-карты для этапов работы
Есть много онлайн-инструментов для создания таких карт, но могу выделить MindJet (добавляет информацию с разных сайтов, приложений, платформ и контактов), MindMup (бесплатный, легко сохранять карты и делиться), Coggle (простой в освоении), Bubbl.us (онлайн редактор и приложение) и XMind (серьезный софт для построения ментальных карт и различных диаграмм).
Чек-листы — это простой, но эффективный способ не только для упорядочивания повторяющихся действий, но и для самопроверки. Можно использовать уже готовые списки, составленные и любезно выгруженные другими тестировщиками в сеть, а можно подготовить свои собственные и использовать их, например, перед приемочным тестированием, для юзабилити-тестирования и т.д.
Один из самых удобных инструментов для создания чек-листов — Sitechco. Это бесплатный онлайн-сервис, в котором легко завести свои чек-листы, хранить результаты, делиться ими с командой, просматривать отчетность и статистику.
пример чек-листа в инструменте Sitechco
Конечно, это далеко не всё. У каждого инженера по тестированию есть свой «портфель инструментов», которым он активно пользуется (и который нежно любит), но я рекомендую не останавливаться в поиске лучших средств и решений, а обязательно пробовать новое и продолжать…тестировать. Для себя.