# Тестеры - лучшие друзья программистов

(В оригинале - News of the Weird: Testers Are Your Friends)

Хотя они сами называют себя Quality Assurance, очень часто программисты называют их источником проблем. Мой опыт показывает, что очень часто между программистами и тестерами наблюдаются отношения противостояния. «Они слишком требовательны» и «Они хотят совершенства везде» - наиболее частые претензии к тестерам. Знакомо?

Я не знаю точно, почему, но у меня полностью противоположное отношение к тестерам. Возможно, потому что моим первым тестером на моей первой работе была секретарша компании. Маргарет была приятной женщиной, поддерживающей работу всего офиса и старавшейся обучить пару молодых программистов правилам поведения с заказчиками. У нее также был дар находить самые невероятные ошибки в программах.

Тогда мне пришлось работать над программой, написанной бухгалтером, считавшим себя программистом. Вы уже поняли, что проблем там было очень много. И каждый раз, когда я думал, что я что-то исправил, Маргарет пыталась это использовать, и практически всегда у нее все рушилось – каждый раз она находила новое сочетание клавиш и действий для этого. Иногда это раздражало, но она была столь приятным человеком, что я никогда не осуждала ее за то, что она выставляет меня с не самой лучшей стороны. И вот настал день, когда Маргарет смогла запустить программу, ввести платежку, распечатать и выйти из нее. Более того, когда мы начали устанавливать программу заказчикам, она всегда работала и там! У них не возникало никаких проблем, потому что Маргарет помогла мне найти их все и исправить.

Вот почему тестеры – это ваши друзья. Вам может показаться, что тестеры выставляют вас в не очень приглядном свете, заявляя порой о банальных ошибках. Но когда клиенты в восторге от того, что им не мешают все те «мелочи», которые для вас обнаружил ваш контроль качества, то вы чувствуете себя молодцом. Вы поняли идею?

Представьте: вы тестируете утилиту, использующую «невероятный алгоритм искусственного интеллекта» для поиска проблем мультизадачности. Вы запускаете ее и краем глаза замечаете, что на заставке в слове «интеллекта» - опечатка. Упс, сразу же где-то глубоко в вас зарождаются сомнения. Хотя это всего лишь опечатка, не так ли? А потом вы обнаруживаете, что там, где должны быть радио-кнопки, почему-то стоят чекбоксы, а указанные сочетания клавиш не работают так, как указано. Ни один из этих багов не является чем-то критичным, но по мере их накопления вы все больше и больше сомневаетесь в качестве этого ПО. Если они не могут обнаружить и исправить такие мелочи, то что уж говорить про искусственный интеллект и поиск сложных проблем в многозадачных системах?

Да, они могут быть гениями, столь увлеченными искусственным интеллектом, что на такие мелочи просто не обращают внимания. И без требовательных тестеров, способных указать на такие проблемы, вы сталкиваетесь с этими проблемами в ходе работы, а в результате начинаете сомневаться в компетентности программистов.

Поэтому как бы странно это не звучало, именно те тестеры, которые находят каждую мелочь в вашем коде, являются вашими друзьями.

Автор оригинала - [Burk Hufnagel](http://programmer.97things.oreilly.com/wiki/index.php/BurkHufnagel)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/ru/thing_79.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
