CC. Вздор – прервал его Кот, – здесь вполне хватит школьной программы.
Армигер застыл посредине комнаты. По его лицу было понятно, что он напряженно думает.
MH. Чу! Слышу! У него скрипят шестеренки!
H. Их необходимо срочно смазать.
Со зверским выражениям лица шляпник выхватил нож и подхватил масленку. Мартовский заяц протянул ему кусок батона. В два движения шляпник нанес масло на бутерброд, а заяц навалил сверху красной икры. Вдвоем они подбежали к оруженосцу, вручили бутерброд и кружку краснодарского чая и потащили к себе за стол.
MH. Королева сегодня сурова.
H. Что ты, королева – добрая душа. Я помню, три дня назад тут поймали японского шпиона…
Дружный хохот наполнил кухню. Новый год в команде начинался нормально.
Байка для оруженосца 4. Основной продукт процесса тестирования программного обеспечения
За окном цвели каштаны, а в столовой в самом разгаре было очередное безумное чаепитие. И в очередной раз оно из простого чаепития превращалось в заточку пилы.
– Опять тестирование, опять релиз на две недели позже, – Мартовский Заяц был как всегда нетерпелив.
– Но как же без тестирования? – удивился Армигер.
– Знаете, коллега, я в чем-то согласен с Мартовским. Выхлоп, в смысле числа обнаруженных багов, практически нулевой. Так что в данном случае паникеры и перестраховщики мешают бизнесу, – поддержал Зайца Безумный Шляпник. Это был обычный дружеский троллинг.
– Так мы проводим тестирование не для того, чтобы выявить дефекты, а для того, чтобы получить информацию о качестве. – И оруженосец с чувством процитировал: – Тестирование программного обеспечения – процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.
– Ты имеешь в ввиду статью в википедии. Да там ошибок больше, чем изюминок в праздничном кексе! – подключилась Королева – Кстати, в википедии могли бы и указать автора сего дивного заблуждения.
– Но это же кто-то из экспертов!
– Ну и что? Сам великий эксперт Аристотель заблуждался относительно характера движения тел, падающих на землю. – И Королева начала свой монолог.
– Как это ни печально, но люди, пишущие техническую литературу о разработке ПО, очень редко используют научный метод мышления. Они порой много говорят о вещах, совершенно необходимых нашей индустрии; и это всегда, как можно в том убедиться, весьма наивно и, по всей видимости, ошибочно. [1]
Производственные процессы могут производить как основные артефакты, так и вспомогательные. Например, в ходе процесса создания программного обеспечения может быть произведен такой артефакт, как стандарт кодирования. Этот самый стандарт кодирования вполне может быть самостоятельным продуктом поставки, и иногда за него можно получить с заказчика дополнительные деньги. Но мало кто будет утверждать, что основным артефактом процесса разработки является производство стандартов. Боюсь, владельцы софтверных компаний с этим утверждением будут не слишком согласны.
Теперь возьмем утверждение, что основным артефакт процесса тестирования является информация о качестве. Первый шаг, который должен сделать человек, мыслящий рационально, – это преобразовать утверждение в гипотезу. Гипотеза: «основным артефакт процесса тестирования является информация о качестве».
До тех пор, пока гипотеза не проходит критерий Поппера, она остается ненаучной. Здесь важно не путать научность и правильность. Гипотеза вполне может быть научной и ложной, научной и правильной, ненаучной и ложной, ненаучной и правильной.
Если мы стараемся мыслить рационально, то необходимо перевести гипотезу в разряд научной. А для этого нужно придумать фальсифицирующий эксперимент. Например, «Если, имея информацию о качестве, проект нельзя успешно завершить, то гипотеза признается ложной».