Очень часто на форумах звучит один и тот же вопрос: с чего начинать изучение продукта автоматизации? Здесь мы попытаемся дать ответ на этот вопрос, не привязываясь к какому-либо конкретному продукту.

 Итак, с чего же начать изучение средства автоматизации, с которым предстоит работать?

 Сначала необходимо понять несколько простых вещей:

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

 

Теперь перейдем непосредственно к изучению продукта:

  1. Чтение документации. Естественно, самым главным источником знаний является документация. К сожалению, на данный момент практически нет хороших учебников по продуктам автоматизации. Поэтому обычно приходится ограничиваться встроенной справкой и учебникам типа "Getting Started".
  2. Язык программирования. Необходимо знание языка программирования, который используется в выбранном средстве автоматизации. В противном случае невозможно создать более-менее сложные скрипты, которые будет легко поддерживать в будущем.
  3. Чтение форумов. Подпишитесь на различные форумы, где обсуждают вопросы именно по выбранному вами средству автоматизации. Читайте вопросы, которые там задают, и ответы на них. В случае необходимости задавайте вопросы сами. Через некоторое время вы увидите, что на некоторые вопросы можете сами дать ответ. Как только вы видите подобный вопрос - отвечайте на него. Старайтесь объяснить свою мысль. Необязательно с первого же раза вы сможете дать квалифицированный ответ, но это будет уже шаг вперед. Помните, что обучение других - это лучший способ выучить что-то самому.
  4. Пилотный проект. Прежде, чем начать написание рабочих скриптов, сделайте пробный (так называемый "пилотный") проект. Испытайте свои силы. Попробуйте средство автоматизации, с которым потом будете работать. Думайте о том, что вряд ли что-то из пробного проекта будет перенесено в рабочий проект. Отнеситесь к этому проекту, как к черновику, который потом надо будет переписать начисто. Скорее всего через месяц-два, когда вы решите, что достаточно неплохо изучили продукт и можно начинать автоматизацию, мало что из написанного до этого вам пригодится в дальнейшем.
  5. Проверка кода. Хорошо, если есть кто-то, кто может помочь советом. Кто-то, кто уже разобрался с этим продуктом и готов ответить на вопросы. Однако если такого человека нет, то было бы неплохо, чтобы написанный вами код проверял кто-нибудь из опытных программистов. Помните, что вполне возможно, что ваш код когда-нибудь придется разбирать другому человеку, который будет работать либо с вами, либо вместо вас. Опытному программисту достаточно будет бегло просмотреть ваш код, чтобы сделать выводы и дать вам несколько советов.
  6. Изучение примеров, поставляемых с продуктом. Обычно в состав продукта автоматизации входят примеры, которые показывают, как работать с простыми приложениями (Блокнот, Калькулятор, и т.п.), а также примеры тестируемых приложений. Просматривайте их по мере изучения языка программирования и среды разработки. Обычно эти примеры снабжены комментариями, которые помогают разобраться в том, как работает та или иная функциональность.

 

И, наконец, несколько важных пунктов, которые необходимо понять прежде, чем приступать к серьезному изучению выбранного вами средства автоматизации:

  1. Если вы не понимаете разницу между переменными и константами, функциями и процедурами, целыми числами и числами с плавающей запятой - трижды подумайте, прежде чем связываться с автоматизацией. Вряд ли вы сможете писать хорошие скрипты, не имея даже самых базовых знаний в области программирования.
  2. Если вы не понимаете или не видите смысла в использовании циклов (while, for, until), условных операторов и операторов выбора (if, switch, select) - вам будет очень трудно, независимо от того, каким средством автоматизации вы пользуетесь.
  3. Если вам непонятна разница между объектами и классами, функциями и методами, или вы предпочитаете использовать везде глобальные переменные - вам будет очень трудно работать с объектно-ориентированными языками программирования. Вы будете писать работоспособный, но нечитабельный программный код.
  4. Если все, сказанное выше, кажется вам насмешкой над вами - подумайте дважды, возможно, вам не следует заниматься автоматизацией, но совершенно по другой причине. Например, нам известны как минимум два человека, которые утверждали следующее: "Я программист, а не тестер. Мне противно заниматься чем-либо, связанным с тестированием, когда я могу программировать!". Лучше не начинать вообще, чем начать и бросить на полпути
Для того, чтобы оставлять комментарии, вы должны войти под своим логином.