Ещё вопрос, что делать тестерам если все тесты пишут программисты? Тестеры не нужны?

Тестеры нужны. Тесты пишут и программисты и тестеры. Тестеры для своих нужд, к примеру, чтобы не тестировать какой-то сценарий в регрессии после каждой правки. Автоматизация рутины.

Программист тоже должен иметь возможность и доступ к написанию e2e тестов. Он пишет свои тесты, на свои сценарии. К этому можно относиться как к автоматизации рутины.

Владимир Романичев https://t.me/vladimirromanichev/29

Не соглашусь с этим утверждением. Я считаю, что тестировщики не нужны.

1. Тестировщики не нужны?

Да, тестировщики не нужны для покрытия кода тестами.

Ручные проверки зло. Автоматические проверки может написать программист.

Остаётся — правильно, ничего.

2. Если тестировщики не нужны, почему тогда везде есть тестировщики?

Это следствие низкого уровня подготовки программистов.

Чем слабее программист, тем хуже он пишет код, тем больше ошибок он делает, тем сильнее потребность в том чтобы кто-то за ним проверял.

Так как общий уровень подготовки программистов с каждым годом падает, то тестировщики с каждым годом становятся всё нужнее бизнесу.

Нужно как-то заставить работать этот код!

Обучать людей слишком сложно, проще нанять тестировщика который будет компенсировать недостаток умений, лень и невнимательность программиста.

3. Хорошо, допустим у нас отличные программисты, которые сами могут протестировать код, куда деть тестировщиков?

Тут мы можем вспомнить что тестировщиков сейчас можно именовать QA.

Quality Assurance — специалисты по контролю качества продукта. Вот пусть этим качеством и займутся.

Так как хорошие программисты уже могут выдать хороший код, то тестировщику на этом уровне делать нечего. Тестировщик выкинет код из головы и пойдëт на уровень выше, в проработку требований.

4. Проверка требований

Требования, поступившие от заказчика, должны пройти проверку от специалиста по качеству (QA, “тестировщика”) и именно он должен внести все уточнения о том, как система должна работать во всех предвидимых ситуациях.

После такой проверки и уточнения задачу можно отдать в разработку.

Так каждый будет заниматься своим делом и обеспечивать качество на своём уровне: QA будет отвечать за качественную постановку задачи, а программист за еë качественное исполнение.