Просмотр полной версии : WinRunner
Atham Mirazizov
27.07.2006, 14:12
Когдато я видел как писались функциональные теста с использованием винраннера. Выглядело очччень привлекательно ... приложение тестировалось автоматически, т.е "нажимались" кнопки, заполнялись текст и другие боксы и т.д. По ходу проекта тест проводился почти ежедневно... потом это дело как то заглохло, видимо лидер проекта посчитал это нецелесообразным. Если кто то начнёт применять WinRunner или подобные системы думаю это должно повысить качество кода.
Да, нужно отметить, что ПО тестируется по двум направлениям:
1. Юнит тестирование направленное на избавление от "грязного" кода
2. Функциональное тестирование для проверки пользователького юзабилити и отлова логических ошибок в приложении
ну на счет повышения качества кода за счет функционального тестирования я сомневаюсь
а так винРаннер у нас использовался для тестирования одного веб приложения
а вообще в чем вопрос?
Akrom Obidov
03.08.2006, 21:03
ну на счет повышения качества кода за счет функционального тестирования я сомневаюсь
Почему ты так думаеш?
Если разрабатываемый программный продукт поддерживается тестами (при том любыми тестами) он уже считается застрахован от неожиданных багов и ошибок, конечно если тестовый случай правильно реализован .
Мое мнение то что с помощью тестов ты предвращяеш возникновения новых ошибок и багов.
Это разве не повышение качества кода?
Имхо под качеством кода имелось ввиду не отсутствие ошибок, а написание более рационального и легкого кода. Отсутсвие ошибок еще не гарантирует быструю работу программы. А когда код оптимизирован, то это благосклонно сказывается на скрости работы программы. Часто сначала пишут код, добиваются нужной функциональности, а потом начинают оптимизировать код, делая его более качественным. Кажется это назывется рефакторинг...
Akrom Obidov
04.08.2006, 10:27
О каком качестве может идти речь если твой код содержит баги и ошибки?! :D
О каком рефакторинге ты можеш думать если ты не уверень в своем коде и нет никаких гарантий что он без багов и ошибок?!
И как ты будеш говорить что твой код качественный?!
Виды качеств кода:
1. Относительно производительности кода;
2. Относительно читабельности кода;
3. Относительно работаспособности кода;
На данном случае Man как я понял имел ввиду именно качество работаспособности кода!
Насчет ВинРаннера я лично с ним не работал (но по юзал пару раз). ;)
Если я ошыбаюсь, прошу поправтье меня. :)
О каком качестве может идти речь если твой код содержит баги и ошибки?! :D
О каком рефакторинге ты можеш думать если ты не уверень в своем коде и нет никаких гарантий что он без багов и ошибок?!
И как ты будеш говорить что твой код качественный?!
он просто пояснил что такое качественный код. И что винРаннером не определить качество кода.
Виды качеств кода:
1. Относительно производительности кода;
2. Относительно читабельности кода;
3. Относительно работаспособности кода;
А как измерить работоспособность? ;)
Мне кажется кроме этого код еще должен быть Гибким и масштабируемым.
Разделен на максимально независимые блоки (это к той же масштабируемости)
Отсутсвие багов и ошибок подразумевается само собой. Кому нужен код с ошибками? :) Просто код без ошибок это не есть код быстрый и оптимальный. Вот и все.
Akrom Obidov
04.08.2006, 11:18
Отсутсвие багов и ошибок подразумевается само собой. Кому нужен код с ошибками? :) Просто код без ошибок это не есть код быстрый и оптимальный. Вот и все.
Но извени меня, ты не можеш* говорить что твой код хоть он супер быстрсый и супер оптимальный без тестов качественным. :)
Я думаю что рефакторинг это второстепенное действие которое влияет на качество твоего кода.
А как измерить работоспособность?*
Мне кажется кроме этого код еще должен быть Гибким и масштабируемым.
Разделен на максимально независимые блоки (это к той же масштабируемости)
Насчет гибкости и масштабируемости я с тобой согласен...
А как измерить гибкость, масштабируемость, производительность и читабельность?* ;)
Я думаю следует подытожить все что мы тут понаписали :)
Тестирование используется для избавления от ошибок в коде. Мы тестируем код. Кто-то WinRunner'ом, кто-то каким-то другим способом. Получаем код без ошибок. Но это еще не есть качественный код. А дальше уже идет отимизация кода.
В итоге получаем качественный код.
В идеале гибкий, маштабируемый и быстрый. Но это в идеале ;)
Akrom Obidov
04.08.2006, 11:31
А на самом деле никто этих правил не соблюдает! :D
Раз умеем говорить, давайте соблюдать эти правила и писать КАЧЕСТВЕННЫЙ код! :D
Akrom Obidov
04.08.2006, 11:35
А вообще кто нибудь работал с ВинРаннером?
И какие впечатления?
Какие инструменты еще существуют подобные ВинРаннеру? ???
Atham Mirazizov
04.08.2006, 12:35
Давно не заглядывал сюда ... а напостили то.
Моё мнение такое: качественный код это когда код написанный одним программистом может понять и поддерживать другой программист. Это накладывает определённый отпечаток на стиль работы команды (т.е. узнаётся "почерк"). винраннер - инструмент проверки пользовательской функциональности, но не качества кода.
Субъективно - качество кода может влиять на функциональность приложения (мне показывали прогу при загрузке которой я чуть не уснул :-\), онако повторюсь ещё раз качественный код нужен для дальнейшей поддержки и переработки приложения другими программистами.
Теперь о функционале. Приложение разрабатывается для пользователей, и если оно содержит логические сбои и ошибки, то грош цена даже самому качественному коду. Поэтому функ. тестирование имеет большую роль в создании действительно хороших программ, которые будут восприняты заказчиком. Функциональное тестирование происходит в любом случае. Разработчики вручную проверяют работу приложений. винраннер может понадобиться при разработке крупных проектов, где иногда происходит "размывание" сути работы приложения и это необходимо предотвращать с использованием автоматического тестирования.
Вставлю и я свои 5 копеек.
Идеальной (полезной) программы с максимально оптимизированным кодом, абсолютно работающей с любыми нагрузками никогда не получится. Моно лишь стремиться приблизить к идеалу тот или иной показатель. естественно потратив на это деньги (если продукт коммерческий) и время.
Очевидно, что первостепенная задача - это убдится что приложение работает. я думаю что почти всегда большая часть времени тестирования (на этапе разработки програмного обеспечения) уделяется именно функцинальности.
Естественно что код должен быть читабелен и лёгок при раброре другим програмистом. Для этого существуют определённые стандарты написания когда (разделение на регионы, коментирование функциональности, правила обявления) при этом все програмисты в группе пишут код в единой манере и им легко разобратся в коде друг друга.
далнейшее распределение внимания зависит от самого продукта. Если этот продукт запускается раз в день , ночью и может выполнятся целую нось, то думаю не стоит тратить лишнего времени на оптимизацию кода по мимо того что рекомендуется в ктандартах написания кода.
По такому жепринципу выполняются остальные виды тестирования.
p.s. Вышенаписанное является моим личным мнением и не претендует на истину.
Eldar Fattakhov
17.11.2007, 12:09
Давно не заглядывал сюда ... а напостили то.Атхам, а используются ли сейчас в ЦППМП (да и в других "программерских" организациях) какое-либо тестирующее и/или нагрузочное ПО? Если нет, то планируется ли? Для информации: продукты WinRunner и LoadRunner (разработка компании Mercury) предлагаются на рынке теперь уже в составе HP Software.
Atham Mirazizov
17.11.2007, 13:54
а используются ли сейчас в ЦППМП (да и в других "программерских" организациях) какое-либо тестирующее и/или нагрузочное ПО?
В прошлой жизни (до ЦППМП) я и команда ввели в практику использование тестирования и QA. В силу того, что в ЦППМП работа начата с нуля и полностью со студентами сложно за столь короткий срок внедрить подобные механизмы, пока сами программисты не набьют шишки на реальных проектах. И набивают!!! За прошедшие два года кроме обучения удалось поставить предпроектный анализ, документирование разработки, грамотный саппорт, рефакторинг кода, единый репозиторий. Думаю, в ближайшее время созреем до автоматических тестов, пока же этот процесс ручной. Я не случайно запустил этот топик, молодым людям нужно хотя бы иметь представление об этом. Вот так эволюционируя можно добраться до Software Engeneering и CMMI. Нужно, чтобы сами программисты "созрели".
Эльдар, спасибо за информацию. Будем знать куда обращаться. А кто использует программы тестирования и нагрузки сейчас, мне неизвестно.
Andrew Sklyarevsky
17.11.2007, 15:06
Тестирование только позволяет с некоторой степенью объективности утверждать, что программа работает. Автоматизированное тестирование на данный момент под большим вопросом, обычно лучше нанять грамотного тестера, который будет тестировать ПО. Программист, написавший код, очень навряд ли сможет его хорошо протестировать сам или написать автоматизированный тест пользовательского интерфейса. Хотя, самотестирующийся код (т.е. наличие юнит- и регрессионых тестов) - это тоже очень здорово, но это тестирование немного иного плана - оно обычно не UI проверяет, а бизнес-логику, и не субъективное "программа работает хорошо", а программистское "код работает верно".
Ещё тут выше были комментарии про рефакторинг, в которых содержалась ошибка. Рефакторинг нужен не для того, чтобы улучшить производительность ПО (что есть оптимизация), он нужен для того, чтобы сделать код более понятным и легко поддерживаемым (убрать дублирование, сделать более точные иерархии и т.д.).
Eldar Fattakhov
17.11.2007, 21:32
Тестирование только позволяет с некоторой степенью объективности утверждать, что программа работает.По-видимому, в частном случае данное утверждение окажется верным. Однако, учитывая, что все более или менее крупные программные комплексы разрабатываются командами (в лучшем случае) или группами программистов самой разной квалификации, обеспечить качество разработки (как функциональные возможности, так и качество кодирования) становится всё сложнее и сложнее. Дополнительно накладываются такие факторы, как работа через интернет и т.д., и т.п. Программные продукты типа WinRunner позволяют ускорить разработку скриптов на 70%. При этом продукт за время своей разработки получил глубокую степень интеграции с различными программными продуктами и технологиями (смешаю в кучу - Oracle, SAP, J2EE, .Net, ...). И все эти "штучки" вполне могут оказаться в одном программном комплексе. Сколько тестеров такого класса Вы сможете найти в стране? И что будет являться подтверждением того, что продукт действительно протестирован и не содержит глюков? Дополнительные возможности - опережающий поиск скрытых угроз (vulnerabilities) в программном коде ... Короче, настоятельно рекомендую почитать про WinRunner (грубо говоря - функциональное тестирование) и про LoadRunner (тестирование производительности). А я постараюсь уточнить возможность получения trial-версий данных продуктов...
Andrew Sklyarevsky
20.11.2007, 00:50
Мне кажется, мы с Вами обсуждаем разные масштабы :). О программистах разной квалификации - полагаю, что за программистами с меньшим уровнем должны следить программисты с более высоким уровнем, тогда будет очень эффективный процесс выравнивания уровня в команде, а так же и меньше формализма и обмен опытом.
В больших проектах, возможно, действительно необходимо применять ПО для автоматизации тестирования, но я пока не сталкивался со столь большими проектами.
Eldar Fattakhov
20.11.2007, 08:06
В больших проектах, возможно, действительно необходимо применять ПО для автоматизации тестирования, но я пока не сталкивался со столь большими проектами.Возможно - разница в масштабах. Все продукты по обеспечению качества программных продуктов - не дёшевы (и, зачастую, в условиях нашей действительности дороже, чем сам разрабатываемый программный продукт).
Однако, нам нельзя считать, что какая-либо система, разработанная для нашего коммерческого банка будет менее требовательна, чем такая же система для коммерческого банка в России или в Венгрии. Хотя ущерб от ошибок в ПО (скорее всего) будет несопоставим (не в нашу пользу). Но мы же речь ведем и об "экспортных поставках"?
Eldar Fattakhov
22.11.2007, 18:39
Прошу в гости (http://uforum.uz/showthread.php?p=55215#post55215)!
Мы говорим о готовых программах для тестирования! А создаются ли тестирующие программы специально под разрабатываеммый проект? И вот ещё ! Ведь сейчас с ростом производительности ПК скорость разработки ПО важнее производительности программы!?(ну конечно программа должнат быть без багов, ну или почти без багов:) )
_TrachinuS_
05.12.2008, 07:43
2 Sit,
WinRunner and LoadRunner мона использовать и для готовых и для разрабатываемых проектов. На счет скорости кода и программы это всегда зависит от прогера. Как он напишет код. Не надо надееться что у всех пользователей процы по 5МГц.
Мы после разработки нашего продукта должны были узнать как оно быстро реагирует и скока юзверов одновременно могут работать. Вот и запустили WinRunner and LoadRunner. В результате потратили еще 3 месяца для рефакторингу:) А щя могу сказать что программа более менее стабильная. А до этого был как Швейцарский сыр. Хорош но с дырками :)
vBulletin® v3.8.5, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot