العودة إلى التحديثات
New releaseSep 4, 2026

WindowsProtocolTestSuites v4.26.9.0

⭐⭐ انضم إلينا في SNIA SDC لحضور مختبر SMB3 IO (28 سبتمبر - 1 أكتوبر 2026)، واطّلع على فعاليات قابلية التشغيل البيني القادمة

مشاركة

مجموعات اختبار بروتوكولات Windows

توفر مجموعات اختبار بروتوكولات Windows اختبارًا للتشغيل البيني مقابل تنفيذ مواصفات Windows المفتوحة بما في ذلك خدمات الملفات وإدارة الهوية وسطح المكتب البعيد وغيرها.

تم تطوير مجموعات اختبار بروتوكولات Microsoft في الأصل للاختبار الداخلي لمواصفات Microsoft المفتوحة، وقد استُخدمت على نطاق واسع خلال Plugfests ومختبرات التشغيل البيني للاختبار مقابل عمليات التنفيذ من الشركاء. تقيّم مجموعة الاختبار ما إذا كان تنفيذ بروتوكول أو عائلة بروتوكولات يستوفي متطلبات معينة للتشغيل البيني. لا تغطي مجموعات الاختبار كل متطلبات البروتوكول ولا تعتمد بأي شكل من الأشكال أي تنفيذ، حتى لو نجحت جميع الاختبارات. ومع ذلك، توفر كل مجموعة اختبار للمستخدمين مؤشرًا مفيدًا على التشغيل البيني.

  • مجموعة اختبار عائلة خادم الملفات. صُممت لاختبار عمليات تنفيذ عائلة بروتوكولات خادم الملفات بما في ذلك [MS-SMB2] و[MS-DFSC] و[MS-SWN] و[MS-FSRVP] و[MS-FSA] و[MS-FSCC] و[MS-RSVD] و[MS-SQOS]. للبدء مع مجموعة اختبار خادم الملفات، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار خادم الملفات. لإنشاء بيئة اختبار Azure قابلة للتخلص منها، استخدم النشر الآلي لخادم الملفات على Azure.
  • مجموعة اختبار عائلة عميل RDP. توفر اختبار التشغيل البيني لتنفيذ العميل لبروتوكولات عائلة RDP بما في ذلك [MS-RDPBCGR] و[MS-RDPEDISP] و[MS-RDPEDYC] و[MS-RDPEGFX] و[MS-RDPEGT] و[MS-RDPEI] و[MS-RDPEMT] و[MS-RDPEUDP] و[MS-RDPEUSB] و[MS-RDPEVOR] و[MS-RDPRFX]. للبدء مع مجموعة اختبار عميل RDP، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار عميل RDP
  • مجموعة اختبار عائلة خادم RDP. توفر اختبار التشغيل البيني لتنفيذ الخادم لبروتوكولات عائلة RDP بما في ذلك [MS-RDPBCGR] و[MS-RDPEDYC] و[MS-RDPEMT] و[MS-RDPELE]. للبدء مع مجموعة اختبار خادم RDP، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار خادم RDP
  • مجموعة اختبار خادم Kerberos. صُممت لاختبار عمليات تنفيذ الخادم لبروتوكولات Kerberos بما في ذلك [MS-KILE] و[MS-KKDCP] و[MS-PAC]. للبدء مع مجموعة اختبار خادم Kerberos، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار خادم Kerberos
  • مجموعة اختبار خادم SMBD. صُممت لاختبار عمليات تنفيذ بروتوكول SMB2&3 المباشر (RDMA)، كما هو محدد في [MS-SMBD] و[MS-SMB2]. للبدء مع مجموعة اختبار خادم SMBD، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار خادم SMBD
  • مجموعة اختبار Branch Cache. صُممت لاختبار عمليات تنفيذ بروتوكولات [MS-PCCRTP] و[MS-PCCRR] و[MS-PCHC] و[MS-PCCRC]. للبدء مع مجموعة اختبار Branch Cache، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار Branch Cache
  • مجموعة اختبار AZOD. صُممت لاختبار عمليات تنفيذ بروتوكول [MS-AZOD]. للبدء مع مجموعة اختبار AZOD، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار AZOD
  • مجموعة اختبار ADFamily. صُممت لاختبار عمليات تنفيذ بروتوكولات Active Directory بما في ذلك [MS-ADA1] و[MS-ADA2] و[MS-ADA3] و[MS-ADLS] و[MS-ADSC] و[MS-ADTS] و[MS-APDS] و[MS-DRSR] و[MS-FRS2] و[MS-LSAD] و[MS-LSAT] و[MS-SAMR] و[MS-NRPC]. للبدء مع مجموعة اختبار ADFamily، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار ADFamily
  • مجموعة اختبار عميل ADFSPIP. صُممت لاختبار عمليات تنفيذ تكامل ADFS Proxy وWeb Application Proxy، كما هو موضح في [MS-ADFSPIP]. للبدء مع مجموعة اختبار عميل ADFSPIP، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار عميل ADFSPIP
  • مجموعة اختبار ADOD. صُممت لاختبار عمليات تنفيذ بروتوكول [MS-ADOD]. للبدء مع مجموعة اختبار ADOD، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار ADOD
  • مجموعة اختبار XCA. صُممت لاختبار عمليات تنفيذ بروتوكول [MS-XCA]. للبدء مع مجموعة اختبار XCA، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار XCA
  • مجموعة اختبار WSP. صُممت لاختبار عمليات تنفيذ بروتوكول [MS-WSP]. للبدء مع مجموعة اختبار WSP، يمكنك الرجوع إلى دليل مستخدم مجموعة اختبار WSP

المكونات

تحتوي مجموعات اختبار بروتوكولات Windows على المكونات التالية:

  • CommonScripts. نصوص برمجية شائعة تستخدمها كل مجموعة اختبار. عادةً ما تُستخدم لنشر البيئة.
  • ProtoSDK. مكتبة البروتوكول التي تستخدمها كل مجموعة اختبار. توفر بنى بيانات رسائل البروتوكول، والطرق لتشفير وفك تشفير الرسائل، وطرق إرسال واستقبال الرسائل وغيرها.
  • TestSuites. تُحفظ جميع أكواد ومستندات مجموعات الاختبار هنا وتُصنَّف حسب مجلد يمثل كل مجموعة اختبار.
  • ProtocolTestManager. أداة لمساعدتك في تكوين مجموعات الاختبار وتشغيلها.

المتطلبات الأساسية

تستند مجموعات اختبار بروتوكولات Windows إلى .NET لذا يمكن تطويرها وتشغيلها عبر منصات مختلفة. يجب تثبيت البرامج المدرجة أدناه بناءً على غرض الاختبار الخاص بك، بما في ذلك تبعياتها الخاصة.

  1. .NET والمكونات ذات الصلة

    a. بالنسبة إلى Windows وLinux وmacOS، ثبّت .NET 8.0 SDK لبناء مجموعات الاختبار أو تشغيلها.

    b. لمن يعملون على Windows ويفضلون بيئة تطوير متكاملة، ثبّت Visual Studio 2022 أو أحدث (يُوصى بـ Visual Studio 2022 Community)، مع هذه المكونات الفردية من المثبّت:

    القسمالمكون الفردي في Visual Studio 2022تشغيل مجموعات اختبار بروتوكولات Windowsبناء مجموعات اختبار بروتوكولات Windows من الكود المصدري
    .NET.NET SDKمطلوبمطلوب
    Compilers, build tools, and runtimeC# and Visual Basic Roslyn compilersمطلوب
    Compilers, build tools, and runtimeMSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)مطلوب1
    Compilers, build tools, and runtimeC++/CLI support for v143 build tools (Latest)مطلوب1
    Compilers, build tools, and runtimeC++ 2022 Redistributable Updateمطلوب1مطلوب1
    Development ActivitiesC++ core featuresمطلوب1
    SDKs, libraries, and frameworksWindows 10 SDK (10.0.19041.0)مطلوب1

    ملاحظة:

[1]: هذا المكون الفردي مطلوب من قِبل ADFamily وMS-SMBD اللذين يحتويان على كود C++.

  1. Protocol Test Framework v2.6 (build 2.6.1)

    تتم الإشارة إلى Protocol Test Framework من قِبل مشاريع ProtoSDK وTestSuites كـ حزم NuGet.

  2. Network Direct DDK

    من NetworkDirect_DDK.zip استخرج ndspi.h وndstatus.h إلى مسار المشروع ProtoSDK\RDMA\include. هذا لبناء مجموعة اختبار SMBD.

  3. PowerShell Core

    هذا مطلوب فقط عندما يرغب المستخدم في استخدام PowerShell Core Remoting over SSH.

  4. Win32-OpenSSH

    هذا مطلوب فقط عندما يرغب المستخدم في استخدام PowerShell Core Remoting over SSH لمنصة Windows.

  5. WMF 5.1

    هذا مطلوب فقط عندما يرغب المستخدم في استخدام تنفيذ PowerShell على Windows Server 2012R2 لـ ISutCommonControlAdapter في CommonTestSuite.ptfconfig.

    a. إذا اخترت تنفيذ PowerShell لـ ISutCommonControlAdapter في بيئة نطاق حيث يعمل DC على Windows Server 2012R2، للحصول على SID من DC، تحتاج إلى تثبيت WMF 5.1 على DC، وبالنسبة لإصدارات Windows Server الأخرى الأحدث من Windows Server 2012R2، لا تحتاج إلى تثبيت WMF 5.1 على DC.

    b. إذا اخترت تنفيذ PowerShell لـ ISutCommonControlAdapter على منصات Windows (بما في ذلك Windows Server 2012R2 والإصدارات الأحدث) في بيئة مجموعة عمل، فلا تحتاج إلى تثبيت WMF 5.1 على SUT.

    c. إذا اخترت التنفيذ المُدار لـ ISutCommonControlAdapter على منصات Windows (بما في ذلك Windows Server 2012R2 والإصدارات الأحدث)، فسيستخدم استعلامات LDAP للحصول على SID ويدعم بيئة النطاق فقط.

إذا كنت تعمل على Windows، يمكنك استخدام النص البرمجي في مجلد InstallPrerequisites لتنزيل هذه البرامج وتثبيتها تلقائيًا.

نصائح عند استخدام النص البرمجي في مجلد InstallPrerequisites:

  • يتطلب النص البرمجي اتصالاً بالإنترنت لتنزيل بعض التبعيات.

  • تُستخدم المعلمة Category لتحديد مجموعة الأدوات التي يجب تنزيلها وتثبيتها، بناءً على أسماء مجموعات الاختبار المختلفة، مثل FileServer وKerberos وSMBD وRDP وBranchCache وADFamily وAZOD وADFSPIP وADOD. الفئات معرّفة في PrerequisitesConfig.xml ويمكنك تحديث ملف التكوين هذا لتحقيق المتطلبات المطلوبة.

  • تُستخدم المعلمة ConfigPath لتحديد مسار ملف تكوين المتطلبات الأساسية، والقيمة الافتراضية هي ".\PrerequisitesConfig.xml".

  • لتشغيل النص البرمجي لمجموعة اختبار FileServer، على سبيل المثال، افتح Windows PowerShell، ونفّذ الأوامر أدناه في نافذة PowerShell:

cd WindowsProtocolTestSuites\InstallPrerequisites
.\InstallPrerequisites.ps1 -Category FileServer -ConfigPath ".\PrerequisitesConfig.xml"
  • إذا واجهت أخطاء تتعلق بـ Execution Policy، فتأكد من تشغيل Windows PowerShell كـ Administrator، واكتب ما يلي ثم اضغط Enter:
Set-ExecutionPolicy RemoteSigned

يمكنك تشغيل الأمر أدناه للتحقق مما إذا كانت Execution Policy مضبوطة بشكل صحيح:

Get-ExecutionPolicy

ثم أعد تشغيل النص البرمجي.

البناء

بعد استنساخ نسخة من هذا المستودع، يمكنك تشغيل build.ps1 في PowerShell أو build.sh في shell لكل مجموعة اختبار على حدة بعد تثبيت جميع البرامج المطلوبة للبناء المدرجة في المتطلبات الأساسية.

على سبيل المثال، إذا كنت تريد بناء مجموعة اختبار FileServer:

cd WindowsProtocolTestSuites\TestSuites\FileServer\src
build.ps1

بعد نجاح البناء، يجب إنشاء بنية المجلد الشائعة في المجلد WindowsProtocolTestSuite\drop\TestSuites\[TestSuiteName]\.

  • Bin: جميع الملفات الثنائية المبنية بما في ذلك ProtoSDK والمحولات ومجموعات الاختبار.
  • Batch: ملفات دفعية (.ps1، .sh) يمكن استخدامها لتشغيل الاختبارات.
  • Scripts: نصوص برمجية يمكن استخدامها لتكوين بيئة الاختبار.
  • Utils: بعض الأدوات المساعدة التي يمكن استخدامها في الاختبارات.

بدلاً من ذلك، يمكنك تنزيل أرشيف مجموعة الاختبار المبني مسبقًا من Releases.

التشغيل

قبل تشغيل مجموعة اختبار، تحتاج إلى القيام بأحد ما يلي:

  • تنزيل أرشيف مجموعة الاختبار التي تريد تشغيلها من Releases، واستخراجه إلى مسار يمكنك الوصول إليه.
  • بناء مجموعة الاختبار وفقًا لـ بناء مجموعة اختبار.

على macOS، تستخدم مجموعة اختبار FileServer فئتي AesCcm وAesGcm اللتين تتطلبان OpenSSL، لذا إذا لم يكن هناك OpenSSL 1.1 على macOS الخاص بك، فيرجى تثبيت OpenSSL 1.1 وتعيين متغير البيئة كما يلي قبل تشغيل مجموعة اختبار FileServer على macOS،

brew install [email protected]
export DYLD_LIBRARY_PATH="/usr/local/opt/[email protected]/lib:$DYLD_LIBRARY_PATH"

ملاحظة:

  1. إذا لم يكن brew مثبتًا على macOS الخاص بك، يمكنك تثبيته وفقًا لـ brew.
  2. إذا ظهرت لك رسالة الخطأ "algorithm 'aesgcm' is not supported on this platform"، فهذا يعني أن dotnet لا يمكنه تحميل فئة AesGcm من libcrypto.1.1.dylib على macOS الخاص بك، ثم تحتاج إلى التحقق مما إذا كان موقعه في متغير البيئة DYLD_LIBRARY_PATH أم لا. بمجرد تثبيت OpenSSL 1.1 على macOS الخاص بك، يكون موقع مكتبة التشفير هو /usr/local/Cellar/[email protected]/1.1.1m/lib/libcrypto.1.1.dylib ويرتبط /usr/local/opt/openssl بالمجلد /usr/local/Cellar/[email protected]/1.1.1m افتراضيًا.

تشغيل مجموعة الاختبار عبر الدفعة

في مجلد Batch ضمن المسار الجذر لمجموعة الاختبار، هناك عدة نصوص برمجية يمكنك استخدامها لتشغيل الاختبارات.

  1. تشغيل جميع حالات الاختبار

    نفّذ RunAllTestCases.ps1 في PowerShell، أو RunAllTestCases.sh في shell مباشرةً.

  2. تشغيل حالات الاختبار حسب عوامل التصفية

    نفّذ RunTestCasesByFilter.ps1 -Filter [your filter expression] في PowerShell، أو RunTestCasesByFilter.sh [your filter expression] في shell مباشرةً.

    على سبيل المثال، يمكنك تشغيل الأمر أدناه إذا كنت تريد تشغيل حالات الاختبار بفئة الاختبار BVT وSMB311:

    RunTestCasesByFilter.sh "TestCategory=BVT&TestCategory=SMB311"
    

    لمزيد من المعلومات حول كيفية إنشاء تعبير التصفية، يمكنك الرجوع إلى تفاصيل خيار التصفية.

  3. تشغيل تجريبي

    إذا كنت تريد سرد حالات الاختبار قبل تشغيلها فعليًا، يمكنك إضافة مفتاح -DryRun إلى نصوص .ps1 البرمجية أو تمرير سلسلة غير فارغة كوسيطة أخيرة إلى نصوص .sh البرمجية.

    على سبيل المثال، يمكنك تشغيل الأمر أدناه إذا كنت تريد سرد حالات الاختبار بفئة الاختبار BVT وSMB311:

    RunTestCasesByFilter.sh "TestCategory=BVT&TestCategory=SMB311" "list"
    

تكوين وتشغيل مجموعة الاختبار عبر خدمة Protocol Test Manager

Protocol Test Manager Service (PTMService) هي أداة تطبيق صفحة ويب واحدة تساعدك في تكوين وتشغيل حالات الاختبار في مجموعات الاختبار. يدعم PTMService منصات متعددة، بما في ذلك Windows وLinux وmacOS. للبدء مع PTMService، يمكنك الرجوع إلى PTMService Wiki.

بالنسبة لتكوينات FileServer، يرتبط إعداد واجهة PTM Enable Parallel Test Execution بخاصية .ptfconfig المؤهلة بالكامل Common.PTF.LogProfileParserPatch.Enabled. اضبطها على true لتمكين التنفيذ المتوازي المرحلي ضمن تشغيل اختبار FileServer.

المستندات

يمكنك إعداد بيئة الاختبار وتكوين مجموعة الاختبار وفقًا لـ دليل المستخدم الخاص بها. لكل مجموعة اختبار دليل المستخدم الخاص بها في مجلد WindowsProtocolTestSuites\TestSuites\[TestSuiteName]\docs. هناك نوعان آخران من المستندات في المجلد نفسه:

  • المستندات التقنية. وثائق المواصفات المفتوحة للبروتوكولات، المنشورة من قِبل Microsoft. وهي أساس تطوير مجموعات الاختبار.
  • مواصفات تصميم الاختبار. توفر معلومات حول نطاق الاختبار وتصميم مجموعة الاختبار.

المساهمة

يمكنك العثور على دليل المساهمة هنا.

الترخيص

مجموعات اختبار بروتوكولات Windows تحت ترخيص MIT.

الاتصال

الموارد التالية مخصصة لأخبار مجموعة اختبار بروتوكولات Windows والمناقشة والدعم:

مدونة قواعد السلوك للمصادر المفتوحة من Microsoft

اعتمد هذا المشروع مدونة قواعد السلوك للمصادر المفتوحة من Microsoft. لمزيد من المعلومات، اطّلع على الأسئلة الشائعة حول مدونة قواعد السلوك أو اتصل بـ [email protected] لأي أسئلة أو تعليقات إضافية.

الفئات