@Halfmast

Должен ли разработчик заниматься ручным тестированием?

Не совсем корректный вопрос. Скажем, программист пишет код, проверяет его вручную на каких нибудь тестовых данных, пишет к коду тесты. С его точки зрения, как ему кажется, он выполнил тестирование и его код должен работать, но он не совсем уверен, потому что он мог что то пропустить(человеческий фактор).
При этом извне никто код не проверяет вручную, только код ревью без поиска багов. Код улетает сразу в продакшн.
Вся ответственность лежит на разработчике, поэтому если что то сломается, то к нему бегут и спрашивают, мол почему не работает, ведь ты же тестировал, написал тесты и ты все таки автор кода. Если честно, даже ответить особо нечего, потому что кроме как просто пропустил какую то деталь или не проверил сценарий на других тестовых данных, ничего на ум не приходит.
Тестировщика в компании нет.
Иногда за такие косяки могут влепить штраф.
  • Вопрос задан
  • 480 просмотров
Пригласить эксперта
Ответы на вопрос 11
@rustler2000
погромист сикраш
>Иногда за такие косяки могут влепить штраф.

Беги оттуда!!!

Баги будут всегда - если начальство ожидает от тебя 0 багов, или снижает ЗП (при этом сами скорее всего не имеют даже definiton of done, жлобят на тест инженера), то ничего хорошего там не будет.
Ответ написан
Tyranron
@Tyranron
Поставьте себя на место заказчика и смените область, к примеру, на создание автомобиля. Вы заказываете у мастера автомобиль ручной сборки. Он его собирает, проверяет заводится он или нет, и отдаём Вам в пользование. Вы садитесь в автомобиль, выезжаете на любимый автобан и даёте жару в 100 км/час. На 101 км/час у Вас отваливаются передние колёса. Приятная ситуация? А ведь мастер "просто собрал машину".

Если смотреть на бизнес по-взрослому, то всё просто:
  • Есть Заказчик. У него стоит задача создать Продукт, с помощью которого он бы зарабатывал деньги (ну или другая цель, не суть).
  • Есть Исполнитель (разработчик или команда разработчиков). Исполнитель обязуется за обусловленный Гонорар создать и поддерживать Продукт, который бы отвечал критериям качества Заказчика.
  • Если Исполнитель делает Продукт не соответствующий критериям качества Заказчика, значит он не выполняет условия Договора.
  • Если Заказчик не выплачивает Гонорар в должном объеме и вовремя, или требует чего-то не обусловленного в рамках Договора, значит он не выполняет условия Договора, а то и нарушает.
  • И Исполнитель и Заказчик должны понимать, что они создают Продукт, и должным образом очертить в рамках Договора критерии к созданию/поддержке этого Продукта. Дабы однозначность этого вопроса была явная и юридическая.


Всё остальное - лирика.

Если Ваша команда (как Исполнитель) не обладает штатом тестировщиков, то соответствующие обязанности по обеспечению качества Продукта Вы должны осознанно брать на себя. Нет никаких "разработчик просто пишет код". Есть "разработчик создаёт Продукт". Команда разработки обязуется согласно Договору создать Продукт ожидаемого качества и всё. Как это качество обеспечивается - вопрос уже второстепенный и зависит от состава команды, существующих технических средств, да и самого Продукта как такового (много каверзных кейсов не поддаются вменяемой автоматизации). Соответственно, бюджет на обеспечение качество Продукта должен закладывать в любом случае, независимо от того есть ли тестировщик или нет.
Ответ написан
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Зависит от размера организации. В небольших компаниях это практически норма
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
Тестировщика в компании нет.

это маркер, не стоит там работать

в целом прогер да - должен уметь писать грамотные тесты ( тут и подвох, не все умеют на самом деле), ибо потом они в CI и проч., цикл разработки, короч

но если нет тестировщика - лучше там не работать, необходимость доказана от ПМов до психологов
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Если работодатель платит вам за выполнение определенной работы то вы должны ее выполнять.
Не нравится - уходите туда где есть тестировщики.
На самом деле от ошибок не спасают и выделенные тестировщики, хотя, конечно, вероятность ошибки падает.

PS: работал в свое время в организации, которая в своем продакшене по факту тестировала официально купленное не дешевое ПО с поддержкой. Хорошо хоть разрабы работали практически в он-лайне и была с ними прямая связь. Багов хватало, в т.ч. достаточно серьезных.
Ответ написан
Комментировать
Ну найди человека, который сможет протестировать твою программу. Да, сложно правильно протестировать, т.к ты понимаешь что и как нужно делать, чтобы программа верно выполнила те или иные действия.
Ответ написан
Комментировать
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
Должен ли разработчик заниматься ручным тестированием

К примеру я слишком ленив для этого. Новый функционал просто покрывается тестами, и отправляется в ветку для разработки. Cистема CI при изменениях в ветке для разработки автоматически прогоняет линтер, прогоняет тесты, иногда прогоняет тест coverage. Если тесты отрабатывают успешно - значит внедренный функционал считается условно рабочим, и автоматически отправляется уже на тестовый инстанс чтобы заказчик оттестировал.
Если все ок - вливаете ветку для разработки в главную ветку, и та же система CI вкатывает ее на продакшен.
Если все сделаете правильно - то риск возникновения ошибок на продакшене - минимален...
Ответ написан
Комментировать
@evgeniy_lm
Должен ли разработчик заниматься ручным тестированием?

Разработчик должен заниматься всем, что прописано в договоре.

ЗЫ. Не факт, что подобная фигня будет прописана в договоре буквально в виде пункта. Там может быть записано что разработчик обязан предоставить работающее ПО, при этом отдельный тестеровщик не предусматривается.
ЗЫ ЗЫ. Предусмотреть всего невозможно по этому все тесты оговариваются заранее и включаются в ТЗ. Если возникла нештатная ситуация то это уже проблема заказчика (работодателя)
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
С его точки зрения, как ему кажется, он выполнил тестирование и его код должен работать, но он не совсем уверен, потому что он мог что то пропустить(человеческий фактор).


Вот такие "С его точки зрения, как ему кажется, он выполнил тестирование и его код должен работать" - это снятие ответственности с себя. Каждый разработчик обязан руками проверить свои изменения, и, так же, проверить все смежные модули, которые затрагивались в рамках задачи. И неважно, есть integration/e2e тесты, или нет.
Ответ написан
@vitaly_il1
DevOps Consulting
пишет к коду тесты.

Если начальство понимает, что это необходимо и дает на это время - все прекрасно!
Учитесь писать тесты, прогонять их автоматически.
Ответ написан
Комментировать
@nApoBo3
Разработчик должен то, что прописано в договоре и должностной инструкции которые он подписал. Если написано про тестирование и штрафы, значит да. Вопрос только в том, зачем при текущем состоянии рынка, разработчик на такие условия подписываеться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы