برنامج TPT

اختبار تقسيم الوقت ( TPT ) هو منهجية اختبار منهجية لاختبار البرمجيات والتحقق منها آليًا لأنظمة التحكم المدمجة ، والأنظمة السيبرانية الفيزيائية ، وبرامج تدفق البيانات . يتخصص اختبار تقسيم الوقت في اختبار الأنظمة المدمجة التي يمكن تمثيل مدخلاتها ومخرجاتها كإشارات ، وهو أسلوب مخصص لاختبار السلوك المستمر للأنظمة . [ 1 ] تنتمي معظم أنظمة التحكم إلى هذه الفئة. السمة البارزة لأنظمة التحكم هي تفاعلها الوثيق مع بيئة العالم الحقيقي. يحتاج المتحكمون إلى مراقبة بيئتهم والتفاعل مع سلوكها وفقًا لذلك. [ 2 ] يعمل النظام في دورة تفاعلية مع بيئته ويخضع لقيود زمنية. يهدف اختبار هذه الأنظمة إلى محاكاة سلوك التوقيت والتحقق منه. تستخدم أساليب الاختبار الوظيفي التقليدية البرامج النصية، بينما يستخدم اختبار تقسيم الوقت الاختبار القائم على النموذج .

يجمع نظام اختبار الاختبار (TPT) بين أسلوب نمذجة منهجي ورسومي لحالات الاختبار، وتنفيذ اختبار مؤتمت بالكامل في بيئات مختلفة، وتقييم اختبار تلقائي. ويغطي نظام اختبار الاختبار (TPT) أنشطة الاختبار الأربعة التالية:

حالات اختبار رسومية

وصف الاختبار بواسطة الأوتوماتون الهجين مع المتغيرات

في اختبار TPT، تُنمذج الاختبارات بيانياً باستخدام آلات حالة خاصة وتقسيم زمني. [ 1 ] [ 3 ] يمكن نمذجة جميع حالات الاختبار لنظام واحد قيد الاختبار باستخدام آلة هجينة واحدة. تتكون الاختبارات عادةً من سلسلة من المراحل المنطقية. تمثل حالات آلة الحالة المحدودة اجتيازات الاختبار المنطقية، وهي متشابهة في جميع الاختبارات. تُنمذج شروط التشغيل الانتقالات بين مراحل الاختبار. قد يكون لكل حالة وانتقال في الآلة متغيرات مختلفة. يُمثل مزيج هذه المتغيرات حالات الاختبار الفردية.

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

يُخفى تعقيد الاختبار خلف الرسومات. ويتألف وصف الإشارة على أدنى مستوى إما من قوائم خطوات الاختبار أو ما يسمى بالتعريفات المباشرة.

مثال على قائمة خطوات الاختبار

نمذجة التسلسلات البسيطة: قائمة خطوات الاختبار

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

التعريف المباشر للإشارة

تعريف الإشارة المباشرة: التعريف المباشر

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

الوظائف

من الممكن تعريف دوال تعمل كعملاء أو خوادم . تُستدعى دوال العميل من TPT في النظام قيد الاختبار، بينما يمكن استدعاء دوال الخادم المُنفذة في TPT كـ" دوال وهمية " من النظام قيد الاختبار. كما يمكن لـ TPT نفسه استدعاء دوال الخادم.

حالات اختبار منهجية

طُوِّرت تقنية TPT خصيصًا لاختبار السلوك المستمر والتفاعلي للأنظمة المدمجة. [ 4 ] ويمكن اعتبار TPT امتدادًا لطريقة شجرة التصنيف من حيث سلوك التوقيت. وبفضل منهجها المنهجي في توليد حالات الاختبار ، تستطيع TPT تتبع حتى الأنظمة شديدة التعقيد التي يتطلب اختبارها الشامل عددًا كبيرًا من حالات الاختبار، مما يُتيح اكتشاف الأعطال في النظام قيد الاختبار باستخدام العدد الأمثل من حالات الاختبار.

تعتمد منهجية اختبار الاختبار (TPT) على فصل أوجه التشابه والاختلاف بين حالات الاختبار: فمعظمها متشابهة جدًا في بنيتها، ولا يمكن تمييزها إلا في تفاصيل قليلة ولكنها جوهرية. [ 5 ] تستفيد TPT من هذه الحقيقة من خلال النمذجة المشتركة واستخدام البنى المشتركة. فمن جهة، يتم تجنب التكرار، ومن جهة أخرى، يتم توضيح أوجه الاختلاف بين حالات الاختبار بدقة، أي تحديد الجانب المحدد الذي تختبره كل حالة. وبهذا النهج، تتحسن قابلية مقارنة حالات الاختبار، وبالتالي تتحسن الرؤية العامة، وينصب تركيز المختبِر على الجوهر، أي السمات المميزة لحالات الاختبار.

إن البنية الهرمية لحالات الاختبار تجعل من الممكن تقسيم مشاكل الاختبار المعقدة إلى مشاكل فرعية، مما يؤدي أيضًا إلى تحسين وضوح الاختبار وبالتالي جودته.

تساعد تقنيات النمذجة هذه المختبِر في إيجاد الحالات ذات الصلة فعلياً، وتجنب التكرار، وتتبع حتى الأعداد الكبيرة من حالات الاختبار. [ 6 ]

توليد حالات الاختبار التلقائي

تتضمن TPT عدة إمكانيات لإنشاء حالات الاختبار تلقائيًا:

اختبار يدوي تفاعلي باستخدام لوحة تحكم TPT
  • حالات اختبار من فئات التكافؤ
  • حالات اختبار لتغطية نماذج Simulink باستخدام التحليل الثابت وطريقة البحث [ 7 ]
  • حالات الاختبار عن طريق بناء تسلسل من متغيرات الحالات والانتقالات لنموذج الاختبار
  • حالات الاختبار عن طريق تحويل تسجيلات تفاعلات المستخدم مع النظام قيد الاختبار عبر واجهة مستخدم رسومية (لوحة التحكم).

الاختبارات التفاعلية

باستخدام TPT، يمكن لكل حالة اختبار أن تتفاعل بشكل خاص مع سلوك النظام [ 8 ] أثناء عملية الاختبار في الوقت الفعلي، على سبيل المثال، للتفاعل مع النظام تحديدًا عند حدوث حالة معينة أو عند تجاوز إشارة المستشعر عتبة معينة. فعلى سبيل المثال، إذا أردنا محاكاة عطل في مستشعر وحدة تحكم المحرك عند تجاوز سرعة دوران المحرك في وضع الخمول، فيجب أن يكون من الممكن التفاعل مع حدث "تجاوز سرعة دوران المحرك في وضع الخمول" في وصف حالة الاختبار.

تنفيذ الاختبار

تُصمَّم حالات اختبار TPT بشكل مستقل عن تنفيذها. ويمكن تنفيذها في أي بيئة تقريبًا بفضل مفهوم الآلة الافتراضية (VM)، حتى في بيئات الوقت الحقيقي . ومن الأمثلة على ذلك: MATLAB / Simulink ، وTargetLink ، وASCET، و C-code ، وCAN ، و AUTOSAR ، وSystemDesk، وDaVinci CT، وLABCAR، وINCA، وSoftware-in-the-Loop (SiL)، و HiL . وبذلك، يُعدّ TPT أداة متكاملة تُستخدم في جميع مراحل اختبار التطوير، مثل اختبار الوحدات ، واختبار التكامل ، واختبار النظام ، واختبار الانحدار .

لتحليل وقياس تغطية التعليمات البرمجية ، يمكن لـ TPT التفاعل مع أدوات التغطية مثل Testwell CTC++ للتعليمات البرمجية C.

يمكن استخدام واجهة مستخدم رسومية قابلة للتكوين (لوحة التحكم)، تعتمد على عناصر واجهة المستخدم الرسومية ، للتفاعل مع الاختبارات.

آلة افتراضية TPT

تُجمَّع حالات الاختبار المُنمذجة في TPT، ويتم تفسيرها أثناء تنفيذ الاختبار بواسطة ما يُسمى بالآلة الافتراضية (VM). وتكون الآلة الافتراضية مُوحدة لجميع المنصات وجميع الاختبارات. ويقوم مُهايئ المنصة فقط بتنفيذ عملية ربط الإشارات لكل تطبيق على حدة. تم تنفيذ TPT-VM بلغة ANSI C ، ولا يتطلب سوى بضعة كيلوبايتات من الذاكرة، ويمكنه الاستغناء تمامًا عن تخصيص الذاكرة الديناميكي، مما يسمح بتطبيقه في بيئات بسيطة ذات موارد محدودة. كما تتوفر واجهات برمجة تطبيقات (APIs) للغة C و .NET .

تستطيع الآلة الافتراضية لـ TPT معالجة الاختبارات في الوقت الفعلي مع سلوك استجابة محدد. عادةً ما تُقاس أوقات استجابة حالات اختبار TPT بالمايكروثانية، وذلك بحسب مدى تعقيد الاختبار ونوع الأجهزة المستخدمة.

تقييم الاختبار المبرمج

ينبغي أيضًا اختبار سلوك النظام المتوقع لكل حالة اختبار تلقائيًا لضمان كفاءة عمليات الاختبار. يوفر TPT إمكانية حساب خصائص السلوك المتوقع أثناء تنفيذ الاختبار (أثناء تنفيذه) وبعده (بعد تنفيذه). في حين أن التقييم أثناء التنفيذ يستخدم نفس تقنيات نمذجة الاختبار، فإن التقييم بعد التنفيذ يوفر إمكانيات أوسع نطاقًا لإجراء تقييمات أكثر تعقيدًا، بما في ذلك عمليات مثل المقارنة مع بيانات مرجعية خارجية، ومراقبة القيم الحدية، وفلاتر الإشارات، وتحليل تسلسلات الحالة والظروف الزمنية.

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

يمكن تقييم بيانات القياس من مصادر أخرى مثل TargetLink وتسجيل إشارات Simulink أو بيانات قياس MCD-3 تلقائيًا. ويمكن أن تكون هذه البيانات مستقلة عن تنفيذ الاختبار.

وثائق الاختبار

تُقدّم وثائق اختبار TPT، وفقًا لمعيار IEEE 829، نتائج تقييم الاختبار للمختبِر في تقرير بتنسيق HTML، حيث لا يقتصر التقرير على عرض المعلومات الأساسية "نجاح" أو "فشل" أو "غير معروف" كنتيجة لكل حالة اختبار، بل يتضمن أيضًا تفاصيل مثل المعلمات أو الإشارات المميزة التي لوحظت أثناء تنفيذ الاختبار أو التي حُسبت في تقييمه. وبما أن تقييم الاختبار يُوفّر معلومات دقيقة حول التوقيت والسلوك المُختَبَر، يُمكن إتاحة هذه المعلومات في التقرير. كما يُمكن تخصيص محتوى وثائق الاختبار وهيكلها بحرية باستخدام قالب مُعدّ مسبقًا.

إدارة الاختبارات

تدعم TPT إدارة اختبارات مشاريع اختبار TPT من خلال الأنشطة التالية:

  • تطوير حالات الاختبار في مشروع اختبار
  • تخطيط الاختبار من خلال تكوين مجموعة الاختبار وتكوين تنفيذ الاختبار
  • التنفيذ والتقييم التلقائي للاختبارات في حملة اختبار
  • تقرير الاختبار (مفصل لكل عملية اختبار على حدة)
  • تقارير ملخص الاختبارات عبر دورات الإصدار المختلفة و
  • إمكانية تتبع المتطلبات والاختبارات وعمليات الاختبار ونتائج الاختبار

تتبع المتطلبات

تتطلب المعايير الصناعية مثل IEC 61508 و DO-178B وEN 50128 و ISO 26262 إمكانية تتبع المتطلبات والاختبارات . يوفر TPT واجهة لأدوات إدارة المتطلبات مثل Telelogic DOORS لدعم هذه الأنشطة.

طلب

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

مراجع

  1. ١ ٢ "جوستينا زاندر-نوفيكا، أبيل ماريرو بيريز، إينا شيفرديكر، زين رو داي: أنماط تصميم الاختبار للأنظمة المدمجة، في: المؤتمر الدولي العاشر لهندسة الجودة في تكنولوجيا البرمجيات، كونكويست ٢٠٠٧، بوتسدام، ألمانيا، سبتمبر ٢٠٠٧" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ ٢٠١٢-٠٣-٠٢ . تم الاطلاع عليه بتاريخ ٢٠١٣-٠٨-٠٨ .
  2. كارل ج. أستروم وريتشارد م. موراي (2008). أنظمة التغذية الراجعة: مقدمة للعلماء والمهندسين (ملف PDF) . مطبعة جامعة برينستون. رقم ISBN 978-0-691-13576-2.
  3. "Schieferdecker, Bringmann, Grossmann: Continuous TTCN-3: Testuous of Embeded Control Systems, In: Proceedings of 28th International Conference on Software Engineering, Shanghai, China, 2006" (PDF) . تم الاطلاع عليه بتاريخ 8 أغسطس 2013 .
  4. "برينغمان، كرامر: الاختبار المنهجي للسلوك المستمر لأنظمة السيارات. في: المؤتمر الدولي لهندسة البرمجيات: وقائع ورشة العمل الدولية لعام 2006 حول البرمجيات، شنغهاي، الصين، 2006" (ملف PDF) . تم الاطلاع عليه بتاريخ 8 أغسطس 2013 .
  5. "ليمان، تي بي تي - أطروحة، 2003" (ملف PDF) . تم الاطلاع عليه بتاريخ 2013-08-08 .
  6. "ليمان: اختبار تقسيم الوقت: طريقة لاختبار السلوك الوظيفي الديناميكي، ضمن: وقائع مؤتمر Test2000، ليندون، بريطانيا العظمى، 2000" . Evotest.iti.upv.es . تاريخ الاسترجاع: 8 أغسطس 2013 .
  7. ^ بنيامين ويلمز: Hybrides Testverfahren für Simulink/TargetLink-Modelle ، أطروحة، TU-Berlin، ألمانيا، 2015.
  8. "جروسمان، مولر: دلالات سلوكية رسمية لـ TestML؛ في: وقائع مؤتمر ISOLA 06، بافوس، قبرص، نوفمبر 2006" (ملف PDF) . Immos-project.de.
  9. برينغمان، إي.؛ كرامر، أ. (2008). "الاختبار القائم على النموذج لأنظمة السيارات" (ملف PDF) . المؤتمر الدولي لاختبار البرمجيات والتحقق منها والتحقق من صحتها لعام 2008. المؤتمر الدولي لاختبار البرمجيات والتحقق منها والتحقق من صحتها (ICST). الصفحات 485-493 . doi : 10.1109/ICST.2008.45 . ISBN  978-0-7695-3127-4.
  10. ^ كونراد، ميركو. فاي، إيناس؛ جروشتمان، ماتياس؛ كلاين ، تورستن (2001-07-09). "إنشاء نموذج أساسي لبرامج السيارات من شركة دايملر كرايسلر". المعلوماتية - Forschung und Entwicklung . 20 ( 1– 2): 3– 10. دوى : 10.1007/s00450-005-0197-5 .
  11. موقع هاوزر للسيارات. تم الاطلاع عليه بتاريخ 16 مارس 2015. مؤرشف بتاريخ 24 نوفمبر 2015 في أرشيف الإنترنت (Wayback Machine).