Приобретение первого опыта автоматизации
#1
Отправлено 13 сентября 2013 - 09:22
Занимаюсь тестированием уже более 5 лет, но к моему большому сожалению про автоматизацию тестирования только слышала и читала, самой попробовать еще не доводилось.
Сразу скажу, что сейчас в моей нынешней работе автоматизация не требуется (возможно только пока что), но мне бы хотелось для саморазвития "пощупать" эту тему, попробовать автоматизировать какие-нибудь тесты, но я не знаю с чего начать, глаза разбегаются от обилия информации.
Поделитесь опытом, кто как начинал заниматься автоматизацией тестирования? Было ли это по вашей инициативе или по инициативе начальства или еще как-нибудь? В общем, интересно все! :-)
Не следует заставлять тестировщиков тестировать быстрее. Что может быть хуже испуганных, усталых, цинично настроенных тестировщиков?
-----------------
Хорошо, когда человек заводит баги. Плохо, когда баги заводят человека (с)
-----------------
Проект для начинающих тестировщиков Хомячки
#2
Отправлено 13 сентября 2013 - 13:59
Можно начать с того, что найти в своей ежедневной работе рутинные процессы, которые постоянно повторяются и где меняются только входные параметры. Выбрать что-нибудь простенькое, даже может быть незначительное.
Если совсем непонятно, с чего начинать (какие технологии, инструменты использовать), то сначала поскать в инете (спросить на этом форуме, например, но уже про конкретную проблему) или попросить совета у разработчиков (если в пределах досягаемости).
#3
Отправлено 16 сентября 2013 - 06:22
Не следует заставлять тестировщиков тестировать быстрее. Что может быть хуже испуганных, усталых, цинично настроенных тестировщиков?
-----------------
Хорошо, когда человек заводит баги. Плохо, когда баги заводят человека (с)
-----------------
Проект для начинающих тестировщиков Хомячки
#4
Отправлено 16 сентября 2013 - 13:13
Возможно, нужные ответы затерялись в глубинах форума. И скорее всего, многое из этого Вы уже знаете.
1. Когда в проекте появляется автоматизация.
По определению, автоматизация нужна: а) для избавления человека от рутинной и затяжной работы, б) для того, что человек вручную сделать не может.
По пункту А. Мы в своей компании автоматизируем тесты, которые повторяются из цикла в цикл и не требуют какого-то творческого подхода, поиска багов и узких мест. Просто верификация основного функционала. При постоянном выполнении этих тестов вручную человек начинает чувствовать себя мартышкой. Да и выигрыш по времени значительный, а люди освобождаются для более творческой работы.
Почему, например, автоматизации так много у производителей веб-приложений. Им приходится тестировать одно и то же в разных браузерах и разных средах, и делать это вручную совсем неприятно.
Автоматизируем в основном "проходящие" тесты. Не надо с помощью автоматизации искать баги. Пусть они будут находиться, но это не цель автоматизации, иначе она будет неэффективна.
По пункту Б. Здесь могут быть разные варианты "работы для робота": нагрузочное тестирование (имитация большого чиста тестировщиков), тестирование производительности (снятие бенчмарков, не будешь же сидеть с секундомером), тестирование опций (Вот попробуйте поперебирать несколько тысяч опций вручную. А алгоритм может, только дайте ему список.) и т.п.
2. Что попробовать.
Начать, конечно же, нужно с простых функциональных тестов.
Не знаю, какой у вас профиль - десктоп или веб.
Сейчас наиболее популярный инструмент автоматизации - Selenium. Он для веба, и есть в 2-ух вариантах: IDE - для записи и воспроизведения тестов, WebDriver - для использования с ЯП. По ним легко найти множество тренингов для начинающих, например: Selenium IDE, WebDriver.
Хороший, но не бесплатный тренинг по IDE и WebDriver есть у плюралсайта.
Можно взять произвольный сайт, составить несколько тестов и их автоматизировать, чтобы почувствовать "как это делается".
Для десктопа большинство хороших инструментов - платные. Из бесплатных можно попробовать Sikuli, AutoIt. Аналогично, тренинги и туториалы в сети ищутся легко.
Из платных можно взглянуть на демо-версии SmartBear TestComplete или Visual Studio Premium/Ultimate. Ну или другое - по вкусу.
Ну и конечно, для кругозора нужно знать, что делают разные инструменты:
- фреймворки для юнит-тестирования (JUnit, TestNG, NUnit, Gallio/mbUnit, MSTest),
- инструменты для тестирования нагрузки и производительности (JMeter, LoadRunner, LoadComplete),
- для тестирования сервисов (SoapUI),
- BDD (Cucumber, Thycidides, SpecFlow),
- автоматическое тестирование с помощью моделей и роботов (но это больше в теории, на практике это не всегда реально применить, и уж тем более не с этого начинают) (SpecExplorer, NModel, JavaTESK, свои разработки Яндекса)
3. Чем грозит внедрение автоматизации.
Да, знать, что такое автоматизация и где ее применить - необходимо. Но браться за нее нужно с расчетом. Нужно иметь план, и не на 10-15 тестов, а достаточно большой. Нужно выделять людей конкретно на автоматизацию. Нужно выделять время, при этом не ждать мгновенной отдачи и не ждать, что автотесты будут находить море багов. Иначе может получиться пустая трата ресурсов без отдачи.
По этому поводу не перестану рекомендовать выступление Игоря Хрола, пока кто-то не расскажет лучше.
Теперь немного пессимизма по поводу навыков автоматизации. Чем занимается тестировщик-автоматизатор? Огромное время уходит на отладку сценариев и на поиск решений, как сделать ту или иную хитрую проверку. Тратится время на анализ фейлов. Тратится время на настройку большого числа тестовых машин и окружений. Да, работа интересная, увлекательная и приносит много новых знаний. Но этот человек очень мало занимается реальным тестированием и поиском багов. Он практически не развивается, как тестировщик. Он также не развивается как программист, поскольку архитектура тестовых наборов очень специфическая и значительно проще реальных программных систем. Кем же он становится? "Специалистом по автоматизации". А это довольно узкая область. Так что надо дважды подумать, прежде чем заниматься этим всерьез.
#5
Отправлено 16 сентября 2013 - 17:05
Я для Вас не самый подходящий пример, т.к. я - из разработчиков (средств тестрирования).Cler, если не секрет, расскажите, пожалуйста, как Вы начали автоматизировать процессы тестирования?
Как было уже сказано выше, типичными кандидатами для автоматизации являются тесты, которые многократно повторяются (хотя и тут бывают исключения - иногда автоматизация не оправдывает себя даже для рутинных операций, если, например, это тестирование временной "фичи" и в обозримом будущем исчезнет).
Учиться лучше начинать на практических примерах, поэтому посмотрите критическим взглядом на выполняемые Вами тесты и напишите, например, нам сюда пару конкретных примеров. А тут уже кто-нибудь подскажет, в какую сторону смотреть. А то общих слов еще много можно написать, а Вам надо конкретные шаги предпринимать.
Даже непонятно, о какой области речь идет (десктоп, веб, мобильные приложения ...)
#6
Отправлено 16 сентября 2013 - 17:31
Microsoft не имеет никакого отношения к Selenium.А от Selenium'а вроде бы Майкрософт собирается отказываться, пусть меня поправят, может быть тогда не стоит начинать с изучения уходящей технологии?
Selenium - наиболее динамично развивающееся средство для автоматзированного тестирования веб-приложений через GUI с большиством сообществом.
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#7
Отправлено 17 сентября 2013 - 06:48
Я буквально месяц назад начала работать в новой (для себя) компании и только начинаю тут осваиваться, но мысли "пощупать" автоматизацию и, возможно, применить ее в работе есть уже давно.
Сейчас занимаюсь в основном тестированием интеграции банковских систем разных контор - их взаимодействие посредством пересылки SOAP пакетов по протоколу HTTPS. Плюс тестирование десктопных приложений, посредством которых и осуществляется данная пересылка.
Предполагаю, что можно автоматизировать собстно пересылку пакетов для проверки с бОльшим разнообразием входных данных.
Селениум ИДЕ просто ради интереса себе поставила буквально несколько дней назад, попробовала посоздавать тесты, нашла некоторые мануалы, интересно конечно, но мне практически не доводилось тестировать web-интерфейс (и не предвидется), поэтому данный инструмент для меня пока не очень полезен.
Сейчас подумываю записаться на курс "Программирование для тестировщиков", думаю, что будет полезно.
Не следует заставлять тестировщиков тестировать быстрее. Что может быть хуже испуганных, усталых, цинично настроенных тестировщиков?
-----------------
Хорошо, когда человек заводит баги. Плохо, когда баги заводят человека (с)
-----------------
Проект для начинающих тестировщиков Хомячки
#8
Отправлено 17 сентября 2013 - 08:19
#9
Отправлено 18 сентября 2013 - 11:48
Например, через тот же Assertion и Xpath
http://www.soapui.or...assertions.html
Каких-то особых знаний не требуется, но если только знание Xpath
#10
Отправлено 18 сентября 2013 - 12:02
Правда Sikuli IDE довольно сильно тупит, надо бы наверное поставить себе что нибудь вроде Eclipse и писать на java сикулевские тесты...нашла по этому поводу видюшку
Не следует заставлять тестировщиков тестировать быстрее. Что может быть хуже испуганных, усталых, цинично настроенных тестировщиков?
-----------------
Хорошо, когда человек заводит баги. Плохо, когда баги заводят человека (с)
-----------------
Проект для начинающих тестировщиков Хомячки
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных