Быстрая проверка
Разработчик(и) | Коэн Классен, Джон Хьюз |
---|---|
Первоначальный выпуск | 1999 год |
Стабильная версия | 2.14.2 / 14 ноября 2020 г |
Репозиторий | github |
Написано в | Хаскелл |
Операционная система | Unix-подобный , Windows |
Доступно в | Английский |
Тип | Тестирование программного обеспечения |
Лицензия | BSD-стиль |
Веб-сайт | www |
QuickCheck — это программная библиотека , в частности библиотека комбинаторов , первоначально написанная на языке программирования Haskell и предназначенная для помощи в тестировании программного обеспечения путем создания тестовых примеров для наборов тестов — подход, известный как тестирование свойств .
Программное обеспечение [ править ]
Он совместим с Glasgow компилятором Haskell Compiler (GHC) и интерпретатором Haskell User's Gofer System ( Hugs ). Это бесплатное программное обеспечение с открытым исходным кодом , выпущенное под лицензией в стиле BSD .
В QuickCheck утверждения пишутся о логических свойствах, которым должна соответствовать функция . Затем QuickCheck пытается создать тестовый пример, который опровергает такие утверждения. Как только такой тестовый пример найден, QuickCheck пытается свести его к минимальному подмножеству с ошибками, удаляя или упрощая входные данные, которые не нужны для того, чтобы тест не прошел.
Проект начался в 1999 году. Помимо использования для тестирования обычных программ, QuickCheck также полезен для создания функциональной спецификации , для документирования того, какие функции должны выполнять, и для тестирования реализаций компилятора. [1]
Повторные реализации QuickCheck существуют для нескольких языков:
- С [2] [3] [4]
- С++ [5] [6] [7]
- Курица [8]
- Кложур [9] [10]
- Общий Лисп [11]
- Кок [12]
- Д [13]
- Вяз [14]
- Эликсир [15] [16]
- Эрланг [17]
- F# и C# , Visual Basic .NET (VB.NET) [18]
- Фактор [19]
- Идти [20]
- Этот [21]
- Ява [22] [23] [24] [25] [26] [27] [28]
- JavaScript [29] [30] [31] [32]
- Юлия [33]
- Логток [34]
- Два [35]
- Математика [36]
- Цель-C [37]
- OCaml [38]
- Перл [39]
- Пролог [40] [41]
- PHP [42]
- Пони [43]
- Питон [44]
- Р [45]
- Ракетка [46]
- Руби [47]
- Ржавчина [48] [49]
- Скала [50] [51] [52]
- Схема [53] [54]
- Смолток [55]
- Стандартный ML [56]
- Быстрый [57]
- Машинопись [58]
- Пока [59]
См. также [ править ]
- Метаморфические испытания
- Проверка модели SPIN
- Тестирование программного обеспечения#Тестирование свойств
Ссылки [ править ]
- ^ «Данные.Коллекции.Свойства» . hackage.haskell.org .
- ^ Пеннебейкер, Эндрю (Мкандре) (13 октября 2011 г.). "кк" . Гитхаб . Проверено 9 декабря 2011 г.
- ^ Зито, Андреа (nivox) (27 июля 2014 г.). «быстрая проверка4c» . Гитхаб . Проверено 27 июля 2014 г.
- ^ Воукс, Скотт (30 марта 2015 г.). «Кража: тестирование на основе свойств для C» . Гитхаб . Проверено 16 ноября 2015 г.
- ^ «Быстрая проверка» . Software.legiasoft.com . Проверено 9 декабря 2011 г.
- ^ «CppQuickCheck» . Гитхаб . Проверено 30 марта 2015 г.
- ^ «РапидЧек» . Гитхаб . Проверено 30 марта 2015 г.
- ^ Пеннебейкер, Эндрю (Мкандре). «кудахтанье» . Гитхаб . Проверено 9 декабря 2011 г.
- ^ Дрейпер, Рид (reiddraper) (9 мая 2013 г.). «простая проверка» . Гитхаб . Проверено 21 августа 2013 г.
- ^ Дрейпер, Рид (reiddraper) (27 марта 2014 г.). "org.clojure/test.check" . Гитхаб . Проверено 27 марта 2014 г.
- ^ "cl-быстрая проверка" . Клики . Проверено 9 декабря 2011 г.
- ^ «Быстрый Чик» . Гитхаб . Проверено 26 августа 2019 г.
- ^ Пеннебейкер, Эндрю (Мкандре) (27 октября 2011 г.). "приборка" . Гитхаб . Проверено 9 декабря 2011 г.
- ^ "elm-explorations/test" . Гитхаб . Проверено 20 ноября 2018 г.
- ^ Томас, Дэйв (прагдейв) (17 июля 2017 г.). «quixir: тестирование Elixir на основе свойств» . Гитхаб . Проверено 1 апреля 2019 г.
- ^ Альферт, Клаус. «propcheck: тестирование Эликсира на основе свойств» . Гитхаб . Проверено 1 февраля 2021 г.
- ^ «PropEr: инструмент тестирования на основе свойств для Erlang, основанный на QuickCheck» . Гитхаб . Проверено 8 мая 2019 г.
- ^ «ФсЧек» . Гитхаб . 25 июня 2015 года . Проверено 25 июня 2011 г.
- ^ Пеннебейкер, Эндрю (Мкандре) (13 октября 2011 г.). «проверка фактов» . Гитхаб . Проверено 9 декабря 2011 г.
- ^ леановате (26 апреля 2016 г.). «Гоптер» . Гитхаб . Проверено 26 апреля 2016 г.
- ^ Пеннебейкер, Эндрю (Мкандре) (17 октября 2011 г.). «ИоЧек» . Гитхаб . Проверено 9 декабря 2011 г.
- ^ «Модуль QuickCheck FunctionalJava» . Функциональная Java . Проверено 14 августа 2015 г.
- ^ «Быстрая проверка Java» . Quickcheck.dev.java.net . Проверено 9 декабря 2011 г.
- ^ «JCheck» . JПроверьте . Проверено 9 декабря 2011 г.
- ^ "Юнит-быстрая проверка" . Юнит-быстрая проверка . Проверено 3 июля 2013 г.
- ^ «jqwik для платформы JUnit5» . jqwik . Проверено 19 июня 2017 г.
- ^ «Быстрое тестирование свойств теорий для Java 8» . Нкрединбург . Проверено 30 октября 2017 г.
- ^ «Тестирование на основе свойств JetCheck для Java 8» . ДжетБрэйнс . Проверено 10 июля 2018 г.
- ^ Томпсон, Дэррин (Дэрринт). "qc.js" . Битбакет . Проверено 9 декабря 2011 г.
- ^ Крокфорд, Дуглас. "jscheck" . Гитхаб . Проверено 21 октября 2017 г.
- ^ Дюбьен, Николя (dubzzz). «быстрая проверка» . Гитхаб . Проверено 3 февраля 2018 г.
- ^ «JSVerify — тестирование JavaScript на основе свойств. Подобно QuickCheck» . jsverify.github.io .
- ^ "Чекерс.jl" . Гитхаб . Проверено 8 апреля 2018 г.
- ^ «Лгтунит» . Проверено 26 февраля 2020 г.
- ^ "lua-быстрая проверка" . Гитхаб . Проверено 25 февраля 2017 г.
- ^ «QuickCheck.wl — автоматизированное тестирование языка Wolfram на основе свойств — онлайн-группы технических дискуссий — сообщество Wolfram» . Community.wolfram.com . Проверено 11 июля 2021 г.
- ^ Пеннебейкер, Эндрю (Мкандре). "обжчек" . Гитхаб . Проверено 9 декабря 2011 г.
- ^ Круанес, Саймон. «QuickCheck вдохновил тестирование OCaml на основе свойств» . Гитхаб . Проверено 1 сентября 2022 г.
- ^ «Тест: ЛектроТест: Учебное пособие» .
Проект LectroTest был вдохновлен модулем QuickCheck Haskell, разработанным Коэном Классеном и Джоном Хьюзом.
- ^ «библиотека (быстрая проверка)» .
- ^ Амарал, Клаудио; Флоридо, Марио; Коста, Витор Сантос (2014). «PrologCheck — тестирование на основе свойств в Прологе» . Материалы двенадцатого международного симпозиума по функциональному и логическому программированию (FLOPS 2014) . Конспекты лекций по информатике. 8475 : 1–17. дои : 10.1007/978-3-319-07151-0_1 . ISBN 978-3-319-07150-3 .
- ^ Острайхер, Стефан (стеос). «ФпБыстраяПроверка» . Гитхаб . Проверено 12 ноября 2015 г.
- ^ Валь, Матиас (мфельше). "поничек" . Гитхаб . Проверено 26 декабря 2018 г.
- ^ Макивер, Дэвид (16 апреля 2016 г.). «Быстрая проверка на всех языках» . Проверено 1 августа 2022 г.
- ^ «Quickcheck: тестирование на основе свойств в R» . Гитхаб . 17 марта 2022 г.
- ^ «Быстрая проверка» . docs.racket-lang.org .
- ^ Пеннебейкер, Эндрю (Мкандре) (14 сентября 2017 г.). «Rubycheck: порт Ruby платформы модульного тестирования QuickCheck» . Гитхаб .
- ^ Галлант, Эндрю (BurntSushi). «Быстрая проверка на ржавчину (с усадкой)» . Гитхаб . Проверено 27 мая 2015 г.
- ^ «Тестирование свойств Rust на основе гипотез» . Гитхаб .
- ^ «СкалаЧек» . Гитхаб . Проверено 30 июня 2016 г.
- ^ "скалапропс/скалапропс" . Гитхаб . Проверено 30 июня 2016 г.
- ^ «няйя» . Гитхаб . Проверено 30 июня 2016 г.
- ^ «Проверка схемы: рандомизированное модульное тестирование схемы PLT» . Архивировано из оригинала 12 февраля 2005 г.
Scheme-Check — это модуль, реализующий рандомизированное модульное тестирование в PLT Scheme. С помощью Scheme-Check вместо создания множества отдельных тестов вы указываете свойства своего кода, и Scheme-Check генерирует большое количество случайных наборов данных для проверки этих свойств. Scheme-Check — это, по сути, порт Scheme QuickCheck.
- ^ Мейр, Антеро. «SRFI 252: Проверка свойств» . Схема запросов на реализацию . Проверено 25 апреля 2024 г.
- ^ Пеннебейкер, Эндрю (Мкандре). «Быстрый Смэш» . Гитхаб . Проверено 9 декабря 2011 г.
- ^ «QCheck/SML» . Контрапунктус . 22 ноября 2011 года . Проверено 9 декабря 2011 г.
- ^ «SwiftCheck: QuickCheck для Swift» . Гитхаб . 3 ноября 2017 г.
- ^ Дюбьен, Николя (dubzzz). «быстрая проверка» . Гитхаб . Проверено 3 февраля 2018 г.
- ^ Чин, Дженис. «QuickCheck for Whiley» (PDF) . Проверено 20 апреля 2020 г.
Дальнейшее чтение [ править ]
- Классен, Коэн; Хьюз, Джон (2002). «Тестирование монадических программ с помощью QuickCheck» ( PostScript ) . Уведомления SIGPLAN . 37 (12): 47–59. CiteSeerX 10.1.1.111.1618 . дои : 10.1145/636517.636527 . Проверено 29 января 2006 г.
- Классен, Коэн и Хьюз, Джон (2000). «QuickCheck: легкий инструмент для выборочного тестирования программ на Haskell» (PDF) . Материалы Международной конференции по функциональному программированию (ICFP), ACM SIGPLAN . Проверено 29 января 2006 г.
- Классен, Коэн и Хьюз, Джон (2003). «Тестирование на основе спецификаций с помощью QuickCheck» . Удовольствие от программирования, Краеугольные камни вычислений, Джереми Гиббонс и Оге де Мур (ред.) . Пэлгрейв: 17–40. Архивировано из оригинала 4 июля 2007 года . Проверено 29 января 2006 г.
- Классен, Коэн (август 2004 г.). «QuickCheck: выборочное тестирование на основе спецификаций» . Презентация в Летнем институте «Тенденции в тестировании: теория, методы и инструменты» . Архивировано из оригинала ( PPT ) 30 апреля 2007 года . Проверено 29 января 2006 г.
- Классен, Коэн; Рансимен, Колин; Читил, Олаф и Хьюз, Джон (2002). «Тестирование и отслеживание ленивых функциональных программ с использованием QuickCheck и Hat» . Продвинутое функциональное программирование: 4-я Международная школа, Конспект лекций по информатике . 2638 . Спрингер Верлаг: 59–99. Архивировано из оригинала ( PostScript ) 12 октября 2006 года . Проверено 29 января 2006 г.
Внешние ссылки [ править ]
