فحص سريع

QuickCheck هي مكتبة برمجية ، ومكتبة تجميعية ، مكتوبة في الأصل بلغة البرمجة Haskell ، ومصممة للمساعدة في اختبار البرمجيات من خلال إنشاء حالات اختبار لمجموعات الاختبار - وهو نهج يُعرف باسم اختبار الخصائص .

برمجة

يتوافق هذا البرنامج مع مُصرّف غلاسكو هاسكل (GHC) ومُفسّر هاسكل ، نظام جوفر الخاص بالمستخدم ( Hugs ). وهو برنامج مجاني ومفتوح المصدر، مُرخص بموجب ترخيص مشابه لترخيص BSD .

في QuickCheck، تُكتب التأكيدات حول الخصائص المنطقية التي يجب أن تحققها الدالة . ثم يحاول QuickCheck إنشاء حالة اختبار تُفنّد هذه التأكيدات. بمجرد العثور على حالة اختبار كهذه، يحاول QuickCheck تقليصها إلى الحد الأدنى من مجموعة فرعية فاشلة عن طريق إزالة أو تبسيط بيانات الإدخال غير الضرورية لإفشال الاختبار.

بدأ المشروع في عام 1999. بالإضافة إلى استخدامه لاختبار البرامج العادية، يُعد QuickCheck مفيدًا أيضًا في بناء مواصفات وظيفية ، وتوثيق ما يجب أن تفعله الوظائف، واختبار تطبيقات المترجم. [ 1 ]

توجد نسخ معاد تنفيذها من QuickCheck للعديد من اللغات:

انظر أيضاً

مراجع

  1. "Data.Collections.Properties" . hackage.haskell.org .
  2. بينيباكر، أندرو (mcandre) (13 أكتوبر 2011). "qc" . جيت هاب . تم الاسترجاع في 9 ديسمبر 2011 .
  3. زيتو، أندريا (نيفوكس) (27 يوليو 2014). "quickcheck4c" . جيت هاب . تم الاسترجاع في 27 يوليو 2014 .
  4. فوكس، سكوت (30 مارس 2015). "السرقة: اختبار قائم على الخصائص للغة C" . جيت هاب . تم الاسترجاع في 16 نوفمبر 2015 .
  5. "QuickCheck" . Software.legiasoft.com . تم الاطلاع عليه بتاريخ 9 ديسمبر 2011 .
  6. "CppQuickCheck" . GitHub . تم الاطلاع عليه في 30 مارس 2015 .
  7. "RapidCheck" . GitHub . تم الاطلاع عليه في 30 مارس 2015 .
  8. بينيباكر، أندرو (mcandre). "cluckcheck" . جيت هاب . تم الاسترجاع في 9 ديسمبر 2011 .
  9. دريبر، ريد (reiddraper) (9 مايو 2013). "simple-check" . جيت هاب . تم الاسترجاع في 21 أغسطس 2013 .
  10. دريبر، ريد (reiddraper) (27 مارس 2014). "org.clojure/test.check" . جيت هاب . تم الاسترجاع في 27 مارس 2014 .
  11. "cl-quickcheck" . كليكي . تم الاسترجاع في 9 ديسمبر 2011 .
  12. بينيباكر، أندرو (mcandre) (27 أكتوبر 2011). "dashcheck" . جيت هاب . تم الاسترجاع في 9 ديسمبر 2011 .
  13. "elm-explorations/test" . GitHub . تم الاطلاع عليه بتاريخ 20 نوفمبر 2018 .
  14. توماس، ديف (pragdave) (17 يوليو 2017). "quixir: اختبار قائم على الخصائص للغة Elixir" . GitHub . تم الاطلاع عليه في 1 أبريل 2019 .
  15. ألفرت، كلاوس. "propcheck: اختبار قائم على الخصائص للغة Elixir" . جيت هاب . تم الاطلاع عليه في 1 فبراير 2021 .
  16. "PropEr: أداة اختبار قائمة على الخصائص مستوحاة من QuickCheck للغة Erlang" . GitHub . تم الاطلاع عليه في 8 مايو 2019 .
  17. "FsCheck" . GitHub . 25 يونيو 2015. تم الاطلاع عليه في 25 يونيو 2011 .
  18. بينيباكر، أندرو (mcandre) (13 أكتوبر 2011). "التحقق من الحقائق" . جيت هاب . تم الاسترجاع في 9 ديسمبر 2011 .
  19. leanovate (26 أبريل 2016). "Gopter" . GitHub . تم الاسترجاع في 26 أبريل 2016 .
  20. بينيباكر، أندرو (mcandre) (17 أكتوبر 2011). "IoCheck" . جيت هاب . تم الاسترجاع في 9 ديسمبر 2011 .
  21. "وحدة QuickCheck الخاصة بـ FunctionalJava" . FunctionalJava . تم الاطلاع عليه بتاريخ 14 أغسطس 2015 .
  22. "Quickcheck for Java" . Quickcheck.dev.java.net . مؤرشف من الأصل بتاريخ 17 نوفمبر 2011. تم الاطلاع عليه بتاريخ 9 ديسمبر 2011 .
  23. "JCheck" . JCheck . تم الاسترجاع في 9 ديسمبر 2011 .
  24. "junit-quickcheck" . junit-quickcheck . تم الاطلاع عليه في 3 يوليو 2013 .
  25. "jqwik لمنصة JUnit5" . jqwik . تم الاطلاع عليه بتاريخ 19 يونيو 2017 .
  26. "نظريات سريعة لاختبار خصائص Java 8" . ncredinburgh . تم الاطلاع عليه في 30 أكتوبر 2017 .
  27. "اختبار خصائص جافا 8 باستخدام jetCheck" . JetBrains . تم الاطلاع عليه بتاريخ 10 يوليو 2018 .
  28. تومسون، دارين (darrint). "qc.js" . Bitbucket . مؤرشف من الأصل في 7 أغسطس 2011. تم الاسترجاع في 9 ديسمبر 2011 .
  29. كروكفورد، دوغلاس. "jscheck" . جيت هاب . تم الاسترجاع في 21 أكتوبر 2017 .
  30. دوبيان، نيكولاس (dubzzz). "fast-check" . جيت هاب . تم الاسترجاع في 3 فبراير 2018 .
  31. "JSVerify — اختبار قائم على الخصائص للغة جافا سكريبت. مثل QuickCheck" . jsverify.github.io .
  32. "Checkers.jl" . GitHub . تم الاطلاع عليه بتاريخ 8 أبريل 2018 .
  33. "lgtunit" . تم الاطلاع عليه بتاريخ 26 فبراير 2020 .
  34. "lua-quickcheck" . GitHub . تم الاطلاع عليه بتاريخ 25 فبراير 2017 .
  35. "QuickCheck.wl — اختبار آلي قائم على الخصائص للغة Wolfram - مجموعات نقاش تقنية عبر الإنترنت - مجتمع Wolfram" . community.wolfram.com . تم الاطلاع عليه بتاريخ 11 يوليو 2021 .
  36. بينيباكر، أندرو (mcandre). "objcheck" . جيت هاب . تم الاسترجاع في 9 ديسمبر 2011 .
  37. كروانيس، سيمون. "اختبار قائم على الخصائص مستوحى من QuickCheck للغة OCaml" . جيت هاب . تم الاسترجاع في 1 سبتمبر 2022 .
  38. "اختبار: LectroTest: برنامج تعليمي" . استُلهم مشروع LectroTest من وحدة QuickCheck الخاصة بلغة Haskell من تصميم كوين كلايسن وجون هيوز.
  39. "library(quickcheck)" .
  40. أمارال، كلاوديو؛ فلوريدو، ماريو؛ كوستا، فيتور سانتوس (2014). "PrologCheck - اختبار قائم على الخصائص في لغة برولوج" . وقائع الندوة الدولية الثانية عشرة حول البرمجة الوظيفية والمنطقية (FLOPS 2014) . سلسلة محاضرات في علوم الحاسوب. المجلد 8475. الصفحات 1-17 . doi : 10.1007/978-3-319-07151-0_1 . ISBN   978-3-319-07150-3.
  41. ^ اوستريشر، ستيفان (ستيوس). "بي إتش بي كويك تشيك" . جيثب . تم الاسترجاع في 12 تشرين الثاني (نوفمبر) 2015 .
  42. وال، ماتياس (mfelsche). "ponycheck" . جيت هاب . تم الاسترجاع في 26 ديسمبر 2018 .
  43. ماكيفر، ديفيد (16 أبريل 2016). "QuickCheck بكل اللغات" . تم الاطلاع عليه في 1 أغسطس 2022 .
  44. "quickcheck: Property Based Testing in R" . GitHub . 17 مارس 2022.
  45. "Quickcheck" . docs.racket-lang.org .
  46. "QuickChick" . GitHub . تم الاطلاع عليه بتاريخ 26 أغسطس 2019 .
  47. بينيباكر، أندرو (mcandre) (14 سبتمبر 2017). "Rubycheck: نسخة روبي من إطار عمل اختبار الوحدة QuickCheck" . GitHub .
  48. غالانت، أندرو (بيرنت سوشي). "الفحص السريع للغة رست (مع تقليص الحجم)" . جيت هاب . تم الاطلاع عليه في 27 مايو 2015 .
  49. "اختبار الخصائص الشبيهة بالفرضيات للغة Rust" . GitHub .
  50. "ScalaCheck" . GitHub . تم الاطلاع عليه في 30 يونيو 2016 .
  51. "scalaprops/scalaprops" . GitHub . تم الاطلاع عليه في 30 يونيو 2016 .
  52. "nyaya" . GitHub . تم الاسترجاع في 30 يونيو 2016 .
  53. "Scheme-Check: اختبار الوحدات العشوائي لـ PLT Scheme" . مؤرشف من الأصل بتاريخ 12 فبراير 2005. Scheme-Check وحدة برمجية تُنفذ اختبار الوحدات العشوائي في PLT Scheme. باستخدام Scheme-Check، بدلاً من إنشاء العديد من الاختبارات الفردية، تُحدد خصائص الكود الخاص بك، ويقوم Scheme-Check بإنشاء كمية كبيرة من مجموعات البيانات العشوائية لاختبار تلك الخصائص. Scheme-Check هو في الأساس نسخة Scheme من QuickCheck.
  54. مير، أنترو. "SRFI 252: اختبار الخصائص" . طلبات تنفيذ المخططات . تم الاطلاع عليه بتاريخ 25 أبريل 2024 .
  55. بينيباكر، أندرو (mcandre). "QuickSmash" . جيت هاب . تم الاسترجاع في 9 ديسمبر 2011 .
  56. "QCheck/SML" . كونترابونكتوس . 22 نوفمبر 2011. تم الاطلاع عليه في 9 ديسمبر 2011 .
  57. "SwiftCheck: QuickCheck for Swift" . GitHub . 3 نوفمبر 2017.
  58. دوبيان، نيكولاس (dubzzz). "fast-check" . جيت هاب . تم الاسترجاع في 3 فبراير 2018 .
  59. تشين، جانيس. "الفحص السريع لوايلي" (ملف PDF) . تم الاطلاع عليه بتاريخ 20 أبريل 2020 .

للمزيد من القراءة

  • كلايسن، كوين؛ هيوز، جون (2002). "اختبار البرامج الأحادية باستخدام QuickCheck" ( PostScript ) . إشعارات SIGPLAN . 37 (12): 47-59 . CiteSeerX 10.1.1.111.1618 . doi : 10.1145/636517.636527 . تاريخ الاسترجاع: 29 يناير 2006 . 
  • كلايسن، كوين وهيوز، جون (2000). "QuickCheck: أداة خفيفة الوزن للاختبار العشوائي لبرامج هاسكل" (ملف PDF) . وقائع المؤتمر الدولي للبرمجة الوظيفية (ICFP)، ACM SIGPLAN . تم الاطلاع عليه بتاريخ 29 يناير 2006 .
  • كلايسن، كوين وهيوز، جون (2003). "الاختبار القائم على المواصفات باستخدام QuickCheck" . متعة البرمجة، ركائز الحوسبة، جيريمي جيبونز وأويج دي مور (محرران) . بالجريف: 17-40 . مؤرشف من الأصل في 4 يوليو 2007. تم الاسترجاع في 29 يناير 2006 .
  • كلايسن، كوين (أغسطس 2004). "QuickCheck: الاختبار العشوائي القائم على المواصفات" . عرض تقديمي في المعهد الصيفي حول اتجاهات الاختبار: النظرية والتقنيات والأدوات . مؤرشف من الأصل ( PPT ) في 30 أبريل 2007. تم الاطلاع عليه في 29 يناير 2006 .
  • كلايسن، كوين؛ رونسيمان، كولين؛ شيتيل، أولاف؛ وهيوز، جون (2002). "اختبار وتتبع البرامج الوظيفية الكسولة باستخدام QuickCheck وHat" . البرمجة الوظيفية المتقدمة: المدرسة الدولية الرابعة، سلسلة محاضرات في علوم الحاسوب . 2638. دار نشر سبرينغر: 59-99 . مؤرشف من الأصل ( PostScript ) في 12 أكتوبر 2006. تم الاطلاع عليه في 29 يناير 2006 .