Как с приемлемой надежностью протестировать программный код, реализующий генетический алгоритм?
Имеется приложение, разработанное индивидуально только мной, реализующее генетический алгоритм. Результат работы получается случайным в силу самого алгоритма. Можно проверить только, что он не исказил исходные данные. Приложение компонует упаковку (набор коробок, помещаемых в ящик) и результат компоновки можно увидеть в CAD-системе SolidWorks. Приложение реализовано в виде консольной программы C++, содержащей несколько классов с методами и структур. Визуализация компоновки в SolidWorks реализована с помощью другого приложения, которое не нуждается в тестировании. Разработка велась в Visual Studio 2022.
Существует ли какая-нибудь общая методология для тестирования такого рода приложений, доступная для непрофессионала в области программирования? Может есть конкретный пакет для Visual Studio, реализующий функциональность тестирования. Хотелось бы убедиться с приемлемым уровнем надежности, что алгоритм работает безошибочно. Насколько приемлем уровень - сказать сложно. Мне достаточно для ответа узнать только инструмент/фреймворк/метод, подходящий для этой задачи.
Ответы (1 шт):
По идее, у вас типичный "черный ящик". На входе аргументы, на выходе компоновки.
Как его протестировать? Как и всякий другой черный ящик - подавайте на вход значения и проверяйте что результаты соответствуют ожиданиям. Какие у вас ожидания и что такое "приемлемая надежность" - это придется формализовать только вам ...