
Andrew Hanna

Andrew Hanna

باختصار: منظمة QA المخصصة، أي الـ sandbox المشتركة الوحيدة التي يجب أن يمر بها كل تغيير قبل UAT، غالبًا ما تبطئ فرق Salesforce دون أن تكتشف عيوبًا أكثر. فهي تضع العمل في طابور، وتجمع تغييرات لا علاقة لها ببعض، وتبتعد تدريجيًا عن الإنتاج. امنح كل work item منظمة خاصة به قصيرة العمر، واجعل من يبني التغيير مسؤولًا عن اختباراته الآلية، واترك المختبرين للاختبار الاستكشافي واختبار القبول.
في معظم مسارات Salesforce هي sandbox طويلة العمر بين التطوير وUAT، عادةً من نوع Developer Pro أو Partial Copy، يصل إليها كل تغيير ليختبره فريق QA. المسار التقليدي يبدأ من sandbox التطوير، ثم QA، ثم UAT، ثم الإنتاج. منظمة QA هي مرحلة، وكثيرًا ما تكون فريقًا أيضًا، لا بد أن يمر بها كل ticket.
لأسباب منطقية. المختبرون يريدون مكان عمل مستقرًا. التغييرات القادمة من أشخاص مختلفين لا بد أن تلتقي قبل الإصدار. اختبارات التكامل تحتاج إلى endpoint مشترك. والفصل بين من يبني ومن يراجع غريزة سليمة. لا شيء من هذه الأهداف خاطئ. المشكلة تبدأ عندما نحاول خدمتها كلها بمنظمة مشتركة واحدة.
الشخص الذي يبني التغيير. تربط إرشادات DORA لأتمتة الاختبار بين أداء تسليم أفضل وبين أن يكون المطورون هم المسؤولين الأساسيين عن إنشاء حزم الاختبارات الآلية وصيانتها، وتحذّر من أنه عندما تملك مجموعة أخرى الاختبارات، يظل الـ pipeline معطلًا حتى يصلحها ذلك الفريق. وفي Salesforce، كلمة "مطور" تشمل الـ admin الذي بنى الـ Flow.
هذا لا يعني الاستغناء عن المختبرين. تصف DORA المختبر بأنه "دور، وليس بالضرورة وظيفة بدوام كامل"، وتقول إن للمختبرين دورًا أساسيًا في الاختبار الاستكشافي واختبار قابلية الاستخدام، جنبًا إلى جنب مع المطورين لا بعدهم. الاعتراض هنا على الطابور، وليس على الناس.
منظمة لكل work item. كل ticket يحصل على بيئته الخاصة، وتعمل فحوصاته فيها، ويتقدم وفق جدوله الخاص.
الاعتراض المعتاد هو التكلفة، وهو اعتراض وجيه إذا كانت أداتك تحاسبك لكل بيئة. فإنشاء منظمة لكل ticket يبدو مكلفًا في هذا النموذج، وهذه هي مشكلة الهامش في التسعير لكل منظمة في Salesforce DevOps وقد ظهرت في استراتيجية الاختبار لديك.
هناك استثناءات حقيقية. قد تحتاج الفرق الخاضعة للتنظيم إلى دورة اختبار موثقة في بيئة محددة بالاسم. بعض الأنظمة الخارجية لا يمكنها الإشارة إلا إلى endpoint واحد لـ sandbox. وقد تتطلب حزم اختبارات الانحدار الكبيرة بيانات قريبة من الإنتاج. في هذه الحالات احتفظ بالبيئة، لكن اجعلها الفحص الأخير قبل الإصدار، لا طابورًا ينتظر فيه كل تغيير.
هل الاستغناء عن منظمة QA يعني الاستغناء عن مهندسي QA؟
لا. المختبرون يدخلون في وقت أبكر، ويعملون مع المطورين على الاختبارات الآلية، ويتولون الاختبار الاستكشافي واختبار قابلية الاستخدام الذي ما زالت DORA تعتبره أساسيًا.
هل منظمات scratch كافية لكل أنواع الاختبار؟
لا. هي مناسبة للتحقق المعزول من تغيير واحد. أما أحجام البيانات القريبة من الإنتاج وبعض التكاملات فما زالت تحتاج إلى sandbox من نوع Partial Copy أو Full.
من يكتب الاختبارات عندما يبني الـ admin التغيير؟
الـ admin هو المسؤول عن فحوصات التغيير الذي بناه، مع زميل يراجعه. المسؤولية أهم من المسمى الوظيفي.
ما أول ما يجب أن يغيّره فريق صغير؟
توقف عن نشر tickets لا علاقة لها ببعض في منظمة مشتركة واحدة. امنح كل ticket بيئته الخاصة، واحتفظ بـ sandbox واحدة لـ UAT.
Serpent مصمم لهذا النموذج: إصدارات قائمة على الـ tickets، ومراجعة الكود بالذكاء الاصطناعي في كل خطة، وتجميع منظمات scratch جاهزة مسبقًا في خطة Scale بحيث تكون بيئة كل ticket جاهزة خلال ثوانٍ. السعر ثابت لكل شركة بدون رسوم لكل منظمة، لذلك لا تضيف البيئات الإضافية أي رسوم ترخيص. قارن الخطط وابدأ مجانًا مع Essentials.
بدون التزام.