|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Прошу совета у опытных специалистов, как вы делаете тесты своих приложений? Интересует WinForm + БД. Краем уха слышал про Unit тесты. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 15:32 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Sliva, NUnit использовал ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 16:53 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Sliva, какие именно тесты имеются в виду? Тестирование бывает модульное, интеграционное, нагрузочное... Можно начать с Википедии, почитать краем глаза про разновидности тестирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 17:43 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
petalvik, почитал.... Ситуация: пишу ERP систему на предприятии, помодульно. Мое тестирование (ручное) сводится к проверке выходных данных, соответствии ТЗ и т.д. Стоит ли заморачиваться написанием тестов, если (теоретически), на это есть время? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 09:20 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
SlivaСтоит ли заморачиваться написанием тестов, если (теоретически), на это есть время? На это стоит заморачиваться, даже если времени нет. Потому что без них еще хуже. Разумеется, если не передергивать, и не писать идиотские тесты на совершенно ненужные вещи. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 09:30 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Arm79Потому что без них еще хуже. Разумеется, если не передергивать, и не писать идиотские тесты на совершенно ненужные вещи. Вот нравятся мне эти оговорки в стиле Хаджи Насреддина.... Другими словами - если программер умный, то можно писать тесты, а если глупый - то не нужно.... Еще есть такие фишки -что говорят, мол, тесты должны писать все! (причем все должны писать правильные тесты, не передергивать, это главное условие) Если кто-то один пропустил тесты - все, вся технология чуда теряет гарантию! :-) Вот давайте так - тесты это инструмент. НЕ МОЖЕТ БЫТЬ что некий инструмент можно применять везде (с одинаковым успехом). Не согласны? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:13 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Тесты прежде всего нужны для того, чтобы можно было вносить доработки, не испортив уже работающий код. То есть если пишешь сферическую программу в вакууме, на которую есть изначальное и полное ТЗ, и которая не будет как-то изменяться и развиваться, то можно обойтись без тестов. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:23 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Shocker.ProТесты прежде всего нужны для того, чтобы можно было вносить доработки, не испортив уже работающий код. Отговорка. Если надо вносить доработки, то это неизбежно затронет "работающий уже код" - иначе это не доработка. Значит, будем править чужие тесты (а это ведь "низзя"). Потому, что надо. Это эквивалентно обычному "санити тесту" - проверке функциональности. Что да, дают написанные тесты - запускать кусочки кода, без запуска всего проэкта. Это круто, однозначно. Но это создает опасную иллюзию, что все ок (все тесты прошли) когда весь проэкт даже не запускался! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:29 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
D129Это эквивалентно обычному "санити тесту" - проверке функциональности. *Это было бы эквивалентно .... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:30 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
D129, Разумеется, нет. Написание тестов никак не коррелирует с интеллектом программиста. Тесты нужно писать всегда. Вопрос в их количестве. Иногда программисты перегибают палку и пишут тесты ради тестов, для галочки. Нет смысла, к примеру, тестить метод public long Add(int a, int b) { return a + b; } Или если для методов присутствуют контракты. Или закладываться на фантастические варианты. А методы или объекты, реализующие сложную бизнес-логику стоит. Например, переходы по состояниям, или финансовые расчеты, например кредиты. То, что не везде с одинаковым успехом, согласен. Но нужно стараться стремиться к совершенству :-) PS Говорю по своему опыту - даже в условиях цейтнота писал тесты на самые важные методы и классы, и они впоследствии сэкономили мне туеву хучу времени, когда заказчик начал менять и уточнять требования. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:30 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Arm79 Иногда программисты перегибают палку и пишут тесты ради тестов, для галочки. Нет смысла, к примеру, тестить метод public long Add(int a, int b) { return a + b; } .... Я не виноват. У нас тут Ковертюры и Ковентри всякие... Покрытие тестами дожно быть 100% - требование начальства. Подобный в примере метод - будет тест. В бизнес приложениях тесты - обычно проверяют, может ли список хранить значения, и отдавать их.... Я тут недавно разбирался с коллегой - он начал писать МОК для МОКа. Второй уровень. :-) Я требование "писать тесты" - рассматриваю как требование к врачу на операции - "остановить кровь". Не ваше собачье дело. Мне будет надо - я напишу. Противно, что не доверяют моему проффесионализму. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:38 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
D129, Трудно разубеждать о сексе, не разу не попробовав в реале, пускай попробует напишет.. Мок для мока, имхо верх ценизма - извращенка с расчленением. есть еще TDD - помогает почувствовать себя богом, когда он лепил мир )) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:52 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
D129Противно, что не доверяют моему проффесионализму. Представьте себе альпиниста. Любому альпинисту на сложных склонах требуется страховка. Это как раз таки признак профессионализма - не рисковать понапрасну, заботиться о себе и партнерах. И, конечно, подъем пешком на холмик не требует никакой страховки. Аналогично и тесты - на сложных участках кода тесты обязательны несмотря на "профессионализм". Вероятность ошибки есть всегда. А вот на простейших случаях от тестов толку нет, только время тратить зря. PS К тому же по тестам иногда проще понимать принцип работы, чем разбираться в коде метода. PPS Требование начальства тоже понятно, хотя в вашем случае это перебор. Процент покрытия кода тестами - тоже один из показателей качества кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:59 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Arm79 Процент покрытия кода тестами - тоже один из показателей качества кода. Ага. Пуговицы пришиты намертво, не оторвешь. :-) Для джавовского проэкта, в котором я участвовал, купили Кувертюру. И есть ряд методов - как раз из тех, тесты для которых - глупость и потеря времени. Кувертюра показывает цифру - 25%. На заседации обсуждалось, как пометить такие нетестовые методы, чтобы кувертюра их не брала в рассчет. И таким образом, повысить "качество кода". :-) Я им рассказал, историю из геологической жизни - родители у меня геологи. Когда некоему советскому начальнику принесли социалистические обязательства. И бурильщики обязывались увеличить выход керна из скважины до 85%. Начальник всзбесился - как это 85! Вся страна берет на себя обязательства 105 и даже 110 %!!! А эти только 85???? :-) Я предложил - не делать ничего. Есть инструмент, типа термометр, он показывает 25. Будет показывать 15 - вот тогда и будете проверять, что случилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 12:23 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
D129, как геолог геологу, куда делся остальной керн? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 12:32 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
D129, Честно говоря, ни с какой кувертюрой не знаком, да и от Java далек - сам не пишу, но прочитать алгоритм с кода смогу. Вот пример для .Net - dotCover. Ненужные методы помечаются атрибутом [ExcludeFromCodeCoverage] и в подсчете не участвуют. Возможно, и в вашей кувертюре есть подобный механизм. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 12:42 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Arm79на сложных участках кода тесты обязательны несмотря на "профессионализм". Вероятность ошибки есть всегда. Проблема что кто решает, что сложно а что нет - это не я. Цена ошибки программиста намного меньше. Можно к жизни относиться легче. Беда в том, что уповая на ТДД и аджайл - перестали вообще думать о проэкте как о чем-то целом. Написали что-то? проверили? установили? "заказчики уже могут пользоваться" Начальство и владельцы довольны. То, что написали, и как и как это работает - "пуговицы пришиты намертво". Костюмчик кривоват, и по швам трещит - но тесты проходят. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 12:55 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Тесты для лузеров! Если серьезно, то поддержу мнение: Shocker.ProТо есть если пишешь сферическую программу в вакууме, на которую есть изначальное и полное ТЗ, и которая не будет как-то изменяться и развиваться, то можно обойтись без тестов. Чем больше система напоминает блэк-бокс тем больше потребность в тестах. Когда начали разрабатывать систему с четкого ТЗ, разработали структурные/функциональные схемы и только потом закодити, тогда и тестировать по сути нечего. Большинство проблем выявляется в процессе разработки. А когда используется подход - сначала закодим, а по весне/после обеда посмотрим что получилось и доработаем напильником - вот тогда тесты становятся камнем приткновения. Потому как тесты фактически становятся единственным источником информации о внутреннеи устройстве системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 13:10 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Где-то в степиD129, как геолог геологу, куда делся остальной керн? Ну так происходит вращение снаряда. Вибрация, керн ломается и стирается, вымывается вместе с буровым раствором. Представьте еще, что если столб керна 6 метров - какое там усилие прилагается к породе... Качество работы бурильщиков в том, чтобы свести эти неизбежные потери к минимуму. Вот сейчас подумал, что если бурить маленькими кусочками, и часто поднимать снаряд - то это как раз способ уменьшить потери керна. Но это ж надо работать... :-) Давануть сразу метров 6 - или если можно и больше - это же быстрее, чем поднимать-опускать каждый метр, к примеру... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 13:54 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
Arm79D129, Честно говоря, ни с какой кувертюрой не знаком, да и от Java далек - сам не пишу, но прочитать алгоритм с кода смогу. Вот пример для .Net - dotCover. Ненужные методы помечаются атрибутом [ExcludeFromCodeCoverage] и в подсчете не участвуют. Возможно, и в вашей кувертюре есть подобный механизм. Да понятно что есть. Но зачем он есть? Ну вот тип проэкта - сервис-интегратор и база данных - покрытие тестами 25% - может так и должно быть. Другой тип - другие цифры. Зачем подделывать? Какой в этом смысл? Ну хочется видеть цифру 99% - напиши, красивым шрифтом, в Ворде, распечатай, повесь на стену - и смотри.... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 13:58 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
D129Вот сейчас подумал, что если бурить маленькими кусочками, и часто поднимать снаряд... Сам не геолог, но уверен что и без Ваших соображений эта больше математическая задача оптимизации была давно решена. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 14:00 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKID129Вот сейчас подумал, что если бурить маленькими кусочками, и часто поднимать снаряд... Сам не геолог, но уверен что и без Ваших соображений эта больше математическая задача оптимизации была давно решена. Напрасная уверенность. Бурят для того, чтобы узнать - что там, на глубине полтора километра? А математическая модель - это если уже известно все. Тип пород, прочность итп... Так что надо брать социалистические обязательства, надо.... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 14:03 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
D129А математическая модель - это если уже известно все. Тип пород, прочность итп... Геология не вчера родилась. Есть масса статистической информации и вероятностные модели позволяющие выстраивать оптимальный план бурения в каждой конкретной ситуации. D129Так что надо брать социалистические обязательства, надо.... Недавно смотрел на ютубе лекции по решению логистических задач, так вот, там умный дядька утверждал, что СССР развалился в основном из-за отсутствия вычислительных ресурсов позволяющих сделать оптимальную централизованную систему распределения ресурсов в рамках всей страны. Сейчас такие ресурсы имеются, так что СССР R2 не за горами, взять на себя "социалистические обязательства" возможность еще представится! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 14:17 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
D129А математическая модель - это если уже известно все. Это кардинальная ошибка. Математическая модель, когда известно все, никому не нужна. Смысл любой математической модели - прогноз! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 14:20 |
|
Тестирование проекта
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKI так что СССР R2 не за горами, взять на себя "социалистические обязательства" возможность еще представится! Очень сомнительно. Возможно сейчас и можно просчитать бесперебойную поставку колбасы за 2.20, и все к ней сопутствующее - по стандарту СССР. Но обеспечить современный ассортимент товаров - увы. А о нем уже все знают. То есть, цель (довольное население) достигнута опять не будет. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 14:45 |
|
|
start [/forum/topic.php?fid=20&fpage=115&tid=1402755]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 167ms |
0 / 0 |