سؤال

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

الآن ، كمدير لتكنولوجيا المعلومات ، أريد أن أكون قادرًا على اختبار أن جميع أجزاء النظام تعمل ، ولكن هناك:

أ) لا يوجد وقت مدرج في الميزانية مخصص لإنشاء تغطية اختبار الكود

و

ب) لا رغبة من "مهندس البرمجيات الرئيسي" للبدء في إنشاء أجنحة الاختبار لمساعدتي في مراقبة أن البرنامج يعمل.

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

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

تحذيرات أخرى:

أ) ما زلت يُطلب مني القيام بمشاريع برمجيات بالإضافة إلى إدارة قسم تكنولوجيا المعلومات لدينا (مهندس UNIX ، رجل دعم سطح المكتب ، ومعدات المكاتب والمكاتب ذات الصلة)

ب) يواجه مسؤول UNIX صعوبة في تشغيل أنظمة الإنتاج في تشغيل قاعدة التعليمات البرمجية الكاملة ، ونحن لا نحصل على مساعدة جيدة من فريق البرمجيات. لا يمكنه تشغيل أي نوع من التشخيص لمعرفة أين يفشل تطبيق الويب في التثبيتات الجديدة. يستمر VP للشركة في إخباري بالدخول والقيام بـ Print_R في الكود لمعرفة ما يحدث. هذا يمتص !!!

هل كانت مفيدة؟

المحلول

هذا سؤال جيد. وإذا كان هناك إجابة واحدة صحيحة لها ، فستكون المزيد من مشاريع البرمجيات ناجحة وتوفر جودة عالية.

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

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

لكن استخدام مثل هذه الاختبارات فقط (وليس اختبارات الوحدة) لا يمنحك المزايا القادمة من TDD.

أتمتة الاختبارات الخاصة بك أمر بالغ الأهمية.

نصائح أخرى

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

نسيج قطني طويل هو مثال على نوع أداة الاختبار التي ستحتاجها.

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

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

لا تجبر الناس على إجراء اختبار من أجل الاختبار. يجب أن يساعدهم في أن يكونوا أكثر إنتاجية ، لذا اختر المشاريع الأولى لها بعناية.

هل لديك اختبار أو فريق ضمان الجودة؟

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

الخطوة التالية هي أتمتة حالات الاختبار.

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

بلدي 2 سنت.

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

بدون هذا الدعم ، ستكون فقط بعض المطورين الذين يبدو أنهم "يضيعون الوقت في كتابة اختبارات للأشياء التي تعمل بالفعل".

يجب أن تكون هناك رؤية واضحة ، ويجب تكرارها بصوت عالٍ وغالبًا.

أنا لا أدعو بالضرورة إلى Agile هنا ، ولكن في كثير من الأحيان ينقر لأصحاب الأعمال.

إذا تمكنت من بيعها على ذلك ، فإن الأشياء التي تحمسها (توصيل البرمجيات السريعة وسهولة الصيانة والاختبار الآلي وما إلى ذلك) ستقع في مكانها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top