تصميم وتنفيذ إمكانية تتبع المصدر والأخطاء والجودة
في سياق DevOps، تشير إمكانية التتبع إلى القدرة على تعقب التغييرات والإجراءات طوال دورة حياة تطوير البرامج. ينطبق هذا المفهوم على جوانب مختلفة من دورة الحياة هذه، بما في ذلك التغييرات في التعليمات البرمجية المصدر، وحل الأخطاء، والحفاظ على مراقبة الجودة. يعد تنفيذه ضروريا لضمان موثوقية المنتج وقابلية الصيانة ورضا العملاء.
تتيح إمكانية تتبع المصدر للمطورين تعقب تغييرات التعليمات البرمجية في سيناريوهات التعاون. تسهل إمكانية تتبع الأخطاء تحديد المشكلات المتعلقة بالتعليمات البرمجية المصدر وتحديد أولوياتها وحلها. تضمن إمكانية تتبع الجودة تلبية البرامج لمعايير الجودة وتوقعات المستخدمين من خلال ربط أنشطة الاختبار والمقاييس والتعليقات بجهود التطوير.
التصميم
على مستوى عال، تعد إمكانية التتبع غير محددة الأدوات ولكن طريقة التعامل معها تعتمد على جانب دورة حياة تطوير البرمجيات التي تهدف إلى استهدافها. وبالمثل، تختلف الأهداف واعتبارات التصميم بين التعليمات البرمجية المصدر والخطأ وقابلية تتبع الجودة.
على وجه الخصوص، تتضمن إمكانية تتبع المصدر تعقب محفوظات تغييرات التعليمات البرمجية، بما في ذلك من أجرى التغييرات، ومتى تم إجراؤها، والغرض من التغييرات. يسهل مراجعات التعليمات البرمجية وتصحيح الأخطاء وفهم تطور قاعدة التعليمات البرمجية بمرور الوقت. من وجهة نظر التصميم، ترتبط هذه الوظيفة بشكل وثيق باستراتيجيات تفريع Git ودمجها التي تنظم عمل التطوير. ينشئ المطورون فروع ميزات للعمل الجديد، ويلتزمون بالتغييرات في فروعهم، ويرسلون طلبات السحب للمراجعة. عند هذه النقطة، يجري نظراؤهم مراجعات للتعليمات البرمجية، وبمجرد اكتمالها بنجاح، يوافقون على التغييرات التي سيتم دمجها في الفرع الرئيسي.
تتضمن إمكانية تتبع الأخطاء تتبع الأخطاء أو العيوب التي تم الإبلاغ عنها أثناء الاختبار أو الإنتاج مرة أخرى إلى سببها الجذري في قاعدة التعليمات البرمجية. كما أنه يعتمد عادة على التقاط معلومات مثل تفاصيل تقرير الأخطاء وخطوات إعادة الإنتاج والمكونات المتأثرة وتغييرات التعليمات البرمجية ذات الصلة. وتشمل أهدافه تحديد أولويات الأخطاء وحلها بكفاءة من أجل معالجة أوجه القصور في البرامج.
تشمل إمكانية تتبع الجودة تتبع الأنشطة والبيانات الاصطناعية المتعلقة بالجودة خلال عملية تطوير البرامج. يتضمن ذلك ربط مقاييس الجودة وحالات الاختبار ونتائج الاختبار وأنشطة ضمان الجودة الأخرى بالمتطلبات وقصص المستخدم وتغييرات التعليمات البرمجية. تساعد إمكانية تتبع الجودة على تقييم تأثير تغييرات البرامج على جودتها وتحديد مجالات التحسين.
تنفيذ إمكانية التتبع
تختلف تفاصيل تنفيذ إمكانية التتبع إلى حد ما اعتمادا على النظام الأساسي DevOps.
إمكانية تتبع المصدر
نظرا لأن كل من GitHub وAzure DevOps يدعمان Git كآلية للتحكم في المصدر، فإن عددا من تقنيات تتبع المصدر تنطبق على كليهما. ونتيجة لذلك، يتضمن تنفيذ إمكانية تتبع التعليمات البرمجية المصدر في كلتا الحالتين اعتماد أفضل الممارسات مثل كتابة رسائل تثبيت وصفية، واستخدام استراتيجية تفريع محددة جيدا، وطلب طلبات سحب لمراجعات التعليمات البرمجية.
ومع ذلك، هناك أيضا بعض الاختلافات بينهما. يتضمن تنفيذ إمكانية تتبع المصدر في مستودعات GitHub عادة استخدام ميزات مثل قواعد حماية الفرع لفرض عمليات مراجعة التعليمات البرمجية وضمان مراجعة التغييرات قبل الدمج. يسمح تكامل GitHub مع المشكلات بربط تغييرات التعليمات البرمجية بالمشكلات المقابلة، ما يوفر إمكانية التتبع بين تعديلات التعليمات البرمجية ومتطلبات المشروع. يوفر Azure DevOps نهج الفروع ونهج طلب السحب لفرض عمليات التحقق من جودة التعليمات البرمجية وربط التغييرات بعناصر العمل، ما يتيح إمكانية التتبع بين تغييرات التعليمات البرمجية وقصص المستخدم أو المهام. بالإضافة إلى ذلك، يوفر Azure DevOps تكاملا أكثر شمولا مع نظام تعقب عناصر العمل الخاص به، ما يسمح بقدرات تتبع وإعداد تقارير أعمق مقارنة بتعقب مشكلات GitHub.
إمكانية تتبع الأخطاء
في Azure DevOps، يتم تسهيل تتبع الأخطاء من خلال لوحات Azure، حيث يتم تعقب الأخطاء كعناصر عمل ويمكن ربطها بتغييرات التعليمات البرمجية والتثبيتات وطلبات السحب. تسمح Azure Boards بإنشاء مهام سير عمل مخصصة لإدارة الأخطاء، وتحديد حالات مثل جديد ونشط ومحل ومغلق، ما يوفر رؤية لدورة حياة الخطأ. بالإضافة إلى ذلك، يوفر Azure DevOps تكاملا غنيا بين الأخطاء وعناصر العمل الأخرى، ما يتيح إمكانية التتبع بين الأخطاء وقصص المستخدم والمهام والملاحم.
في GitHub، تعتمد إمكانية تتبع الأخطاء على التكامل بين المشكلات وتغييرات التعليمات البرمجية، حيث يمكن ربط الأخطاء التي تم الإبلاغ عنها كمشكلات بالتثبيتات وطلبات السحب. توفر إجراءات GitHub القدرة على تنفيذ مهام سير عمل قابلة للتخصيص، بما في ذلك تلك المتعلقة بتتبع الأخطاء. باستخدام GitHub Actions، يمكنك تحديد مهام سير العمل التي تقوم بأتمتة العمليات التي يتم تشغيلها بواسطة الأحداث في مستودع GitHub الخاص بك، مثل إنشاء المشكلات أو تعديلها. يسمح لك هذا بإنشاء مهام سير عمل مخصصة لإدارة الأخطاء، بما في ذلك تحديد الحالات وتعيين المهام وأتمتة الإجراءات استنادا إلى شروط محددة. بشكل فعال، في حين توفر GitHub Actions مرونة في أتمتة سير العمل، فإنها تتطلب عادة المزيد من الجهد والتخصيص مقارنة بالميزات المضمنة ل Azure Boards في Azure DevOps.
إمكانية تتبع الجودة
في Azure DevOps، يمكن إدارة إمكانية تتبع الجودة باستخدام خطط الاختبار، والتي تسمح للفرق بتنظيم حالات الاختبار وتنفيذها وتتبعها. توفر خطط الاختبار مقاييس جودة شاملة، بما في ذلك معدلات اجتياز حالة الاختبار ونتائج تشغيل الاختبار وتقارير تغطية الاختبار. بالإضافة إلى ذلك، يوفر Azure DevOps التكامل مع أدوات تغطية التعليمات البرمجية لقياس تغطية الاختبار وتحديد مناطق قاعدة التعليمات البرمجية التي تتطلب اختبارا إضافيا.
يوفر GitHub وظائف مماثلة من خلال GitHub Actions، ما يتيح للفرق أتمتة أنواع مختلفة من الاختبارات، مثل اختبارات الوحدة واختبارات التكامل والاختبارات الشاملة. هنا أيضا، توفر GitHub Actions مرونة في إعداد مهام سير عمل الاختبار والتكامل مع أدوات الاختبار التابعة لجهات خارجية، ولكنها تميل إلى طلب تكوين إضافي لتحقيق نفس المستوى من مقاييس الجودة الشاملة والإبلاغ عن تغطية الاختبار مثل خطط اختبار Azure DevOps.