نظرة عامة على الاتحاد التجاري

اتحاد التجارة (Tradefed أو TF اختصارًا) هو إطار اختبار مستمر مصمم لإجراء الاختبارات على أجهزة Android. على سبيل المثال ، يتم استخدام Tradefed لتشغيل مجموعة اختبار التوافق (CTS) ومجموعة اختبار البائع (VTS) .

Trade Federation هو تطبيق Java يعمل على كمبيوتر مضيف ، ويتصل بجهاز Android واحد أو أكثر باستخدام ddmlib (المكتبة خلف DDMS) عبر adb.

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

سمات

  • تصميم معياري ومرن وقابل للتطوير
  • يدعم تشغيل العديد من الأنواع المختلفة من اختبارات Android: الأجهزة ، uiautomator ، الأصلي / gtest ، JUnit المستندة إلى المضيف ، إلخ
  • يوفر آليات الموثوقية والاسترداد فوق adb
  • يدعم جدولة الاختبارات وتشغيلها على أجهزة متعددة بالتوازي

راجع الاختبار من خلال TF للحصول على أحدث المعلومات حول كيفية تشغيل اختباراتك الحالية ، مثل الأجهزة .

استخدم حالات

تجعل نمطية الاتحاد التجاري من السهل الدخول في البيئات ذات البنية التحتية القائمة للبناء والاختبار وإعداد التقارير. ندرج أدناه بعض حالات الاستخدام التوضيحية حيث يمكن أن تتيح التجارة ممارسات اختبار فعالة وقابلة للتطوير.

أولاً ، من المفيد النظر في المناظر الطبيعية لحالات الاستخدام المحتملة من حيث السؤال "أي الأجزاء قابلة للتعديل ، وما الأجزاء الثابتة؟" على سبيل المثال ، يمكن لمصنّع الجهاز الأصلي تعديل الإطار والنظام والأجهزة ، ولكن ليس له تأثير يذكر أو لا تأثير على التطبيقات الحالية. من ناحية أخرى ، يمكن لمطور التطبيق تعديل التطبيق ، لكن ليس لديه سوى القليل من التحكم في معظم جوانب النظام أو إطار العمل.

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

الجهاز OEM

تقوم الشركة المصنعة للجهاز ببناء الأجهزة ، وغالبًا ما تقوم بتعديل نظام Android وأطر العمل للعمل بشكل جيد على هذا الجهاز. قد تسعى الشركة المصنعة للمعدات الأصلية جاهدة لتحقيق هذه الأهداف مع الحفاظ على الاستقرار والأداء على مستوى الأجهزة والنظام ، والتأكد من أن تغييرات إطار العمل لا تكسر التوافق مع التطبيقات الحالية.

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

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

مطور التطبيق

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

سيستخدم معظم مطوري التطبيقات وحدات تثبيت اختبار apk الموجودة بالفعل في TF. هناك إصدار يتم تثبيته من نظام الملفات المحلي ، بالإضافة إلى إصدار يمكنه تثبيت تطبيقات تم تنزيلها من خدمة بناء . من المهم ملاحظة أن الإصدار الأخير سيستمر في العمل بشكل صحيح مع العديد من مثيلات TF التي تعمل على نفس الجهاز المضيف.

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

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

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

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