Программист. с чего начать?

User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: Программист. с чего начать?

Post by stenking »

crypto5 wrote:
stenking wrote:
Интеррапт wrote:
АццкоМото wrote:
stenking wrote: Что тут можно сделать?
Убрать лишнее двоеточие, например :)
Мухаха. И "Private Patrol Officer" два раза повторяется. Вот тебе, стенкинг, твои филипинские тестеры :D
Точно! Нужно написать тест который проверяет или нет дубликатов. А потом прочитать получше и увидеть что Патрол <> Полис и подумать а нафига я сейчас убил 2 часа :)
Юнит тесты слабо эфективны для нахождения хитрых багов, они больше что бы задекларировать ожидаемое поведение вашей системы, и сигнализировать если кто-то что-то поломает когда будет добавлять фичу или рефакторить. Когда у вас будет значительно больше 5-и программистов, большая часть колектива сменится по пару раз, будет куча старого кода, а полное регрессивное тестирование на каждый чих будет занимать 4 недели и стоить много денег, покрытие тестами очень здорово окупиться как в плане продуктивности разработки так и в плане стабильности продукта.

Нy и в нормальном процессе вам не надо писать 2 часа тест. Инфраструктура тестирования должна развиваться вместе с кодом, и вам достаточно вбить в тесте что-то initDb().addKeyword('hello').addKeyword('ehlo') что бы заинициализировалась база с кучей около продакшн данных + ваши данные необходимые для теста.
Это всё очень даже логично. Но баги то другие. Т.е. я понимаю прекрасно для много людей, постоянно что-то ломается и т.д. Но в моём личном восприятии команда QA с ручным тестированием, повышеной адекватностью ( например в состоянии посмотреть на гит хаб что бы увидить какие файлы поменялись что бы знать куда усилия направлять ) работает намного эффективнее. Стоит ли ивестировать в автоматизацию которя может стоить + 20-50% проекта или в QA или и туда и туда - тут пусть каждый решает сам. Я писал тесты 10 лет а теперь считаю что это была ошибка и лучше бы злого qa взять.


Но всё это спефифично для 1) веб эппов 2) команд до 10 человек 3) стартапов до 10М пользователей.
Last edited by stenking on 01 Jun 2013 22:11, edited 1 time in total.
Бога нет.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Программист. с чего начать?

Post by Интеррапт »

АццкоМото wrote:ЗЫ. я несколько лет жизни потратил на создание нормального адекватного отдела тестирования, с нуля и до человек эдак 60. вот уж эти все простые плюсы-минусы очевидных подходов разобраны по деталькам больше 10 лет назад. когда я все это читаю, так и хочется сказать "ха! туристы"
А были бы нормальные юнит тесты в проекте, то "адекватный отдел тестирования" сократился бы с 60 человек, до 30 :D

Юнит тестинг - это де-факто стандарт для разработки проектов, ну кроме таких случаев как:

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

Во всех остальных случаях без юнит тестов тоже можно жить, конечно. Просто чем дальше в лес, тем больше будет багов и чесания головы, почему вдруг после крошечного рефакторинга все сломалось.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Программист. с чего начать?

Post by crypto5 »

АццкоМото wrote:
crypto5 wrote: Тест находит баги, он не находит баги "типа как лишнее двоеточие"
Интересно. Например, у нас раньше была жестко сверстанная форма. Все поля из строковых ресурсов, разумеется, с двоеточиями - ибо нужны они там. А потом мы заредизайнили форму, чтобы поля различные конструировались динамически исходя из каки-то соображений, а двоеточия расставлялись автоматом, ибо тот же ресурс используется отныне в сообщении об ошибке "Вы не ввели данные обязательное поле Мое Фамилиё". И из всех строковых ресурсов двоеточие убрали, а про один - забыли. Это в точности что должен находить юнит-тест: поломанная старая хункциональность в результате редизайна. Капитан Очевидность подсказывает, что если у нас юнит-тесты достаточно хороши, то они найдут такой баг даже если еще никакого редизайна не было, а просто у кого-то тряслись ручки после веселой ночи порока и разврата. А если они недостаточно хороши, то они не выполняют и свою основную задачу

ЗЫ. я несколько лет жизни потратил на создание нормального адекватного отдела тестирования, с нуля и до человек эдак 60. вот уж эти все простые плюсы-минусы очевидных подходов разобраны по деталькам больше 10 лет назад. когда я все это читаю, так и хочется сказать "ха! туристы"
Ок, скажем так, в юнит тесты для нахождения лишних двоеточий я не вижу большого смысла инвестировать усилия. В покрытии тестами сложной логики, да, вижу.
In vino Veritas!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Программист. с чего начать?

Post by Интеррапт »

stenking wrote:Но в моём личном восприятии команда QA с ручным тестированием, повышеной адекватностью ( например в состоянии посмотреть на гит хаб что бы увидить какие файлы поменялись что бы знать куда усилия направлять ) работает намного эффективнее.
У тебя прямо какие-то QA волшебные. Ну и каким образом QA-ю поможет факт того, что он увидел, что на github поменялся файл "GHSInvokation.m" ? Те QA, которые могут разобраться в твоем коде и сообразить, что именно этот код затрагивает - они обычно девелоперами работают, а не QA.
stenking wrote:Стоит ли ивестировать в автоматизацию которя может стоить + 20-50% проекта или в QA или и туда и туда - тут пусть каждый решает сам. Я писал тесты 10 лет а теперь считаю что это была ошибка и лучше бы злого qa взять.
Да не стоит никогда это 20-50% проекта. Юнит тесты писать после определенной практики - как семечки лузгать. Пару минут займет, чтобы покрыть какой-то сложный метод. Че там писать его? Быстро проверил, что при таких-то условиях получаешь такие-то результаты или наоборот, при таких-то условиях получаешь такие ошибки. Обычно все-равно ведь проверяешь, как отработался тот или иной метод, ты же не пишешь какую-то функцию, которая чего-то вычисляет, не проверив, что она действительно работает? Ну так чего эту проверку не засунуть в отдельный метод? Не думал, что в 21-м веке люди будут утверждать, что юнит-тесты не нужны :)
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Программист. с чего начать?

Post by crypto5 »

stenking wrote: Это всё очень даже логично. Но баги то другие. Т.е. я понимаю прекрасно для много людей, постоянно что-то ломается и т.д. Но в моём личном восприятии команда QA с ручным тестированием, повышеной адекватностью ( например в состоянии посмотреть на гит хаб что бы увидить какие файлы поменялись что бы знать куда усилия направлять ) работает намного эффективнее. Стоит ли ивестировать в автоматизацию которя может стоить + 20-50% проекта или в QA или и туда и туда - тут пусть каждый решает сам. Я писал тесты 10 лет а теперь считаю что это была ошибка и лучше бы злого qa взять.


Но всё это спефифично для 1) веб эппов 2) команд до 10 человек 3) стартапов до 10М пользователей.
Да, для crud вебапов логика которых - перекладывание данных из mysql в html я бы тесты тоже не писал.
НУ и некоторых других аппликейшнов тоже, что не исключает что у автоматического тестирования хороших областей применения выше крыши.
In vino Veritas!
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: Программист. с чего начать?

Post by stenking »

Интеррапт wrote:
stenking wrote:Но в моём личном восприятии команда QA с ручным тестированием, повышеной адекватностью ( например в состоянии посмотреть на гит хаб что бы увидить какие файлы поменялись что бы знать куда усилия направлять ) работает намного эффективнее.
У тебя прямо какие-то QA волшебные. Ну и каким образом QA-ю поможет факт того, что он увидел, что на github поменялся файл "GHSInvokation.m" ? Те QA, которые могут разобраться в твоем коде и сообразить, что именно этот код затрагивает - они обычно девелоперами работают, а не QA.
Вместо того что бы ты ( образно) писал тесты за $100+ в час я нашёл QA который за $20 час делает отличную работу.

Файлы называются так:

Image


Притом заметь что мой QA тестирует и емаилы ( в литмусе ) и лук энд фил во всех браузерах через кросс браузингтестинг и UX и бизнесс логику - т.е. покрывает 100% территории. Юнит тестинг же покрывает в моём случае дай бог 5%.
Бога нет.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Программист. с чего начать?

Post by crypto5 »

stenking wrote:
Интеррапт wrote:
stenking wrote:Но в моём личном восприятии команда QA с ручным тестированием, повышеной адекватностью ( например в состоянии посмотреть на гит хаб что бы увидить какие файлы поменялись что бы знать куда усилия направлять ) работает намного эффективнее.
У тебя прямо какие-то QA волшебные. Ну и каким образом QA-ю поможет факт того, что он увидел, что на github поменялся файл "GHSInvokation.m" ? Те QA, которые могут разобраться в твоем коде и сообразить, что именно этот код затрагивает - они обычно девелоперами работают, а не QA.
Вместо того что бы ты ( образно) писал тесты за $100+ в час я нашёл QA который за $20 час делает отличную работу.

Файлы называются так:

Image


Притом заметь что мой QA тестирует и емаилы ( в литмусе ) и лук энд фил во всех браузерах через кросс браузингтестинг и UX.
Стенкин, посмотрите на webdriver, там сейчас настолько просто функциональные тесты писать что программист на $100 в час совсем не требуется, вполне хватит за $20.
In vino Veritas!
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: Программист. с чего начать?

Post by stenking »

del
Last edited by stenking on 02 Jun 2013 05:53, edited 1 time in total.
Бога нет.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Программист. с чего начать?

Post by crypto5 »

Старый добрых пхп спагетти код ))
In vino Veritas!
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: Программист. с чего начать?

Post by stenking »

crypto5 wrote: Стенкин, посмотрите на webdriver, там сейчас настолько просто функциональные тесты писать что программист на $100 в час совсем не требуется, вполне хватит за $20.
Да я раньше много использовал функциональные тесты а сейчас тоже отказался. Формы усложнились, страницы требуют много зависимостей и многие елементы прячутся показываются в зависимости от базы и т.д.
Бога нет.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Программист. с чего начать?

Post by crypto5 »

stenking wrote:
crypto5 wrote: Стенкин, посмотрите на webdriver, там сейчас настолько просто функциональные тесты писать что программист на $100 в час совсем не требуется, вполне хватит за $20.
Да я раньше много использовал функциональные тесты а сейчас тоже отказался. Формы усложнились, страницы требуют много зависимостей и многие елементы прячутся показываются в зависимости от базы и т.д.
Так а какие проблемы? В этом и предназначение функциональных тестов что-бы тестировать поведение в зависимости от базы, а селениум помогает осилить сложные формы.
In vino Veritas!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Программист. с чего начать?

Post by Интеррапт »

stenking wrote:
crypto5 wrote: Стенкин, посмотрите на webdriver, там сейчас настолько просто функциональные тесты писать что программист на $100 в час совсем не требуется, вполне хватит за $20.
Да я раньше много использовал функциональные тесты а сейчас тоже отказался. Формы усложнились, страницы требуют много зависимостей и многие елементы прячутся показываются в зависимости от базы и т.д.
Тю, так наоборот, для таких случаев и нужны функциональные тесты. Это еще для простейших страничек может и не нужно.
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: Программист. с чего начать?

Post by stenking »

crypto5 wrote:
stenking wrote:
crypto5 wrote: Стенкин, посмотрите на webdriver, там сейчас настолько просто функциональные тесты писать что программист на $100 в час совсем не требуется, вполне хватит за $20.
Да я раньше много использовал функциональные тесты а сейчас тоже отказался. Формы усложнились, страницы требуют много зависимостей и многие елементы прячутся показываются в зависимости от базы и т.д.
Так а какие проблемы? В этом и предназначение функциональных тестов что-бы тестировать поведение в зависимости от базы, а селениум помогает осилить сложные формы.

Стартап, всё очень меняется быстро. Постоянно переделывать нужно. Сегодня одна форма, завтра добавили новые поля, послезавтра дизайном подкрасили, логику поменяли. Притом все поломки обычно без проблем ловятся QA-ем. Притом я совсем не против тестов, я уже говорил - просто в данным момент они для меня скорее зло чем добро.
Бога нет.
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: Программист. с чего начать?

Post by stenking »

Интеррапт wrote:
stenking wrote:
crypto5 wrote: Стенкин, посмотрите на webdriver, там сейчас настолько просто функциональные тесты писать что программист на $100 в час совсем не требуется, вполне хватит за $20.
Да я раньше много использовал функциональные тесты а сейчас тоже отказался. Формы усложнились, страницы требуют много зависимостей и многие елементы прячутся показываются в зависимости от базы и т.д.
Тю, так наоборот, для таких случаев и нужны функциональные тесты. Это еще для простейших страничек может и не нужно.
Он максимум может сказать работает форма или нет. Но это и ещё много других вещей может сказать QA который посмотрит что изменился файл "editClip" и протестирует форму.
Бога нет.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Программист. с чего начать?

Post by crypto5 »

stenking wrote:
crypto5 wrote:
stenking wrote:
crypto5 wrote: Стенкин, посмотрите на webdriver, там сейчас настолько просто функциональные тесты писать что программист на $100 в час совсем не требуется, вполне хватит за $20.
Да я раньше много использовал функциональные тесты а сейчас тоже отказался. Формы усложнились, страницы требуют много зависимостей и многие елементы прячутся показываются в зависимости от базы и т.д.
Так а какие проблемы? В этом и предназначение функциональных тестов что-бы тестировать поведение в зависимости от базы, а селениум помогает осилить сложные формы.

Стартап, всё очень меняется быстро. Постоянно переделывать нужно. Сегодня одна форма, завтра добавили новые поля, послезавтра дизайном подкрасили, логику поменяли. Притом все поломки обычно без проблем ловятся QA-ем. Притом я совсем не против тестов, я уже говорил - просто в данным момент они для меня скорее зло чем добро.
Да, согласен, на этапе активного прототипирования тесты мешают.
In vino Veritas!

Return to “Работа и Карьера в IT”