С чего начать изучение средства автоматизации
@ Ср, 26 сентября 2007, 14:25Очень часто на форумах звучит один и тот же вопрос: с чего начинать изучение продукта автоматизации? Здесь мы попытаемся дать ответ на этот вопрос, не привязываясь к какому-либо конкретному продукту.
Итак, с чего же начать изучение средства автоматизации, с которым предстоит работать?
Сначала необходимо понять несколько простых вещей:
- Средств записи недостаточно. Сегодня практически все программы, предназначенные для автоматизации тестирования, позволяются записать действия пользователя, а затем воспроизвести их. Некоторые полагают, что это решит все проблемы: записал - и готово. На самом деле это далеко не так. Скрипты, созданные таким образом, обычно работают недолго и их очень трудно модифицировать и поддерживать. Однако средства записи обычно полезны на первых порах, в процессе ознакомления с продуктом, для того, чтобы понять, как именно происходит взаимодействие среды автоматизации и тестируемого приложения.
- Не каждый сможет заниматься автоматизацией тестирования. Многие думают, что для автоматизации тестирования подойдет кто угодно. На самом деле, найти хорошего автоматизатора зачастую труднее, чем найти программиста или тестировщика. Автоматизатор должен совмещать в себе знания и умения как тестировщика, так и программиста, что удается далеко не всем. И дело тут не в знаниях и не в способностях. Эта проблема будет подробно рассмотрена в следующем посте на этом блоге.
Теперь перейдем непосредственно к изучению продукта:
- Чтение документации. Естественно, самым главным источником знаний является документация. К сожалению, на данный момент практически нет хороших учебников по продуктам автоматизации. Поэтому обычно приходится ограничиваться встроенной справкой и учебникам типа "Getting Started".
- Язык программирования. Необходимо знание языка программирования, который используется в выбранном средстве автоматизации. В противном случае невозможно создать более-менее сложные скрипты, которые будет легко поддерживать в будущем.
- Чтение форумов. Подпишитесь на различные форумы, где обсуждают вопросы именно по выбранному вами средству автоматизации. Читайте вопросы, которые там задают, и ответы на них. В случае необходимости задавайте вопросы сами. Через некоторое время вы увидите, что на некоторые вопросы можете сами дать ответ. Как только вы видите подобный вопрос - отвечайте на него. Старайтесь объяснить свою мысль. Необязательно с первого же раза вы сможете дать квалифицированный ответ, но это будет уже шаг вперед. Помните, что обучение других - это лучший способ выучить что-то самому.
- Пилотный проект. Прежде, чем начать написание рабочих скриптов, сделайте пробный (так называемый "пилотный") проект. Испытайте свои силы. Попробуйте средство автоматизации, с которым потом будете работать. Думайте о том, что вряд ли что-то из пробного проекта будет перенесено в рабочий проект. Отнеситесь к этому проекту, как к черновику, который потом надо будет переписать начисто. Скорее всего через месяц-два, когда вы решите, что достаточно неплохо изучили продукт и можно начинать автоматизацию, мало что из написанного до этого вам пригодится в дальнейшем.
- Проверка кода. Хорошо, если есть кто-то, кто может помочь советом. Кто-то, кто уже разобрался с этим продуктом и готов ответить на вопросы. Однако если такого человека нет, то было бы неплохо, чтобы написанный вами код проверял кто-нибудь из опытных программистов. Помните, что вполне возможно, что ваш код когда-нибудь придется разбирать другому человеку, который будет работать либо с вами, либо вместо вас. Опытному программисту достаточно будет бегло просмотреть ваш код, чтобы сделать выводы и дать вам несколько советов.
- Изучение примеров, поставляемых с продуктом. Обычно в состав продукта автоматизации входят примеры, которые показывают, как работать с простыми приложениями (Блокнот, Калькулятор, и т.п.), а также примеры тестируемых приложений. Просматривайте их по мере изучения языка программирования и среды разработки. Обычно эти примеры снабжены комментариями, которые помогают разобраться в том, как работает та или иная функциональность.
И, наконец, несколько важных пунктов, которые необходимо понять прежде, чем приступать к серьезному изучению выбранного вами средства автоматизации:
- Если вы не понимаете разницу между переменными и константами, функциями и процедурами, целыми числами и числами с плавающей запятой - трижды подумайте, прежде чем связываться с автоматизацией. Вряд ли вы сможете писать хорошие скрипты, не имея даже самых базовых знаний в области программирования.
- Если вы не понимаете или не видите смысла в использовании циклов (while, for, until), условных операторов и операторов выбора (if, switch, select) - вам будет очень трудно, независимо от того, каким средством автоматизации вы пользуетесь.
- Если вам непонятна разница между объектами и классами, функциями и методами, или вы предпочитаете использовать везде глобальные переменные - вам будет очень трудно работать с объектно-ориентированными языками программирования. Вы будете писать работоспособный, но нечитабельный программный код.
- Если все, сказанное выше, кажется вам насмешкой над вами - подумайте дважды, возможно, вам не следует заниматься автоматизацией, но совершенно по другой причине. Например, нам известны как минимум два человека, которые утверждали следующее: "Я программист, а не тестер. Мне противно заниматься чем-либо, связанным с тестированием, когда я могу программировать!". Лучше не начинать вообще, чем начать и бросить на полпути
Для того, чтобы оставлять комментарии, вы должны войти под своим логином.
