stringtranslate.com

Проверка на вменяемость

Проверка на вменяемость или тест на вменяемость — это базовый тест для быстрой оценки того, может ли утверждение или результат вычисления быть верным. Это простая проверка, чтобы увидеть, является ли произведенный материал рациональным (что создатель материала думал рационально, применяя вменяемость ). Цель теста на вменяемость — исключить определенные классы явно ложных результатов, а не обнаружить каждую возможную ошибку. Для выполнения теста можно проверить расчет по правилу большого пальца или на глаз . Преимущество выполнения начального теста на вменяемость заключается в быстрой оценке базовой функции.

Например, в арифметике при умножении на 9 использование правила делимости на 9 для проверки того, что сумма цифр результата делится на 9, является проверкой на вменяемость — оно не выявит все ошибки умножения, но является быстрым и простым методом обнаружения многих возможных ошибок.

В информатике тест на работоспособность — это очень краткий прогон функциональности компьютерной программы , системы, расчета или другого анализа, чтобы убедиться, что часть системы или методологии работает примерно так, как и ожидалось. Часто это предшествует более исчерпывающему раунду тестирования.

Использование в различных областях

Математический

Тест на вменяемость может относиться к различным порядкам величин и другим простым эмпирическим устройствам, применяемым для перекрестной проверки математических расчетов . Например:

Физический

Разработка программного обеспечения

В разработке программного обеспечения тест на работоспособность (форма тестирования программного обеспечения , которая предлагает «быстрое, широкое и поверхностное тестирование» [1] ) оценивает результат подмножества функциональных возможностей приложения, чтобы определить, возможно ли и разумно продолжить дальнейшее тестирование всего приложения. [2] Тесты на работоспособность иногда могут использоваться взаимозаменяемо с дымовыми тестами [3], поскольку оба термина обозначают тесты, которые определяют, возможно ли и разумно продолжать дальнейшее тестирование. С другой стороны, иногда проводится различие, что дымовой тест — это неисчерпывающий тест, который устанавливает, работают ли наиболее важные функции программы, прежде чем приступать к дальнейшему тестированию, тогда как тест на работоспособность относится к тому, работает ли конкретная функциональность, такая как исправление конкретной ошибки, как и ожидалось, без тестирования более широкой функциональности программного обеспечения. [ необходима цитата ] Другими словами, тест на работоспособность определяет, работает ли предполагаемый результат изменения кода правильно, в то время как дымовой тест гарантирует, что ничего другого важного не было сломано в процессе. Тестирование работоспособности и дымовое тестирование позволяют избежать траты времени и усилий, быстро определяя, является ли приложение слишком дефектным, чтобы заслуживать более строгого тестирования QA , но требует ли оно более тщательной отладки со стороны разработчика .

Группы тестов на работоспособность часто объединяются вместе для автоматизированного модульного тестирования функций, библиотек или приложений перед объединением кода разработки в тестовую или основную ветку управления версиями [4] для автоматизированной сборки [ 5] или для непрерывной интеграции и непрерывного развертывания [6] .

Другое распространенное использование проверки работоспособности — это обозначение проверок, которые выполняются в программном коде, обычно для аргументов функций или возвратов из них, чтобы увидеть, можно ли предположить, что ответы верны. Чем сложнее процедура, тем важнее, чтобы ее ответ был проверен. Тривиальный случай — проверка того, указывает ли возвращаемое значение функции на успех или неудачу, и, следовательно, прекращение дальнейшей обработки в случае неудачи. Это возвращаемое значение на самом деле часто само является результатом проверки работоспособности. Например, если функция попыталась открыть, записать и закрыть файл, проверка работоспособности может использоваться, чтобы убедиться, что она не потерпела неудачу ни при одном из этих действий — что является проверкой работоспособности, которую часто игнорируют программисты. [7]

Эти виды проверок работоспособности могут использоваться во время разработки для отладки, а также для помощи в устранении неполадок программного обеспечения во время выполнения . Например, в приложении для управления банковскими счетами проверка работоспособности не будет выполнена, если для снятия средств требуется больше денег, чем общий баланс счета, а не если счет станет отрицательным (что было бы неразумно). Другой проверкой работоспособности может быть то, что депозиты или покупки соответствуют шаблонам, установленным историческими данными, например, крупные транзакции по покупкам или снятие средств в банкоматах в иностранных местах, которые держатель карты никогда ранее не посещал, могут быть помечены для подтверждения. [ необходима цитата ]

Проверки работоспособности также выполняются при установке стабильного, производственного программного кода в новую вычислительную среду , чтобы гарантировать, что все зависимости выполнены, такие как совместимая операционная система и библиотеки ссылок . Когда вычислительная среда прошла все проверки работоспособности, она считается работоспособной средой для программы установки, которая может продолжить работу с обоснованным ожиданием успеха.

Программа "Hello, World!" часто используется в качестве теста на работоспособность среды разработки аналогичным образом. Если эта простая программа не компилируется или не выполняется, а не является сложным скриптом, запускающим набор модульных тестов, это доказывает, что поддерживающая среда, вероятно, имеет проблему конфигурации, которая не позволит компилировать или выполнить любой код. Но если "Hello world" выполняется, то любые проблемы, возникшие с другими программами, скорее всего, можно отнести к ошибкам в коде этого приложения, а не к среде.

Ассоциация вычислительной техники [ 8] и такие программные проекты, как Android [9] , MediaWiki [10] и Twitter [11] , не рекомендуют использовать фразу « проверка работоспособности» в пользу других терминов, таких как «тест доверия» , «проверка согласованности » или просто «тест» , в рамках более широкой попытки избежать эйблизмского языка и повысить инклюзивность .

Смотрите также

Ссылки

  1. ^ Fecko, Mariusz A.; Lott, Christopher M. (октябрь 2002 г.). «Уроки, извлеченные из автоматизации тестов для системы поддержки операций» (PDF) . Software: Practice and Experience . 32 (15): 1485–1506. doi :10.1002/spe.491. S2CID  16820529. Архивировано из оригинала (PDF) 17 июля 2003 г.
  2. ^ Самми, Рабия; Масуд, Ирам; Джабин, Шунаила (2011). Зейн, Ясни Мохамад; Ван Мохд, Ван Масери bt; Эль-Кавасме, Эйас (ред.). «Схема обеспечения качества процесса проверки работоспособности». Программная инженерия и компьютерные системы . Коммуникации в компьютерной и информатике. 181 . Берлин, Гейдельберг: Springer: 143–150. дои : 10.1007/978-3-642-22203-0_13. ISBN 978-3-642-22203-0.
  3. ^ Глоссарий ISTQB® для схемы квалификации тестирования программного обеспечения International Software Testing Qualification Board®, Глоссарий ISTQB International Software Testing Qualification Board
  4. ^ Йоргенсен, Нильс (2001). «Помещаем все в ствол: инкрементальная разработка программного обеспечения в проекте с открытым исходным кодом FreeBSD» (PDF) . Information Systems Journal . 11 (4): 321. doi :10.1046/J.1365-2575.2001.00113.X.
  5. ^ Хассан, А.Е. и Чжан, К. 2006. Использование деревьев решений для прогнозирования результатов сертификации сборки. В трудах 21-й международной конференции IEEE/ACM по автоматизированной разработке программного обеспечения (18–22 сентября 2006 г.). Автоматизированная разработка программного обеспечения. IEEE Computer Society, Вашингтон, округ Колумбия, 189–198.
  6. ^ Хасидим, Хадас; Альмог, Дани; Сохачески, Дов Бениомин; Гилленсон, Марк Ли; Постон, Робин С.; Марк, Шломо (2018). «Модульный тест: столкновение с CICD — неуловимые ли это определения?» (PDF) . Журнал управления информационными технологиями . 29 (2): 40–54.
  7. ^ Дарвин, Ян Ф. (январь 1991). Проверка программ на языке C с помощью lint (1-е изд., с небольшими изменениями. ред.). Ньютон, Массачусетс: O'Reilly & Associates. стр. 19. ISBN 0-937175-30-7. Получено 7 октября 2014 г. . Распространенная привычка программирования — игнорировать возвращаемое значение из fprintf(stderr, ...
  8. ^ "Слова имеют значение". 2020-11-20 . Получено 2023-06-29 .
  9. ^ "Coding with respect". Android Open Source Project . 2022-11-16 . Получено 2023-01-23 .
  10. ^ "Инклюзивный язык/en-gb - MediaWiki" . www.mediawiki.org . Проверено 23 января 2023 г.
  11. ^ "Twitter Engineering". Twitter . Получено 2023-01-23 .