Санитарная проверка - Sanity check
А тест на вменяемость или же санитарная проверка - это базовый тест, позволяющий быстро оценить, насколько верно утверждение или результат расчета. Это простая проверка, чтобы увидеть, является ли произведенный материал рациональным (что создатель материала мыслил рационально, применяя здравомыслие ). Смысл проверки работоспособности состоит в том, чтобы исключить определенные классы заведомо ложных результатов, а не уловить все возможные ошибки. А практическое правило или же обратный расчет могут быть проверены для выполнения теста. Преимущество выполнения начального теста на вменяемость заключается в быстрой оценке основной функции.
В арифметике, например, при умножении на 9, используя правило делимости для 9, чтобы убедиться, что сумма цифр результата делится на 9 - проверка на вменяемость - он не поймает каждый ошибка умножения, однако это быстрый и простой способ обнаружить много возможные ошибки.
В Информатика, а тест на вменяемость это очень краткое описание функциональности компьютерная программа, системный, расчетный или другой анализ, чтобы гарантировать, что часть системы или методологии работает примерно так, как ожидалось. Часто это предшествует более исчерпывающему раунду тестирования.
Математическая
Тест на вменяемость может относиться к различным порядки величины и другие простые практическое правило устройства, применяемые для перекрестной проверки математический расчеты. Например:
- Если бы кто-то попытался квадрат 738 и вычислено 54 464, быстрая проверка работоспособности может показать, что этот результат не может быть правдой. Считают, что 700 < 738, пока что 7002 = 72 × 1002 = 490,000 > 54,464. Поскольку возведение натуральных чисел в квадрат сохраняет их неравенство, результат не может быть истинным, поэтому вычисленный результат неверен. Правильный ответ, 7382 = 544,644, более чем в 10 раз превышает 54 464 человека.
- В умножении, 918 × 155 не 142 135, так как 918 делится на три, а 142 135 - нет (цифры в сумме дают 16, а не кратно трем ). Кроме того, продукт должен заканчиваться той же цифрой, что и произведение конечных цифр: 8 × 5 = 40, но 142 135 не заканчивается на «0», как «40», в то время как правильный ответ: 918 × 155 = 142,290. Еще более быстрая проверка состоит в том, что произведение четных и нечетных чисел является четным, а 142 135 - нечетным.
Физический
- В мощность выход машина не может быть 700 кДж, поскольку блок джоули это мера энергия, а не мощность (энергия в единицу времени). Это базовое приложение размерный анализ.
- При определении физические свойства сравнение с известными или похожими веществами часто дает представление о том, является ли результат разумным. Например, большинство металлов тонут в воде, поэтому плотность большинства металлов должно быть больше, чем вода (~1000 кг / м3).
- Оценки Ферми часто дает представление о порядок величины ожидаемого значения.
Разработка программного обеспечения
В разработке программного обеспечения тест на работоспособность (форма тестирование программного обеспечения который предлагает "быстрое, широкое и поверхностное тестирование"[1]) оценивает результат подмножества функциональных возможностей приложения, чтобы определить, возможно ли и целесообразно продолжить дальнейшее тестирование всего приложения.[2] Иногда тесты на вменяемость могут использоваться как взаимозаменяемые дымовые испытания[3] поскольку оба термина обозначают тесты, которые определяют, возможный и разумный чтобы продолжить тестирование дальше. С другой стороны, иногда делается различие, что дымовой тест - это неисчерпывающий тест, который устанавливает, работают ли наиболее важные функции программы, прежде чем приступить к дальнейшему тестированию, тогда как тест на работоспособность относится к определенным функциям, таким как конкретная ошибка fix работает, как ожидалось, без тестирования более широкой функциональности программного обеспечения.[4] Другими словами, тест на работоспособность определяет, правильно ли работает предполагаемый результат изменения кода, в то время как дымовой тест гарантирует, что в процессе ничего важного не было нарушено. Тестирование работоспособности и дымовое тестирование позволяют избежать потери времени и усилий, быстро определяя, является ли приложение слишком некорректным, чтобы заслужить более строгие меры. QA тестирование, но требуется больше разработчиков отладка.
Группы тестов на работоспособность часто объединяются для автоматическое модульное тестирование функций, библиотек или приложений до слияние код разработки в тестирование или хобот управление версиями ответвляться,[5] за автоматизированное здание,[6] или для непрерывная интеграция и непрерывное развертывание.[7]
Другое распространенное использование тест на вменяемость означает проверки, которые выполняются в программный код, обычно для аргументов функций или возвращаемых из них, чтобы проверить, можно ли считать ответы правильными. Чем сложнее процедура, тем важнее проверить ее реакцию. Тривиальный случай - проверить, есть ли возвращаемое значение функции указывает на успех или сбой и, следовательно, прекращает дальнейшую обработку в случае сбоя. Это возвращаемое значение часто является результатом проверки работоспособности. Например, если функция попыталась открыть, записать в файл и закрыть файл, можно использовать проверку работоспособности, чтобы убедиться, что ни одно из этих действий не завершилось ошибкой, - это проверка работоспособности, которую программисты часто игнорируют.[8]
Эти виды проверок работоспособности могут использоваться во время разработки для целей отладки, а также для помощи в исправление проблем программного обеспечения ошибки времени выполнения. Например, в приложении для управления банковским счетом проверка работоспособности не удастся, если для вывода требуется больше денег, чем общий баланс счета, вместо того, чтобы позволить счету стать отрицательным (что было бы неразумно). Другой тест на работоспособность может заключаться в том, что депозиты или покупки соответствуют шаблонам, установленным на основе исторических данных - например, крупные транзакции покупок или снятие средств в банкоматах в зарубежных местах, никогда ранее не посещаемых держателем карты, могут быть отмечены для подтверждения.
Проверки работоспособности также выполняются при установке стабильный, производственный программный код в новые вычисления среда чтобы все зависимости встречаются, например, совместимый Операционная система и связь библиотеки. Когда вычислительная среда прошла все проверки на работоспособность, она считается нормальной средой, в которой программа установки может продолжить работу с разумными ожиданиями успеха.
А "Привет, мир!" программа часто используется как тест на вменяемость среда разработки аналогичным образом. Если эта простая программа не может быть скомпилирована или выполнена, вместо сложного сценария, запускающего набор модульных тестов, это доказывает, что поддерживающая среда, вероятно, имеет проблему конфигурации, которая предотвратит любой код от компиляции или выполнения. Но если "Hello world" выполняется, то любые проблемы, возникающие с другими программами, вероятно, могут быть связаны с ошибками в коде этого приложения, а не в среде.
Смотрите также
- Доказательство концепции
- Расчет на обратной стороне конверта
- Тестирование программного обеспечения
- Мысленный расчет
- Порядок величины
- Проблема Ферми
- Контрольная сумма
- Алгоритм сертификации
Рекомендации
- ^ Fecko, Mariusz A .; Лотт, Кристофер М. (октябрь 2002 г.). «Уроки, извлеченные из автоматизации тестов для системы поддержки операций» (PDF). Программное обеспечение - практика и опыт. 32 (15): 1485–1506. Дои:10.1002 / spe.491. S2CID 16820529. Архивировано из оригинал (PDF) 17 июля 2003 г.
- ^ Самми, Рабиа; Масуд, Ирам; Джабин, Шунаила (2011). Заин, Ясни Мохамад; Ван Мохд, Ван Масери bt; Эль-Кавасме, Эйас (ред.). «Структура для обеспечения качества процесса проверки на предмет вменяемости». Программная инженерия и компьютерные системы. Коммуникации в компьютерных и информационных науках. Берлин, Гейдельберг: Springer. 181: 143–150. Дои:10.1007/978-3-642-22203-0_13. ISBN 978-3-642-22203-0.
- ^ ISTQB® Glossary for the International Software Testing Qualification Board® квалификационная схема тестирования программного обеспечения, Глоссарий ISTQB Международная квалификационная комиссия по тестированию программного обеспечения
- ^ https://www.ijert.org/research/software-testing-smoke-and-sanity-IJERTV2IS100323.pdf
- ^ http://webhotel4.ruc.dk/~nielsj/research/publications/freebsd.pdf
- ^ Хасан, А. Э. и Чжан, К. 2006. Использование деревьев решений для прогнозирования результатов сертификации сборки. В Материалы 21-й международной конференции IEEE / ACM по автоматизированной разработке программного обеспечения (18 - 22 сентября 2006 г.). Автоматизированная разработка программного обеспечения. Компьютерное общество IEEE, Вашингтон, округ Колумбия, 189–198.
- ^ http://jitm.ubalt.edu/XXIX-2/article4.pdf
- ^ Дарвин, Ян Ф. (январь 1991 г.). Проверка программ на C с помощью lint (1-е изд., С небольшими исправлениями. Ред.). Ньютон, Массачусетс: O'Reilly & Associates. п. 19. ISBN 0-937175-30-7. Получено 7 октября 2014.
Распространенная привычка программирования - игнорировать возвращаемое значение из fprintf (stderr, ...