Когда-то я вращался среди инженеров-прикладников, которые слегка недолюбливали ученых и научным подходом называли работу не на результат, а на процесс. Тот случай, когда кто-то работает, работает, и вот-вот уже будет результат. Ну совсем скоро, ну чуть-чуть, только дайте, пожалуйста, еще денег...
И я перенял это отношение, и пронес его через всю карьеру... но все же именно наука помогла мне стать тем, кто я есть сейчас
Вообще-то у меня много ролей, кроме отца семейства, но для простоты поговорим о том, как научный подход, в хорошем смысле этого слова, помогает инженеру-тестировщику.
В СССР одно время воспевали научный подвиг, даже физики (технари) с лириками (гуманитариями) стенка на стенку биться ходили, пока это не стало немодным. На благословенном Западе культивировали образ эксцентричного ученого-одиночки, иногда злобного гения, иногда - два в одном. И все это было далеко от правды.
На самом деле нет в науке ни гениальности, ни подвига, а есть рутина и железная задница.
Потому что главное в науке что? Правильно - эксперимент. И обработка результатов. Поэтому образы Исаака нашего Ньютона, который научился водку ртуть пить из стакана, и его современников в
«Ртути» Нила Стивенсона, неожиданно близки к истине. Там, например, Ньютон изучает, как глазодвигательные мышцы работают. На себе изучает. Слабонервным и за едой лучше не читать даже в переводе.
Так вот, в этом смысле работа инженера-тестировщика все равно что работа ученого.
План
Чтобы не нарушить, не расстроить,
Чтобы не разрушить, а построить,
Чтобы увеличиться, удвоить и утроить, -
Нужен очень точный план
Сначала определяем характеристики объекта: что мы, собственно, проверяем? Если внутренне устройство известно, будем тестировать белый ящик, если нет - тогда черный (без кошки в комплекте, хотя случаи бывают разные...).
Затем пишем план тестирования, обычно в виде таблички: действие, ожидаемый результат, фактический результат. И таких строчек должно быть по числу всех случаев, которые мы собираемся проверить.
Тестирование
Не теряйте, там-там-тирам,
Линию пунктира
Идем по тест-плану, выполняем каждое действие из списка и фиксируем результат. На самом деле это самая нудная и кропотливая часть работы. Потому что, как и в науке, результат, полученный единожды, может оказаться статистической погрешностью
Знайте, истина в том
Что повторено трижды подряд
То есть каждый тест повторяем не один, а хотя бы три раза, как та золотая рыбка.
Анализ
Если им не дать осуществиться,
Могут эти планы разозлиться
Проще всего, если результаты всех тестов соответствуют ожидаемым. Табличка, бывшая ранее тест-планом, пошла в отчет, всем спасибо, все свободны. А вот если нет...
И демонический смех за кадром.
Блоха? Ха-ха-ха-ха
Тогда нужно повторять тесты, но теперь уже для того, чтобы выяснить, при каких условиях воспроизводится именно неожидаемый результат. Иногда, но очень иногда, это бывает и ошибка самого тестировщика, который что-то упустил. Тем не менее, и этот случай нельзя упускать.
Но гораздо чаще это все-таки реальная проблема. И чем подробнее будут описаны шаги ее воспроизведения, тем проще будет тем, кто эту проблему будет чинить
Доктор, почему, когда я так делаю, мне больно?
И вот ведь какая штука: никакой высшей математики в ремесле тестировщика нет, а естественно-научный подход есть.
Физику, как говорится, не обманешь.