Вопрос в основном к тем, кто в одиночку что-то разрабатывает.
Скажите, а как вы тестируете? Сами или отдаете на сторону? Если сами, то пишите ли вы сценарии тестирования?
Думаю, вопрос универсальный, относится к десктопным приложениям, сайтам, мобильному ПО.
Понятно, что для части логики можно сделать авто тесты. А как быть с UI. Скажем, проверить, что пункты меню имеют определенное состояние (запрещены или разрешены) и все такое.
Здравствуйте, Lonely Dog, Вы писали:
LD>Скажите, а как вы тестируете? Сами или отдаете на сторону? Если сами, то пишите ли вы сценарии тестирования?
Если вы сами разрабатываете как минимум на фулл-тайм (а не дай бог ещё и с коллегами), то нужен один толковый тестировщик на фулл-тайм, хотя бы удаленно.
Это очень сильно повышает производительность + вы узнаете о своём продукте много нового.
Здравствуйте, Lonely Dog, Вы писали:
LD>Коллеги, добрый день!
LD>Вопрос в основном к тем, кто в одиночку что-то разрабатывает.
LD>Скажите, а как вы тестируете? Сами или отдаете на сторону? Если сами, то пишите ли вы сценарии тестирования?
Есть удаленщик для этого. Сценарии пишем, обновляем, даже когда тестим сами — это позволяет избежать пропусков...
LD>Понятно, что для части логики можно сделать авто тесты. А как быть с UI. Скажем, проверить, что пункты меню имеют определенное состояние (запрещены или разрешены) и все такое.
Я всегда самостоятельно тестировал свой продукт и когда начинал один работать и сейчас когда у нас небольшая компания. Мне это нравится и еще — никто лучше меня, главного разработчика, не знает досконально продукт и все функции. Поэтому я знаю, что тестировать, что могло поменяться из-за правок в коде.
Тестирование не занимает много времени.
Второе, у меня есть форум техподдержки пользователей — когда готовим новую версию, я выкладываю Бета версию на форуме. И мне шлют отчеты об ошибках. Зачем еще нанимать каких-то бета тестеров? Пользователям нравится наш продукт, они его реально используют и поэтому находят всевозможные ошибки. Никакой тестировщик так не сможет. Когда баг-репорты с форума прекращаются мы выпускаем финальную версию.
Так работаем уже 16 лет.
Такая схема идеальна для продукта для домашних пользователей. Для B2B возможно не подойдет.
И еще, повторю, главный разработчик — должен быть главным тестировщиком. Только так вы сможете обеспечить высокое качество программы и ее стабильную работу.
У Microsoft огромное количество тестеров, но несмотря на это я нахожу огромное количество визуальных багов в новых окнах Windows 10. Простой пример — окно Персонализация. У меньшаю мышкой снизу размер окна до минимального предела — обратно ресайз уже не работает. Как так? Кто-нибудь это вообще тестировал в Microsoft?
Delphi 10.3 — невероятное количество визуальных багов, зависаний IDE. Как такое возможно в большой компании?
Я как разработчик уже моментально представляю в голове план базового тестирования всего UI.
При тестировании только на стороне, будет пропущено огромное количество багов, т.к. тестировщики как правило не умеют тестировать граничные условия, на которых баги возможны.
У нас в фирме как-то отдали тестирование разработчикам (хотя есть спец. отдел для этого) — багов было выявлено немерено.
Здравствуйте, PeterOfLight, Вы писали:
POL>Delphi 10.3 — невероятное количество визуальных багов, зависаний IDE. Как такое возможно в большой компании?
POL>Я как разработчик уже моментально представляю в голове план базового тестирования всего UI.
Зависит от размера продукта.
Если софтина уровня Студии, то если ты будешь тестировать сам, на разработку времени уже не останется.
_____________________
С уважением,
Stanislav V. Zudin
Здравствуйте, DiZSl, Вы писали:
DZS>При тестировании только на стороне, будет пропущено огромное количество багов, т.к. тестировщики как правило не умеют тестировать граничные условия, на которых баги возможны.
Надо объяснять, показывать, вводить в курс дела грубже.
Здесь самое главное — вложить experience в голову тестировщиков. После этого он сможет не только тестировать, но и общаться с пользователями, и даже в некоторых случаях помогать с кодом.
Такого человека надо растить, воспринимая его как новую нейросеть в своей голове, которую надо научить по имеющейся.
По моему опыту — полгода фуллтайма: именно столько требуется для этого на базовом уровне.
Здравствуйте, PeterOfLight, Вы писали:
POL>Я всегда самостоятельно тестировал свой продукт и когда начинал один работать и сейчас когда у нас небольшая компания. Мне это нравится и еще — никто лучше меня, главного разработчика, не знает досконально продукт и все функции. Поэтому я знаю, что тестировать, что могло поменяться из-за правок в коде.
Полезно отдать кому-то оценить свежим глазом. У вас может уже глаз замылился и не видите недостатков.
Здравствуйте, DiZSl, Вы писали:
DZS>При тестировании только на стороне, будет пропущено огромное количество багов, т.к. тестировщики как правило не умеют тестировать граничные условия, на которых баги возможны.
Наверное и то и то нужно. Есть баги, которые сами разработчики не выявят и потому что глаз "замылился" и потому что в голову не придет, что такое можно сотворить с их софтиной. И наоборот, сторонние разработчики могут даже не догададаться, что надо проверять какие-то вещи.
Что до крупных продуктов, то там обычно заранее составлен чек-лист и тестировщики прогоняют по нему.
Здравствуйте, DiZSl, Вы писали:
DZS>Здравствуйте, Lonely Dog,
DZS>При тестировании только на стороне, будет пропущено огромное количество багов, т.к.
тестировщики как правило не умеют тестировать граничные условия
, на которых баги возможны.
Вот сейчас обидно было. Если не знают азов тестирования, то какие они после этого тестировщики?
Вообще это утверждение а-ля: программисты не умеют программировать...
DZS>У нас в фирме как-то отдали тестирование разработчикам (хотя есть спец. отдел для этого) — багов было выявлено немерено.
Здравствуйте, sharez, Вы писали:
S>Здравствуйте, DiZSl, Вы писали:
DZS>>При тестировании только на стороне, будет пропущено огромное количество багов, т.к. тестировщики как правило не умеют тестировать граничные условия, на которых баги возможны.
S>Надо объяснять, показывать, вводить в курс дела грубже.
Для этого есть тест-кейсы и т.п. сценарии. Когда я начинал работать в этой сфере, мне было дано семь томов документации по программам из двольно узкой ниши и сам комплекс программ. Всё на английском. Изучал почти как "черный ящик" самостоятельно, никто не рвался помогать. Таким образом прошел отбор и вопросов в дальнейшем, типа незнание логики софта, быть не могло. Это я к тому, что всё зависит от специалиста, нужно уметь подбирать персонал.
S>Здесь самое главное — вложить experience в голову тестировщиков. После этого он сможет не только тестировать, но и общаться с пользователями, и даже в некоторых случаях помогать с кодом.
Мы и как техподдержка иногда работали при разборе ошибок, найденных пользователями. И тесты сами писали и много чего еще.
А что значит "помогать с кодом"?
S>Такого человека надо растить, воспринимая его как новую нейросеть в своей голове, которую надо научить по имеющейся. S>По моему опыту — полгода фуллтайма: именно столько требуется для этого на базовом уровне.
Если растить тестировщика и за пол года фултайма из него ничего не вырастет, то это будет "сюрприз" для работодателя.
Надо брать с опытом и жестко отбирать по нужным критериям. В ином случае будет жрать зарплату, пропуская львиную долю багов.
Здравствуйте, PeterOfLight, Вы писали:
POL>Мне это нравится и еще — никто лучше меня, главного разработчика, не знает досконально продукт и все функции. Поэтому я знаю, что тестировать, что могло поменяться из-за правок в коде.
В этом и проблема. Юзеры могут выбрать совершенно непредсказуемый подход и обрушить программу.
Так я и предложил схему — тестировать самому + потом отдавать Бету добровольцам на своем форуме. В итоге в релизе остается очень мало проблем.
К слову, у нас очень сложный полупрофессиональный продукт, с огромным количеством функций.
Повторю, никакой тестировщик, даже за большие деньги вам так не оттестирует софт. Только Вы сами, и пользователи-энтузиасты, которые любят и знают вашу программу.
Здравствуйте, PeterOfLight, Вы писали:
POL>Повторю, никакой тестировщик, даже за большие деньги вам так не оттестирует софт. Только Вы сами, и пользователи-энтузиасты, которые любят и знают вашу программу.
Если вы смогли так заинтересовать юзеров, что они сами стали евангелистами вашего софта — это же отлично.
Во всех остальных случаях (скучное корпоративное гуано и пр. B2B, как уже упомянули, вебсервисы) — надо хотя бы иметь евангелиста внутри компании, желательно быть не единственным из них.