Что касается покрытия, у меня есть набор переменных времени выполнения из моей программы. Бывает, что я получаю его из серии казней (автоматическое тестирование). то есть. его vector<vector<var,value>>
Я имею ограниченный набор переменных с ожидаемыми значениями и генерирую комбинацию s, то есть у меня есть vector<vector<var,value>(smaller than the execution vector)>
. Теперь мне нужно сравнить и сказать, какая из сгенерированных мной комбинаций была точно выполнена в одном из тестов.
Мой алгоритм O (n ^ 4). Есть ли способ обуздать это? Что-то вроде пересечения множества. Я использую Java и векторы из-за безопасности потоков.
Eloboration: в моей программе очень большой набор переменных. Мне все равно. Все, что меня волнует, - это набор переменных со значениями, которые я знаю о них (значения Edge и значения, заданные разработчиком). Что я делаю, так это генерирую набор комбинаций для этих переменных со значениями, которые, я думаю, могут иметь смысл, поскольку после автоматического теста будет полезно сказать, что эти комбинации были исключены, а некоторые - нет.
Поскольку тест автоматизирован, у меня есть серия (<20) выполнений со всеми переменными и значениями в DS, которые я дал в вопросе. Моя проблема заключается в сравнении небольшого набора комбинаций с большим набором. Хэш может работать, если нет. переменных одинаковы, я полагаю. Мой алгоритм - грубая сила </p>