Перейти к содержимому

Фотография

Выбор инструмента автоматизации начинающему


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 22

#1 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 25 апреля 2015 - 17:21

Всем добрый вечер!

 

Недавно в компании был открыт новый проект по разработке некого веб-приложения ("суперумного" интернет-магазина). Первые два этапа планируется выполнить в течение двух лет. Пока делается прототип, выполнено буквально две его сырые странички с фиксированными элементами управления на них. Этап архитектуры еще не завершен.

Соответственно меня поставили тестировщиком на этот проект.

На днях РП озадачил меня тем, что необходимо начать автоматизацию, т.к. проект длительный.

Я просто в шоке, т.к. прежде занималась только ручным тестированием (но очень даже неплохо, предыдущие проекты отличались минимальным количеством багов, найденных заказчиком). А так я даже языков программирования не знаю. За исключением Cи, с которых работала 4 года назад и ничего уже не помню.

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

Как вы считаете, реально ли ручному тестировщику стать автоматизатором и сколько на это времени необходимо? 

На какие инструменты стоит обратить внимание начинающему?

Стоит ли браться за такую задачу ручному тестировщику? 

 

Также а стоит ли начинать автоматизацию на столь ранних этапах? у меня вот в голове живет стереотип, что автоматизированные тесты нужны прежде всего для регрессии и к ним приходят, когда проект уже достаточно зрел.

 

Короче, дела мои плохи.  У нас в конторе всего один практикующийся автоматизатор и вряд ли его захотят подключить к моему обучению или к проекту( 


  • 0

#2 neman

neman

    Активный участник

  • Members
  • PipPip
  • 142 сообщений
  • ФИО:Антон


Отправлено 25 апреля 2015 - 19:15

Боюсь, вопросы скорее психологического, а не технического плана, так что отвечать на них не возьмусь :). 
С технической стороны первоначально надо понять следующие вещи:

  • Чего хочет заказчик (ПМ, руководитель проектов и т.п.)? Какой конкретно результат будет считаться приемлимым?
  • Из предыдущего вытекает следующий вопрос - а на основании чего было принято такое решение? Чего не устраивает сейчас и чего хочется в будущем? Является ли автоматизация оптимальным решением этих проблем? Она должна быть частью общей стратегии тестирования, сейчас очевидно это не так. 
  • Каковы риски? Если текущая загрузка 100%, автоматизировать можно будет лишь за счет времени на ручное тестирование, окупится ли это? С учетом риска провала, разумеется.
  • Каково качество процесса разработки? Является ли тестирование узким местом? Сколько не тестируй Жигули, они не станут Роллс-Ройсом, понимание этого тоже должно быть.

И самый главный вопрос - а тебе-то это надо? Потому что вероятность фейла в таких условиях больше 95%. Это не очень страшно, в конце концов, все запарывают свои первые проекты, вопрос в эпичности фейла. И что ты из этого выносишь.


  • 2

#3 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 25 апреля 2015 - 19:55

Отвечу:

- у заказчика нет этого требования. Это желание РП. Пока я не понимаю, зачем нужно автомат. тестирование, кроме того,

      -что у меня сейчас есть свободное время (но его количество уменьшается по мере разработки функциональностей и, скорее всего, через месяц его вообще не будет);

      -в приложении планируется модуль тестирования и это может как-то пригодиться.

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

По тому, как поставил вопрос РП, от автомат. тестирования не отвертеться.

- решение принято, как мне сказал РП, исходя из того, что проект длительный (минимум два года) и у меня сейчас есть время. Я, например, сказала, что не считаю сейчас (когда  и приложения толком не существует) подходящим моментом автоматизировать, но у РП свое мнение. На мой взгляд, автоматизацию стоило сделать, когда появятся стабильные части системы, взять, например, опытного автоматизатора написать тесты для регрессии на пару месяцев и объяснить, как их поддерживать.

- спасибо про риски. Нужно подумать, как подойти к РП с этой стороны).

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

- Проект только начинается. Вышла только первая тестовая версия с двумя страницами. Найдены первые 40 багов, в основном касающихся дизайна. Пока сложно судить, узкое ли место тестирование.

 

И вот я думаю, надо ли мне это. Фейловых проектов, к счастью, не было и не хочется проходить через это.


  • 0

#4 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 26 апреля 2015 - 13:46

Внезапно, сегодня вы пропустили weekend-testing на тему легкая автоматизация.

Думаю можно у ведущего (http://33testers.blogspot.ie/) попросить материалы и лог чата. Пробежались по selenium ide и sikuli.


  • 1

#5 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 26 апреля 2015 - 14:01

Внезапно, сегодня вы пропустили weekend-testing на тему легкая автоматизация.

Думаю можно у ведущего (http://33testers.blogspot.ie/) попросить материалы и лог чата. Пробежались по selenium ide и sikuli.

Спасибо! Были бы очень полезно!  Написала организатору, может, и скинет материалы.


  • 0

#6 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 26 апреля 2015 - 14:30

1) А попробуйте-ка составить план.

Во-первых, нужно время на обучение. Причем, судя по написанному, надо не только знакимиться с инструментами тестирования, но и подтянуть теорию и практику программирования. Как минимум, одну серьезную книжку по ЯП надо прочитать и поупражняться. Это будет явно не С, а один из распространенных сегодня в автоматизации языков (Java, JS, Python, C#, Ruby, PHP, Groovy, ...). Можно за основу взять то, на чем пишут девелоперы, чтобы они могли проконсультировать.

Во-вторых, изучение инструмента. Конечно, можно начать с Selenium IDE, тогда и ЯП особо не нужен, но если проект ожидается сложный, IDE уже будет не хватать.

Срок обучения нельзя назвать четко, у всех разная скорость усвоения информации. Но рассчитывайте, что на вхождение в тему и создание первого набора тестов может уйти месяца 2-3.

 

Дальше - самое интересное. Сейчас свободное время есть, а будет ли оно потом? Когда первые компоненты начнут уходить в тестирование и насколько срочно надо будет давать результат? Сколько в среднем времени можно будет тратить на ручное тестирование, на тест-дизайн, а потом еще на написание автотестов и их поддержку?

По опыту, если на автоматизацию выделяется меньше 50% времени, она либо не дает никакого результата, либо автотестами покрываются отдельные избранные кусочки из серии "трудно/долго/нудно делать вручную". Ну, или можно сделать сокращенную регрессию, но это уже на более поздних этапах.

 

Можно прямо расписать план по времени и прикинуть реалистичность.

 

2) Насчет зрелости проекта и регрессии. Бывает так, что создаются компоненты, которые потом мало изменяются. В этом случае чем раньше начать автоматизацию регрессии, тем больше эффекта можно от этого получить.

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

 

3) Теперь о неизбежном. Раз РП настаивает, начать заниматься имеет смысл, даже если архитектура проекта пока не устоялась. Надо сделать небольшой "пилотный" проект, при этом изменчивость проекта пока не играет никакой роли. Важно выработать подход и получить опыт. Тогда и РП увидит, на что он сможет рассчитывать, и Вы сможете точнее оценивать нужные сроки.


  • 1

#7 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 27 апреля 2015 - 06:32

1) А попробуйте-ка составить план.

Во-первых, нужно время на обучение. Причем, судя по написанному, надо не только знакимиться с инструментами тестирования, но и подтянуть теорию и практику программирования. Как минимум, одну серьезную книжку по ЯП надо прочитать и поупражняться. Это будет явно не С, а один из распространенных сегодня в автоматизации языков (Java, JS, Python, C#, Ruby, PHP, Groovy, ...). Можно за основу взять то, на чем пишут девелоперы, чтобы они могли проконсультировать.

Во-вторых, изучение инструмента. Конечно, можно начать с Selenium IDE, тогда и ЯП особо не нужен, но если проект ожидается сложный, IDE уже будет не хватать.

Срок обучения нельзя назвать четко, у всех разная скорость усвоения информации. Но рассчитывайте, что на вхождение в тему и создание первого набора тестов может уйти месяца 2-3.

 

Дальше - самое интересное. Сейчас свободное время есть, а будет ли оно потом? Когда первые компоненты начнут уходить в тестирование и насколько срочно надо будет давать результат? Сколько в среднем времени можно будет тратить на ручное тестирование, на тест-дизайн, а потом еще на написание автотестов и их поддержку?

По опыту, если на автоматизацию выделяется меньше 50% времени, она либо не дает никакого результата, либо автотестами покрываются отдельные избранные кусочки из серии "трудно/долго/нудно делать вручную". Ну, или можно сделать сокращенную регрессию, но это уже на более поздних этапах.

 

Можно прямо расписать план по времени и прикинуть реалистичность.

 

2) Насчет зрелости проекта и регрессии. Бывает так, что создаются компоненты, которые потом мало изменяются. В этом случае чем раньше начать автоматизацию регрессии, тем больше эффекта можно от этого получить.

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

 

3) Теперь о неизбежном. Раз РП настаивает, начать заниматься имеет смысл, даже если архитектура проекта пока не устоялась. Надо сделать небольшой "пилотный" проект, при этом изменчивость проекта пока не играет никакой роли. Важно выработать подход и получить опыт. Тогда и РП увидит, на что он сможет рассчитывать, и Вы сможете точнее оценивать нужные сроки.

Спасибо большое! Постараюсь следовать Вашим советам.

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

Насчет времени в будущем - этот период с простоем уже заканчивается. И боюсь, что зароюсь в необходимости проводить и ручное тестирование, и разбираться с авто. Плюс еще прилично времени уходит на тест-дизайн (ведение Методики Тестирования), ее тоже нужно поддерживать и на ревью проектной документации (в ней часто бывают ошибки, которые лучше выявить на более ранних этапах).


  • 0

#8 Сергей

Сергей

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 27 апреля 2015 - 07:27

Вам больше по душе сидеть на П...??? Не переживайте, у вас хороший РП.

1. понимает, что автоматизация делается не за 1 день

2. дает вам реальный шанс вырасти профессионально

3. дает вам реальный шанс вырасти материально

4. дает вам реальный шанс продвинутся по карьерной лестнице

 

Приступайте к автоматизации или упустите свой шанс.

1. Поговорите с вашим действующим автоматизатором, что он скажет. Не стесняйтесь задавать вопросов.

2. Возьмите Java + Selenium 2, если он ничего не посоветует. Ничего супресложного, главное макаронный код не лепить, чтобы потом все не переделывать.

3. Выделяйте 2 часа времени в день на автоматизацию, тем более это у вас офиц. направление

4. Не будете успевать в ручном, не переживайте. Возьмете ещё одного тестировщика.

 

Автоматизация для тестировщика всегда хорошо.

 

Далее, дела Ваши действительный плохи, если будете канючить, говорить, что ничего не сможете сделать. Лучше уж уволиться, т.к. в дальнейшем вас всерьез с таким замашками никто воспринимать и уважать не будет.


  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#9 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 27 апреля 2015 - 09:08

Вам больше по душе сидеть на П...??? Не переживайте, у вас хороший РП.

1. понимает, что автоматизация делается не за 1 день

2. дает вам реальный шанс вырасти профессионально

3. дает вам реальный шанс вырасти материально

4. дает вам реальный шанс продвинутся по карьерной лестнице

 

Приступайте к автоматизации или упустите свой шанс.

1. Поговорите с вашим действующим автоматизатором, что он скажет. Не стесняйтесь задавать вопросов.

2. Возьмите Java + Selenium 2, если он ничего не посоветует. Ничего супресложного, главное макаронный код не лепить, чтобы потом все не переделывать.

3. Выделяйте 2 часа времени в день на автоматизацию, тем более это у вас офиц. направление

4. Не будете успевать в ручном, не переживайте. Возьмете ещё одного тестировщика.

 

Автоматизация для тестировщика всегда хорошо.

 

Далее, дела Ваши действительный плохи, если будете канючить, говорить, что ничего не сможете сделать. Лучше уж уволиться, т.к. в дальнейшем вас всерьез с таким замашками никто воспринимать и уважать не будет.

Мне больше интересно идти в направлении тест-аналитика и тест-менеджера, особенно тест-аналитика. И до сих я развивалась в этих направлениях. Я не могу сказать, что мне интересна автоматизация. Но раз уж надо, нужно разбираться.


  • 0

#10 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 27 апреля 2015 - 09:40

А подскажите еще, пожалуйста, в wiki написано по Selenuim-у по поддерживаемых браузерам.

Вычитала:

OperaDriver requires Opera 12.x and older versions

Older - имеются в виду последние версии? 


  • 0

#11 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 27 апреля 2015 - 12:47

А подскажите еще, пожалуйста, в wiki написано по Selenuim-у по поддерживаемых браузерам.

Вычитала:

OperaDriver requires Opera 12.x and older versions

Older - имеются в виду последние версии? 

 

Да

Но не заморачивайтесь пока на кроссбраузерном автотестинге. Это далеко не всегда нужно


  • 1

#12 Rebz

Rebz

    Опытный участник

  • Members
  • PipPipPipPip
  • 471 сообщений


Отправлено 27 апреля 2015 - 14:26

Я бы делать автоматизацию на сыром проекте не рискнул - дорогое занятие.

Как решили что нужна автоматизация? Кто-нибудь посчитывал трудозатраты на ней? А хорошо бы.


  • 0

#13 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 27 апреля 2015 - 18:26

 

А подскажите еще, пожалуйста, в wiki написано по Selenuim-у по поддерживаемых браузерам.

Вычитала:

OperaDriver requires Opera 12.x and older versions

Older - имеются в виду последние версии? 

 

Да

Но не заморачивайтесь пока на кроссбраузерном автотестинге. Это далеко не всегда нужно

 

 

Спасибо!


  • 0

#14 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 27 апреля 2015 - 18:29

Я бы делать автоматизацию на сыром проекте не рискнул - дорогое занятие.

Как решили что нужна автоматизация? Кто-нибудь посчитывал трудозатраты на ней? А хорошо бы.

 

Решили исходя из того, что у меня сейчас есть свободное время (в течение некоторого срока) + проект будет длиться минимум 2 года, т.е. большое количество функциональностей будет на выходе.

 

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


  • 0

#15 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 28 апреля 2015 - 13:14

Решила selenium пока попробать. И вот пару часов уже потратила на следующее.

Есть код элемента <span class="ui-button-text ui-c">Найти</span>

 

Пробую 

1 способ WebElement element = driver.findElement(By.linkText("Найти"));

2 способ WebElement element = driver.findElement(By.className("ui-button-text ui-c"));

 

И каждый раз ошибка наподобие

org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"link text","selector":"Найти"}.

 

Что-то я туплю. А как правильно написать?


  • 0

#16 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 28 апреля 2015 - 13:21

Пробую 
1 способ WebElement element = driver.findElement(By.linkText("Найти"));
2 способ WebElement element = driver.findElement(By.className("ui-button-text ui-c"));
 
И каждый раз ошибка наподобие
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"link text","selector":"Найти"}.
 
Что-то я туплю. А как правильно написать?

А элемент успевает загрузиться? Поставили ли вы ожидания?
  • 0

#17 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 28 апреля 2015 - 13:24

 

Пробую 
1 способ WebElement element = driver.findElement(By.linkText("Найти"));
2 способ WebElement element = driver.findElement(By.className("ui-button-text ui-c"));
 
И каждый раз ошибка наподобие
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"link text","selector":"Найти"}.
 
Что-то я туплю. А как правильно написать?

А элемент успевает загрузиться? Поставили ли вы ожидания?

 

перед этим ввод значения в поле с этой кнопкой идет (успешно). Должно успевать по логике.


  • 0

#18 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 28 апреля 2015 - 14:07

 

 

Пробую 
1 способ WebElement element = driver.findElement(By.linkText("Найти"));
2 способ WebElement element = driver.findElement(By.className("ui-button-text ui-c"));
 
И каждый раз ошибка наподобие
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"link text","selector":"Найти"}.
 
Что-то я туплю. А как правильно написать?

А элемент успевает загрузиться? Поставили ли вы ожидания?

 

перед этим ввод значения в поле с этой кнопкой идет (успешно). Должно успевать по логике.

 

А ссылка "Найти" в исходном коде также написана с заглавной буквы? Регистр имеет значение.


  • 0

#19 irko

irko

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:S Irina

Отправлено 28 апреля 2015 - 14:20

 

 

 

Пробую 
1 способ WebElement element = driver.findElement(By.linkText("Найти"));
2 способ WebElement element = driver.findElement(By.className("ui-button-text ui-c"));
 
И каждый раз ошибка наподобие
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"link text","selector":"Найти"}.
 
Что-то я туплю. А как правильно написать?

А элемент успевает загрузиться? Поставили ли вы ожидания?

 

перед этим ввод значения в поле с этой кнопкой идет (успешно). Должно успевать по логике.

 

А ссылка "Найти" в исходном коде также написана с заглавной буквы? Регистр имеет значение.

 

 Ага, c большой буквы. Почему-то по всем элементам не получается пользоваться findElement(By.linkText(); и findElement(By.className(). linkText, может, из-за кодировки? и с классом что не так? 


  • 0

#20 dwarwood

dwarwood

    Новый участник

  • Members
  • Pip
  • 66 сообщений
  • ФИО:dwarwood

Отправлено 22 мая 2015 - 08:51

irko,
 
 как успехи?
 
 более всего интересует, насколько получится у вас совмещать в одном лице автоматизатора и ручного тестировщика.

  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных