X vs Y

Пост рожден обсуждением в Skype и мелькнувшей там ссылкой "Правила боя". Так сказать, собственное видение ситуации.
Рано или поздно каждая фирма и каждый пользователь встает перед выбором - какое программное обеспечение выбрать для своих целей? Естественно, возникает желание провести, так сказать, соревнование между разными программными продуктами. Я бы хотел сказать, почему это практически невозможно. Рассматривается вариант с широко распространяемым, то есть не написанным на заказ, программным обеспечением.

Для проведения нормального, объективного и, самое главное, легитимного, соревнования между 2 (или более) программными продуктами необходимо выполнить огромную предварительную работу. Для начала разработать саму систему тестов. Причем разрабатывать ее должна сторонняя организация, незаинтересованная в исходе спора (сразу вопрос - а кто ее финансировать будет?). Сами тесты должны быть "закрыты" от производителей ПО во избежание оптимизации кода программ на выполнение именно этих тестов. Плюс тесты (пока говорим только про тестирование технических возможностей ПО) должны меняться от соревнования к соревнованию. Представьте себе хотя бы примерный объем вложений - и интеллектуальных, и финансовых, и временных.
Суммы только этих затрат, я думаю, будут в несколько десятков раз превышать сумму приобретаемого ПО. И это самое начало пути - "концептуальная" разработка. Вопрос конкретной реализации я не рассматриваю, так как тут могут быть свои, сугубо специфические вопросы, в которых я не силен.
Следом пойдет так называемое "юзабилити", или, по-русски - удобство использования. Казалось бы, вещь субьективная до невозможности. Но и в ней можно вывести некоторые законы. Например, "длина пробега указателя от одной кнопки к другой"; "возможность пользовательской настройки интерфейса"; "единообразие хранения данных настроек"; "корректность и легкость распространения настроек" и т.п.
И в самом конце, уже имея концепцию тестирования, мы можем, казалось бы, приступать к тестированию. Как бы не так!
Необходимо выбрать тестировщиков (один человек не сможет оценить возможности нескольких программных продуктов в полной мере; для более-менее объективных выводов надо иметь группу не меньше чем 5..7 человек). Какие требования предъявляются к тестировщикам:
1. Они должны быть профессионалами в области применения ПО (если ПО ориентировано на изготовление металлических конструкций, "сажать" на тестирование геологов будет по меньшей мере бесполезно).
2. Они должны уже изначально обладать примерно одинаковым уровнем знаний и одного, и другого ПО. Пускай минимальным, но должны. Хотя бы для того, чтобы их не учить азам.
Хорошо, допустим, нам дико повезло: и тест заказан, разработан и получен, и тестировщиков нашли. Теперь надо выбрать какой-то объект, над которым тестировщики и будут "измываться". Естественное желание выбрать один объект и его тестировать в 2 разных продуктах, мне кажется, должно быть уничтожено. Сразу и беспощадно. Чисто психологически ПО, тестирование которого выполняется "вторым", скорее всего, будет проигрышным: есть уже с чем сравнивать. Именно по этой причине я говорил о коллективе тестеров: одной половине дается ПО фирмы А, второй - фирмы Б. Потом они меняются местами.
И объекты должны быть разными. Но при этом практически одинаковыми по сложности и насыщенности. Нельзя сравнивать проект фундаментного блока и составление ГИС города.
И вот только в случае, если в одной точке сойдутся все эти составляющие, да еще будет выделено время (измеряемое, скорее всего, неделями) на тестирование, в течение которого тестеры будут просто оторваны от работы, да еще и результат избежит подтасовок,- вот только тогда можно будет надеяться на объективность оценки.
---
P.S. Все это - сугубо личное мнение. Возможно, неверное и уж гарантированно непрофессиональное. Но, надеюсь, имеющее право на жизнь.

Размещено в Разное · Метки:



Комментарии

Есть 1 комментарий к “X vs Y”

Поделитесь своим мнением


Я не робот.