Проверка работоспособности
Проверка работоспособности или тест на работоспособность — это базовый тест, позволяющий быстро оценить, может ли утверждение или результат расчета быть правдивым. Это простая проверка того, является ли произведенный материал рациональным (что создатель материала мыслил рационально, применяя здравомыслие ). Цель проверки работоспособности — исключить определенные классы заведомо ложных результатов, а не выявить все возможные ошибки. или эмпирическое правило приблизительный расчет Для проведения теста можно использовать . Преимущество проведения первоначального теста на вменяемость заключается в быстрой оценке основных функций.
Например, в арифметике при умножении на 9 использование правила делимости на 9 для проверки того, что сумма цифр результата делится на 9, является проверкой здравомыслия: она не выявляет каждую ошибку умножения, но является быстрым и простым методом. метод обнаружения множества возможных ошибок.
В информатике тест на работоспособность — это очень краткая проверка функциональности компьютерной программы , системы, вычислений или другого анализа, чтобы убедиться, что часть системы или методологии работает примерно так, как ожидалось. Часто это происходит перед более тщательным тестированием.
Использование в разных областях [ править ]
Математический [ править ]
Тест на здравомыслие может относиться к различным порядкам величин и другим простым практическим методам, применяемым для перекрестной проверки математических расчетов . Например:
- Если бы кто-то попытался возвести в квадрат 738 и вычислить 54 464, быстрая проверка здравомыслия могла бы показать, что этот результат не может быть правдой. Учтите, что 700 < 738, но 700 2 = 7 2 × 100 2 = 490 000 > 54 464. Поскольку возведение в квадрат положительных целых чисел сохраняет их неравенство , результат не может быть истинным, и поэтому вычисленный результат неверен. Правильный ответ: 738. 2 = 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 кг/м2). 3 ).
- Оценки Ферми часто дают представление о порядке величины ожидаемого значения.
Разработка программного обеспечения [ править ]
В разработке программного обеспечения — тест на работоспособность (форма тестирования программного обеспечения , которая предлагает «быстрое, широкое и поверхностное тестирование»). [1] ) оценивает результат подмножества функциональных возможностей приложения, чтобы определить, возможно ли и целесообразно ли приступить к дальнейшему тестированию всего приложения. [2] Тесты на работоспособность иногда могут использоваться взаимозаменяемо с дымовыми тестами. [3] поскольку оба термина обозначают тесты, которые определяют, возможно ли и целесообразно ли продолжать тестирование дальше. С другой стороны, иногда делают различие: дымовой тест — это неисчерпывающий тест, который проверяет, работают ли наиболее важные функции программы, прежде чем приступить к дальнейшему тестированию, тогда как тест на работоспособность относится к тому, являются ли определенные функции, такие как конкретная ошибка, fix работает как положено, без тестирования более широкой функциональности программного обеспечения. [ нужна ссылка ] Другими словами, тест на работоспособность определяет, правильно ли работает предполагаемый результат изменения кода, а дым-тест гарантирует, что в процессе не было нарушено ничего важного. Тестирование работоспособности и дымовое тестирование позволяют избежать напрасной траты времени и усилий, быстро определяя, является ли приложение слишком ошибочным, чтобы заслуживать более тщательного тестирования качества , но требует дополнительной отладки разработчиком .
Группы тестов работоспособности часто объединяются для автоматического модульного тестирования функций, библиотек или приложений перед объединением кода разработки в тестирования или магистральной ветки контроля версий ветку . [4] для автоматизированного здания , [5] или для непрерывной интеграции и непрерывного развертывания . [6]
Другое распространенное использование теста на работоспособность — это обозначение проверок, которые выполняются в программном коде, обычно над аргументами функций или возвращаемыми из них значениями, чтобы увидеть, можно ли считать ответы правильными. Чем сложнее программа, тем важнее проверить ее реакцию. Тривиальный случай — проверить, указывает ли возвращаемое значение функции на успех или неудачу, и, следовательно, прекратить дальнейшую обработку в случае неудачи. Это возвращаемое значение на самом деле часто само по себе является результатом проверки работоспособности. Например, если функция попыталась открыть файл, записать в него и закрыть его, можно использовать проверку работоспособности, чтобы гарантировать, что ни одно из этих действий не привело к сбою — эта проверка работоспособности часто игнорируется программистами. [7]
Подобные проверки работоспособности могут использоваться во время разработки в целях отладки, а также для устранения программного обеспечения ошибок во время выполнения . Например, в приложении для управления банковским счетом проверка работоспособности завершится неудачей, если при снятии средств потребуется больше денег, чем общий баланс счета, вместо того, чтобы позволить счету стать отрицательным (что было бы неразумно). Другой тест на здравомыслие может заключаться в том, что депозиты или покупки соответствуют закономерностям, установленным историческими данными — например, крупные транзакции покупок или снятие наличных в банкоматах в зарубежных местах, которые владелец карты никогда раньше не посещал, могут быть помечены для подтверждения. [ нужна ссылка ]
Проверки работоспособности также выполняются после установки стабильного производственного кода программного обеспечения в новую вычислительную среду, чтобы гарантировать соблюдение всех зависимостей , таких как совместимая операционная система и ссылок библиотеки . Когда компьютерная среда прошла все проверки работоспособности, она считается работоспособной средой, в которой программа установки может продолжить работу с разумными ожиданиями успеха.
« Привет, мир!» Программа также часто используется в качестве проверки работоспособности среды разработки . Если эта простая программа не скомпилируется или не выполнится, а не будет сложным сценарием, выполняющим набор модульных тестов, это докажет, что в поддерживающей среде, вероятно, есть проблема с конфигурацией, которая не позволит любому коду компилироваться или выполняться. Но если «Hello world» выполняется, то любые проблемы, возникающие в других программах, скорее всего, могут быть связаны с ошибками в коде этого приложения, а не в среде.
Ассоциация вычислительной техники , [8] и программные проекты, такие как Android , [9] МедиаВики [10] и Твиттер , [11] не поощряйте использование фразы «проверка здравомыслия» в пользу других терминов, таких как «проверка уверенности» , «проверка связности» или просто «проверка» , как часть более широкой попытки избежать эйбистского языка и повысить инклюзивность .
См. также [ править ]
Ссылки [ править ]
- ^ Фецко, Мариуш А.; Лотт, Кристофер М. (октябрь 2002 г.). «Уроки, извлеченные из автоматизации тестов для системы поддержки операций» (PDF) . Программное обеспечение: практика и опыт . 32 (15): 1485–1506. дои : 10.1002/сп.491 . S2CID 16820529 . Архивировано из оригинала (PDF) 17 июля 2003 года.
- ^ Сэмми, Рабия; Масуд, Ирам; Джабин, Шунаила (2011). Зейн, Ясни Мохамад; Ван Мохд, Ван Масери bt; Эль-Кавасме, Эйас (ред.). «Схема обеспечения качества процесса проверки работоспособности». Программная инженерия и компьютерные системы . Коммуникации в компьютерной и информатике. 181 . Берлин, Гейдельберг: Springer: 143–150. дои : 10.1007/978-3-642-22203-0_13 . ISBN 978-3-642-22203-0 .
- ^ Глоссарий ISTQB® для Международной квалификационной комиссии по тестированию программного обеспечения®, схема квалификации по тестированию программного обеспечения, Глоссарий ISTQB Международная квалификационная комиссия по тестированию программного обеспечения
- ^ Йоргенсен, Нильс (2001). «Собираем все в багажник: поэтапная разработка программного обеспечения в рамках проекта с открытым исходным кодом FreeBSD» (PDF) . Журнал информационных систем . 11 (4): 321. doi : 10.1046/J.1365-2575.2001.00113.X .
- ^ Хасан А.Е. и Чжан К. 2006. Использование деревьев решений для прогнозирования результата сертификации сборки . В материалах 21-й международной конференции IEEE/ACM по автоматизированной разработке программного обеспечения (18–22 сентября 2006 г.). Автоматизированная разработка программного обеспечения. Компьютерное общество IEEE, Вашингтон, округ Колумбия, 189–198.
- ^ Хасиды, Хадас; Альмог, Дэни; Сохачески, Дов Бенемин; Гилленсон, Марк Ли; Постон, Робин С.; Марк, Шломо (2018). «Модульный тест: столкновение с CICD - это неуловимые определения?» (PDF) . Журнал управления информационными технологиями . 29 (2): 40–54.
- ^ Дарвин, Ян Ф. (январь 1991 г.). Проверка программ на языке C с помощью lint (1-е изд., с небольшими изменениями. Изд.). Ньютон, Массачусетс: О'Рейли и партнеры. п. 19. ISBN 0-937175-30-7 . Проверено 7 октября 2014 г.
Распространенной привычкой программирования является игнорирование возвращаемого значения из fprintf(stderr, ...
- ^ «Слова имеют значение» . 20.11.2020 . Проверено 29 июня 2023 г.
- ^ «Программирование с уважением» . Проект Android с открытым исходным кодом . 16 ноября 2022 г. Проверено 23 января 2023 г.
- ^ "Инклюзивный язык/en-gb - MediaWiki " www.mediawiki.org . Получено 2 января 2023 г.
- ^ «Твиттер Инжиниринг» . Твиттер . Проверено 23 января 2023 г.