Детерминизм устанавливается в соответствии с определенными входами.
Была ли ваша база данных сброшена между повторными запусками? Возможно резервное копирование и восстановление базы данных в порядке, и ваши последующие тесты должны быть выполнены из свежих восстановлений базы данных. Если это работает, то вам нужно вернуться к проектной документации, чтобы определить, допустимо ли различаться в зависимости от входных данных базы данных.
Если проектный документ не допускает различного вывода в зависимости от входных данных базы данных, значит, ваша программа не соответствует спецификации.
Если ваша программа выдает разные выходные данные с той же базой данных, что и входные данные, то она, вероятно, где-то считывает время (возможно, для хранения временной метки), и в этом случае ее вообще нельзя считать 100% детерминированной.
В любом случае, вы, вероятно, имеете больше входных данных для алгоритма, чем отслеживаете, следовательно, неопределенность.