Добрый день!
Есть интересная задачка, буду рад советам.
Дано:
Есть некое количество К вариаторов (конфигурационный параметры, в основном бинарные), и есть набор неких сущностей (items) которые выбираются/отфильтровываются, в зависимости от значений этих вариаторов. За выборку/фильтрацию отвечает некий фреймворк.
Надо:
1. Узнать полный набор айтемов, которые зависят от значения каждого конкретного конфигурационного параметра.
2. Меняется фреймфорк. Нужно удостовериться, что при переходе на новый фреймворк наборы айтемов не изменились.
Дополнительная информация:
а) количество вариантов при старом фреймворке - 48, при новом - 144. Кое-чего поменялось, но суть осталась та же :)
б) на самом деле, при переходе на новый фреймворк один аспект, ранее задававшийся как значение true/false, стал более разветвленный (три варианта, взамен двух) и появился еще один параметр, порождающий новые конфигурации.
в) технически получить списки выбраных айтемов из наборов дело нехитрое - и автоматизируется и прогоняется достаточно быстро. В этом сложности нет.
А теперь, внимание, вопрос. У меня есть все данные - список ID айтемов, для каждой конфигурации, как старой так и новой.
Вопрос (попроще): Как решить обе поставленые задачи, да еще простым способом (без заталкивания данных в какие-нибудь БД)?
Вопрос (посложнее) Как визуализировать информацию и дать заинтересованным людям возможность сравнивать те или иные наборы (опять же попроще, без поднятия веб-серверов и придумывания форм для сравнения)?
Визуализация результатов конфигурационного тестированию
Автор LeshaL, 19 ноя 2009 07:35
В теме одно сообщение
#2
Отправлено 28 ноября 2009 - 21:46
А вот посоветую :-)
В целом можно предположить, что мы имеем дело с матрицей.
Путь по строкам будут айтемы, в колонках конфигурации.
Если данный айтем для данной конфигурации выбран, то пишем 1, иначе пишем 0.
Скорее всего количество вариаторов невелико.
Создаем для каждого страничку в экселе.
Берем первый вариатор, для определенности бинарный.
Фиксируем его как 0 и варируем остальные параметры.
Получаем 24 (72 колонки). Потом его фиксируем его в 1 и еще 24 (72) колонки. Самое важное, что остальные параметры варируются в строгом порядке.
Что значит айтем не зависит от параметра? его векторы в левой и правой частях таблицы совпадают.
Значит нам потребуется еще 24(72) колонки, в которой мы сравним 2 вектора для каждого айтема.
Бинарные векторы сравниваем по XOR. Если во всех ячейках это сравнительной таблички 0, то значит вектор не зависит от вариатора.
Еще одна результирующая колонка - сумма ячеек сравнительной таблички, 0 - не зависит, больше 0 - зависит.
Для 3-х значений нужна сравнительная матрица на 16 (48) колонок.
Вектора сравниваются сложением 3-х соотв. ячеек и берем остаток от деления на 3. Если сумма по 16 (48) ячейкам 0, то значит айтем не зависит.
Таким образом для кажого вариатора мы имеем колонку с его зависимостями.
Т.е. добавляем к оригинальной матрице по айтемам и конфигурациям K колонок, в ячеки копирем результирующие колонки из табличек.
Поняв алгоритм, можно просто вписать нужные формулы в K колонок на одной страничке экселя.
Правда в каждой формуле будут фигурировать значения 48 (144) ячеек оригинальной матрицы.
Надеюсь, что понятно изложил :-)
В целом можно предположить, что мы имеем дело с матрицей.
Путь по строкам будут айтемы, в колонках конфигурации.
Если данный айтем для данной конфигурации выбран, то пишем 1, иначе пишем 0.
Скорее всего количество вариаторов невелико.
Создаем для каждого страничку в экселе.
Берем первый вариатор, для определенности бинарный.
Фиксируем его как 0 и варируем остальные параметры.
Получаем 24 (72 колонки). Потом его фиксируем его в 1 и еще 24 (72) колонки. Самое важное, что остальные параметры варируются в строгом порядке.
Что значит айтем не зависит от параметра? его векторы в левой и правой частях таблицы совпадают.
Значит нам потребуется еще 24(72) колонки, в которой мы сравним 2 вектора для каждого айтема.
Бинарные векторы сравниваем по XOR. Если во всех ячейках это сравнительной таблички 0, то значит вектор не зависит от вариатора.
Еще одна результирующая колонка - сумма ячеек сравнительной таблички, 0 - не зависит, больше 0 - зависит.
Для 3-х значений нужна сравнительная матрица на 16 (48) колонок.
Вектора сравниваются сложением 3-х соотв. ячеек и берем остаток от деления на 3. Если сумма по 16 (48) ячейкам 0, то значит айтем не зависит.
Таким образом для кажого вариатора мы имеем колонку с его зависимостями.
Т.е. добавляем к оригинальной матрице по айтемам и конфигурациям K колонок, в ячеки копирем результирующие колонки из табличек.
Поняв алгоритм, можно просто вписать нужные формулы в K колонок на одной страничке экселя.
Правда в каждой формуле будут фигурировать значения 48 (144) ячеек оригинальной матрицы.
Надеюсь, что понятно изложил :-)
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных