я наткнулся на подобных проблем, как это: Test driven development for signal processing librariesУстройства для обработки сигналов?
Тот факт, за проблемой является то, что выход обработки сигнала трудно быть полностью и качественно определены.
Таким образом, программа ввода ввода> запуска программы> проверка вывода не подходит для обработки сигналов.
Соответствует ли соответствие требованиям к характеристикам спецификациям, что ошибок нет? Конечно нет. Тогда, если это соответствует требованию, зачем беспокоиться? Потому что жуки будут кусаться, когда-нибудь они будут.
В конце концов, единственное возможное решение - сравнить результат с хорошо известным эквивалентом, как правило, с версией matlab или с некоторыми широко используемыми библиотеками.
У Matlab есть хорошая коллекция библиотек, и у нее есть контроль границ, управление памятью, и это двойная точность, поэтому сравнение с кодом Matlab позволяет вывести указатель из-за границы, переполнение стека и оценивать достаточную точность целых чисел, но это не дает ответа на вопрос, как «, что если MATLAB эквивалент сделал это неправильно, слишком?»
Я могу только сказать себе: попробуйте написать MATLAB эквивалент простой, так что близко к «так просто, что очевидно, нет ошибки «
В моей команде у меня есть программисты на разных уровнях мастерства, и мне нужна хотя бы какая-то мера для контроля/обеспечить качество кода.
Прошло более двух лет со времени последнего сообщения. У меня есть некоторые новые разработки в этой области.
Просьба поделиться со мной, как практикующими, вашими идеями и мнениями.
Спасибо за ввод. Дальнейший вопрос: правильно ли использовать спецификации в качестве утверждений? Например, используйте полосу пропускания, центральную частоту и затухание полосы пропускания в качестве утверждений модульного теста фильтра? Должно ли это быть тестом на тест производительности или приемочным испытанием, кроме единицы измерения? Должен ли модульный тест быть только о ошибках в реализации и не нацелен на поиск недостатков в алгоритме? Или сам алгоритм считается частью реализации, поэтому спецификации, определяющие его внешнее поведение, естественным образом образуют хороший набор тестовых утверждений? – user3528438
Конечно! Спецификации - это спецификации, и вы должны обязательно протестировать их. –