Переход к автоматизированнуму тестированию
#1
Отправлено 21 июня 2007 - 07:43
Проблема в следующем: у нас "устоявшийся" процесс тестирования. Только ручной тестинг для функционального тестирования. Пока что никаких жалоб на качество сдаваемого продукта клинету не было, как и на сроки. Компания решила перейти на автоматизированное тестирование. Необходимо предьявить список benefits -ов клиету, чем улудшит процесс тестирования внедрение автоматизации. Например если надо прибавить ресурси то это будет компенсироваться сроками....Вообщем как убедить клиента на автоматизированное тестирование... предполагается внедрение WatiN-а, как тула для функционального тестирования...
Люди имеющие опыт, помогитеееееееееееееееееее....какие плюсы и какие минусы...какой опыт?
Заранее благодарю.
#2
Отправлено 21 июня 2007 - 10:01
WatiN, это всего лишь навсего библиотека, которую Вам придется прежде всего изучить, и только лишь потом использовать. Что бы сделать на базе WatiN'a хороший фреймворк для проведения автоматизированного тестирования, вы потратите уйму человеческих и временных ресурсов.
Я предлагаю следующий вариант автоматизации. Попробуйте тест кейсы разрабатывать на более атомарном уровне, что бы можно было их использовать в качестве автоматизированных тест кейсов. Разработайте функции, которым будут соответствовать эти предложения, описывающие действия в системе и ожидаемые результаты. И конечная точка, разработка фреймворка, который будет выполнять эти тест кейсы и формировать отчеты. При этом, сначала вы затратите достаточно времени на эту разработку, тем самым компенсируете время в будущем. Обычные QA смогут вести разработку кейсов.
Убьете двух зайцев.
#3
Отправлено 21 июня 2007 - 11:09
Андрей Похилько
#4
Отправлено 21 июня 2007 - 11:21
И еще предположим проблема с тулом решена, все-таки какие плюсы можно предъявить клиенту, что бы заинтересовать его в автоматозации?
Типа обеспечение регресивного теста (хотя это и сейчас обеспечивается за счет "добропорядочности" тестировщика)
Имидж компании
.....
Что нибудь весомое....!!!!!!!!!
#5
Отправлено 21 июня 2007 - 12:19
Так же русскоязычный рессурс(может чем пригодится):http://edu.setlab.net/?view=IBM_Rational_Testing_RUPBenefits
#7
Отправлено 25 июня 2007 - 06:56
Простите за слишком глобальные вопросы, но меня интересует опыт.
Спасибо.
#8
Отправлено 25 июня 2007 - 08:15
Прежде чем убеждать клиентов, подумайте и убедите себя. сейчас вам надо 200 рублей на ручной тест низкой сложности, автоматизировать его вам будет стоить 2000 рублей. плюс на переделку и отдалку понадобится еще 2000 рублей, так как первые тесты никогда не бывают удачными.
итого, 4000 рублей на автоматизацию одного простого теста. т.е. 20 тестов ручных за это время можно было бы прогнать. автоматизация одного теста стоит пропущенных 19 тестов и багов вместе с ними?
посчитайте свои потери, перед тем как начнете все автоматизировать.
автоматизировать надо так, чтобы тесты находили баги. на дизайн такого теста и его автоматизацию требуется больше ресурсов, чем 1:10.
действительно ли это выгодно вам и вашим клиентам?
Сроки? нанимать людей придется, чтоб уложиться в те же сроки. и деньги нужны. нанимать надо будет не junior tester, а профессионалов, хорошо владеющих скриптовыми языками, а также умелых архитекторов.
Поддержка автоматизированных тестов - очень дорогое удовольствие. к сожалению, часто никому не нужное. потому как деньги и время потрачего впустую. плохо написанный документ и непонятно как созданный тест приводят к тому, что надо переписывать весь тест, если автора уже не найти в компании.
Простите, если много речи идет о деньгах. но это один из самых важных моментов. у нас решение об автоматизации приинималось на уровне акционеров.
удачи вам в любом случае!
#9
Отправлено 25 июня 2007 - 11:44
Второе, очень важное, это сам подход в автоматизации. Можно, как этим занимался я вначале, скриптовать с помощью метода записи и воспроизведения, что показало ОЧЕНЬ плохой опыт. Потом автоматизация тест кейсов шла по принципу: нам дают тест кейс, мы должны выдать автоматизированный скрипт. Когда приложение находится в постоянном изменении, и текстовые тест кейсы требуют постоянной актуализации, автоматизированные скрипты приходилось переписывать. Это было похоже, что мы не проводим регрессионку, а просто догоняем текстовые тест кейсы. Тестирования как такового не происходило. Сейчас для себя нахожу оптимальным вариантом следующий подход, когда QA инженеры составляют тест кейсы в соответствии с предложениями, и эти кейсы используются, как входными данными для автоматизированного скрипта, который их интерпретирует и выполняет. Логика изменилась, тест кейс актуализировали, как это и должно быть, и его можно сразу прогонять в автоматическом режиме.
Почему заказчик так сильно заинтересован в автоматизированном тестировании? Главное, это что бы продукт был качественный и не содержал ошибок.
#10
Отправлено 25 июня 2007 - 12:40
#11
Отправлено 25 июня 2007 - 12:50
Ира, да что вы такое говорите? вы уверены, что выжимаете из ручного тестирования все, что можно? может, мы понимаем разные вещи под ручным тестирование??
Ваша фраза напомнила фразу о том, что многие считают black box testing бесполезным занятием. Глупость. и только.
Все выше сказанное - моя точка зрения.
#12
Отправлено 25 июня 2007 - 13:21
Мы к этому делу подошли аккуратно (в хорошем смысле), все просчитали, спроектировали архитектуру и реализовали (дешевле и лучше всего было написать именно свое средство в силу специфики).
В итоге сейчас каждую ночь выполняется сборка и проходят все функциональные регрессионные тесты.
Перед началом работ над разработкой и внедрением автоматизации достаточно много полезной информации взяли вот из этой книги:
Автоматизированное тестирование программного обеспечения
Automated Software Testing
Издательство: Лори, 2003 г.
Мягкая обложка, 592 стр.
ISBN 5-85582-186-2
Тираж: 3200 экз.
Формат: 70x100/16
Успехов ;)
руководитель отдела тестирования,
Объединенная компания «Афиши» и «Рамблера»
http://www.rambler.ru/jobs/
#13
Отправлено 25 июня 2007 - 14:07
Спасибо.
#14
Отправлено 25 июня 2007 - 15:23
Нет black box testing не бесполезным занятие, а наоборот необходимое ...а не благодарное дело это потому как нечего показать кроме как результата (нормально работающего продукта), а главное что меня беспокоит что все-таки чтоб команда ..как бы правильнее высказаться .. прогрессировала хотелось бы внедрить хотя бы "чуточку" автоматизации..не не во вред срокам, дополнительным деньгам, и ресурсам...
Спасибо.
Я правильно поняла, что вы хотите автоматизировать тесты, чтобы внести какое-то разнообразие в вашу работу? вы можете, конечно, это сделать. но не уверена, что не во вред проектным срокам. для опыта - очень полезное занятие.
чуточки автоматизации, простите, но не бывает. она - либо свой отдельный проект, либо ее нет. либо есть пилотный проект, но который опять же закладывает основы автоматизации для будущих побед.
прогрессировать нужно с умом. делайте "умные тесты". устройте ревью. c ними прогрессирует команда целиком и каждый человек в отдельности. попробуйте, и вы увидите, как много всего еще надо сделать, прежде чем браться за автоматизацию :) часто люди думают, что ручное тестирование - это совсем неинтересно и стремятся найти fun в автоматизации, не подходя к этому серьезно. не повторяйте их ошибок.
если хотите частично попробовать автоматизацию - попробуйте провести стресс тестинг и нагрузочный тестинг. есть бесплатные средства для этого или ваши разработчики могут написать хороший код для этого. плюс найдете ошибки, связанные с длительным использованием вашего продукта. ведь 99% тестов начинают с чистого листа. а вот нагрузочное тестирование поможет найти ошибки такого рода, как недостаток помяти или переполнение буфера.
будет интересно и полезно очень. и зачастую бесплатно. но это и есть частичная автоматизация. мы именно с этого и начинали (купили WAPT c начали анализировать данные, которые стали получать).
про black box testing это совсем было не к вам :) no personal offence.
сам факт, что вы думаете о развитии тестеров - уже большое дело. удачи вам!
#15
Отправлено 22 августа 2007 - 09:49
Нет никакого смысла вводить серьезную автоматизацию в проект который через три месяца закроеться и к нему больше никогда не вернуться вместо этого действительно имеет смысл лишь создание базового набора автом, тестов которые будут работать по принципу прошел значит регрессии нет непрошел надо разбьираться.
Такой подход несовершенен однако он ведет к изучению средств автоматизированного тестирования и пониманию их применения.
#16
Отправлено 22 августа 2007 - 13:43
а) вы затратите уйму времени на изучение как и самой тулзы, так и как разрабатывать автоматизированные скрипты;
б) вам придется отлаживать скрипты;
в) вам придется поддерживать скрипты в актуальном состоянии в соответствии с изменениями в тестируемом ПО;
и т.д. и т.п.
Если у вас есть свободные люди, выделите их в отдельную команду, и пусть они начнут изучение самой тулзы, потом попишут тесты и т.д.
И напоследок, автоматизация не должна быть самоцелью. Проведите несколько пилотных проектов, проведите оценку времени затрачиваемого на автоматизацию, сравните с ручным. Подсчитайте все это в денежном эквиваленте. Весь этот ресерч не будет сделан зря. Эти оценки будете использовать в будущем при планировании на этапе разработки тест плана и тест стратегии что и как будете автоматизировать, и сколько людей вам для этого понадобится.
И мой добрый совет. Доведите проект без автоматизации до конца. Когда машина едет, опасно менять колеса на ходу.
#17
Отправлено 22 августа 2007 - 13:46
Забыл добавить, автоматизация - это еще один слой между Вами и тестируемым приложением. Задача усложняется в разы. Теперь ошибки могут быть не только в тестируемом приложении, но еще и в самом автоматизированном скрипте. Хорошо, когда это все выясняется, плохо, когда вы не правильно обрабатываете найденные ошибки, или хуже того, просто их игнорируете (неправильно составлен автоматизированный скрипт).
#18
Отправлено 22 августа 2007 - 14:53
Забыл добавить, автоматизация - это еще один слой между Вами и тестируемым приложением. Задача усложняется в разы. Теперь ошибки могут быть не только в тестируемом приложении, но еще и в самом автоматизированном скрипте. Хорошо, когда это все выясняется, плохо, когда вы не правильно обрабатываете найденные ошибки, или хуже того, просто их игнорируете (неправильно составлен автоматизированный скрипт).
+1
Да такое бывает )
#19
Отправлено 22 августа 2007 - 19:10
* У вас есть ежедневная сборка?
* Если нет, то почему?
Если ежедневной сборки нет и вы не можете ответить, почему ее нет - начинайте ее делать.
На этом первый этап автоматизации тестирования завершается.
Примечание. Иногда ежедневная сборка вредна. Поэтому на второй вопрос обязательно нужно ответить.
Второй этап.
* У вас есть юнит тесты?
* Если нет, то почему?
Если юнит тестов нет и вы не можете ответить, почему их нет - начинайте их делать. Но только после того, как пройдете первый этап.
Третий этап.
* У вас есть компонентные тесты?
* Если нет, то почему?
Если компонентных тестов нет и вы не можете ответить, почему их нет - начинайте их делать. Но только после того, как пройдете первый этап (а лучше и второй).
И только после этого можно, нет, не внедрять, а просто задуматься об автоматизации тестировании через GUI. В противном случае все ваши метания, скорее всего, будут просто попилкой бюджета проекта.
Т.е. если у вашей фирму денег как у дурака махорки, то вперед - покупайте QTP или что там еще подороже есть, съездите на месяцок в Лас Вегас на "тренинги", ну и что нибудь сделайте. Качество продукта конечно упадет, но ведь главное бюджет попилить, правда?
--
Сергей Мартыненко
Блог 255 ступеней (байки для оруженосца)
facebook (Дети диаграммы Ганта)
ВебПосиделки клуба имени Френсиса Бэкона
#20
Отправлено 22 августа 2007 - 20:35
Следует отметить, что автор топика говорит об автоматизации функционального тестирования (скорее всего именно на уровне GUI), соответственно, следует предположить, что это человек из команды тестирования. Соответственно, юнит и компонентное тестирование - это немного к другим людям надо, скорее всего к разработчикам. Но не об этом речь.....
Если юнит тестов нет и вы не можете ответить, почему их нет - начинайте их делать. Но только после того, как пройдете первый этап.
.......
Если компонентных тестов нет и вы не можете ответить, почему их нет - начинайте их делать. Но только после того, как пройдете первый этап (а лучше и второй).
И только после этого можно, нет, не внедрять, а просто задуматься об автоматизации тестировании через GUI. В противном случае все ваши метания, скорее всего, будут просто попилкой бюджета проекта.
....
Неужели, если не ведется автоматическое тестирование кода, то не имеет смысл автоматически проверять работу с пользовательским интерфейсом? Как минимум, эти вещи лежат в разных плоскостях, хотя бы исходя из того, что занимаются этим разные люди, да и сущности, с которыми идет работа, тоже заметно отличаются.
Опять же, функциональное тестирование через ГУИ уже позволяет выявить ошибки, которые в состоянии увидеть непосредственно пользователь. То есть подобный уровень тестирования должен иметь место всегда, независимо от наличия более низкоуровневых тестов. А если есть рутина, то уже есть смысл подумать об автоматизации.
Я бы все-таки сосредотачивал внимание на таком ключевом моменте, как деньги. То есть, нужно определить, что в конечном итоге дешевле будет за все время развития продукта: автоматическое тестирование или ручное. То есть, имеет смысл прикинуть затраты на оба вида тестирования и расчитать, за какой период времени автоматизированное тестирование по суммарным затратам сравняется с ручным тестированием. Здесь следует учесть тот момент, что для автоматизации требуется время на разработку и предварительную отладку, а ведь за это время можно тестировать руками. Искомая точка равновесия может быть достигнута только за счет того, что автоматически протестировать приложение можно быстрее, чем вручную. Соответственно, мы получим период, за который автоматизированное тестирование полностью себя окупит. Если же "время жизни" продукта меньше или ненамного превышает время окупаемости автоматизированного тестирования, то тогда в автоматизации смысла нет. Иначе, вполне стоит задуматься.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных