среда, 2 февраля 2011 г.

40 и 90

Как и многие до меня, однажды я задумался о звучании чисел 40 и 90 в русском языке. Почему они - "сорок" и "девяносто", а не "четыредесять" и "девятьдесять"? В том же английском языке все честно: forty и ninety. И у нас вроде бы должно быть так же, если сравнивать с другими числами: "пятьдесят", "семьдесят". Что не так с этими двумя?

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

40. В христианстве вообще и православии в частности число 40 играет заметную роль - начиная с потопа, длившегося сорок суток, и заканчивая Христом, проповедовавшим сорок месяцев. Православие, как известно, пришло на Русь из Византии, и долгое время службы велись на греческом языке. Оттуда и позаимствовалось звучание числа "четыредесять", и вытеснило постепенно родной вариант.

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

Впрочем, речь не о числах, интересно другое. Замеченная "странность мира" (нелогичные названия чисел) позволила по-новому взглянуть на числа и связь их названий с историей страны. То есть, заметив странное и покопав в этом направлении, я узнал что-то новое.

Странности мира - отличный источник знаний о мире. 

Дефекты продукта - отличный источник знаний о продукте. 

Есть куча других, более официальных, что ли, источников информации о продукте. Требования и спецификации, диаграммы и собственно код; много всего интересного, что можно изучать, анализировать и сравнивать друг с другом и действительностью. Однако, это все, в том или ином смысле, - документы. А обнаруженный дефект - он живой и светится. Особенно когда дефект нетривиальный, вызывающий искреннее изумление. Код не все станут читать; требования расскажут, что мы хотим сделать, но не расскажут как. Зато дефект наглядно продемонстрирует неожиданные выверты внутренней логики приложения. Или - не очень наглядно. Но появится повод поинтересоваться, а чего оно вообще так себя ведет

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

С опытом, конечно, знаний о продукте становится больше, и, соответственно, удивительного поведения - меньше. Привычка - страшное дело. Хотя если порой суметь посмотреть на давно привычное непредвзято, можно опять же узнать что-то новое. Наверное, это будет не такое открытие, как в случае искреннего изумления, скорее - интересный дополнительный нюанс, дополняющий общую картину. Но тоже полезно.

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

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

Отчасти поэтому и нужны тестировщики - они смотрят на продукт по-своему.

В жизни, в отличие от разработки ПО, не всегда можно поймать "разработчика" за руку; порой отдельного автора у той или иной странности мира просто нет. Но все равно различные "дефекты" окружающей среды помогают узнать что-то новое об этой самой среде. И, кстати, тенденция та же: чем дальше в лес, тем реже чистое изумление, зато больше нюансов. 

Все это, безусловно, не значит, что школа и спецификации не нужны. Очень нужны, и даже зачастую интересны. Но они все же навязывают готовое решение. А найденный дефект дает шанс совершить собственное открытие. Может за это мы и любим тестирование.

Удачи вам, удивительных дефектов и интересных открытий.

3 комментария:

  1. Великолепно!

    Я проникся этой мыслью, медитирую над ней: "Странности мира - отличный источник знаний о мире"

    ОтветитьУдалить
  2. >А почему в английском eleven и twelve?
    хех. Тут с родным русским бы разобраться, не то что с басурманским английским. :)
    Насчет eleven ничего предположить не могу, а twelve скорее всего растет оттуда же, откуда и Mark Twain («mark twain», «by the mark twain» дословно — «метка две [сажени]»; http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D0%BA_%D0%A2%D0%B2%D0%B5%D0%BD).

    ОтветитьУдалить