Andrew Hanna

Andrew Hanna

الحجة ضد منظمة QA مخصصة في تسليم Salesforce

الحجة ضد منظمة QA مخصصة في تسليم Salesforce

باختصار: منظمة QA المخصصة، أي الـ sandbox المشتركة الوحيدة التي يجب أن يمر بها كل تغيير قبل UAT، غالبًا ما تبطئ فرق Salesforce دون أن تكتشف عيوبًا أكثر. فهي تضع العمل في طابور، وتجمع تغييرات لا علاقة لها ببعض، وتبتعد تدريجيًا عن الإنتاج. امنح كل work item منظمة خاصة به قصيرة العمر، واجعل من يبني التغيير مسؤولًا عن اختباراته الآلية، واترك المختبرين للاختبار الاستكشافي واختبار القبول.

ما هي منظمة QA المخصصة في تسليم Salesforce؟

في معظم مسارات Salesforce هي sandbox طويلة العمر بين التطوير وUAT، عادةً من نوع Developer Pro أو Partial Copy، يصل إليها كل تغيير ليختبره فريق QA. المسار التقليدي يبدأ من sandbox التطوير، ثم QA، ثم UAT، ثم الإنتاج. منظمة QA هي مرحلة، وكثيرًا ما تكون فريقًا أيضًا، لا بد أن يمر بها كل ticket.

لماذا تبني فرق Salesforce منظمة كهذه؟

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

ما التكلفة الحقيقية لمنظمة QA مشتركة؟

  • عمل متسلسل. عندما تتشارك عشرة tickets منظمة واحدة، يعطّل تغيير واحد معطوب التسعة الباقية، ولا يعرف أحد أي تغيير تسبب في الفشل.
  • إصدارات مجمّعة. ما يُطلق هو "كل ما هو موجود في QA"، وليس قائمة tickets معتمدة. سحب تغيير واحد يعني فك تشابك الباقي، وهكذا بالضبط تتسلل المخاطر الخفية في عملية النشر على Salesforce.
  • الانحراف. الإصلاحات العاجلة تذهب مباشرة إلى الإنتاج، والتجارب المهجورة تبقى في مكانها، فتتوقف المنظمة عن مطابقة أي شيء حقيقي. وغالبًا ما تكون منظمة QA أول من يكشف لماذا لم تعد الـ sandboxes تطابق الإنتاج، لأن الجميع يعمل عليها.
  • إعادة ضبط بطيئة. يمكن تحديث sandbox من نوع Partial Copy كل خمسة أيام، ومن نوع Full كل 29 يومًا، كما يوضح دليل Salesforce Ben للـ sandboxes. وبمجرد أن تتلوث منظمة QA طويلة العمر، ستعيش معها حتى نافذة التحديث التالية.
  • بوابة متأخرة. الاختبار في نهاية الـ sprint يكشف العيوب في الوقت الذي تكون فيه أغلى ما يكون. ويذكر تقرير State of Salesforce DevOps 2026 من Gearset أن 18% من الفرق تكتشف المشكلات في الإنتاج بشكل أساسي. وإضافة مرحلة مشتركة أخرى في آخر الخط لن تغيّر هذا الرقم.

من يتولى الاختبار إذا لم تكن هناك منظمة QA؟

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

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

ما البديل عن منظمة QA مشتركة؟

منظمة لكل work item. كل ticket يحصل على بيئته الخاصة، وتعمل فحوصاته فيها، ويتقدم وفق جدوله الخاص.

  • منظمات scratch للتحقق المعزول. يتيح Salesforce DX Developer Guide ضبط عمر منظمة scratch من يوم واحد إلى 30 يومًا، والافتراضي 7 أيام. تُبنى من الـ source وتُحذف بعد دمج العمل.
  • فحوصات آلية على كل تغيير. اختبارات Apex والتحليل الثابت ومراجعة الكود تعمل قبل الدمج، لا بعد أن تمتلئ بيئة مشتركة.
  • UAT أصغر. مستخدمو الأعمال ما زالوا يعتمدون التغييرات، لكن على قائمة tickets معروفة بدلًا مما يصادف وجوده في QA.
  • sandbox من نوع Full حيث تهم البيانات الحقيقية. اختبارات الانحدار النهائية والأداء والتكامل كثيفة البيانات ما زالت تستحق أحجام بيانات قريبة من الإنتاج، تُستخدم لفترة قصيرة في النهاية.

منظمة QA مشتركة أم منظمة لكل work item

  • الانتظار: طابور على مكان واحد مقابل عمل متوازٍ افتراضيًا.
  • العزل: تغييرات مختلطة مقابل تغيير واحد لكل منظمة.
  • إعادة الضبط: مقيدة بفترات التحديث مقابل إعادة البناء من الـ source.
  • متى تُحسم الجودة: في النهاية مقابل مع كل تغيير.

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

متى تظل منظمة QA المخصصة هي الخيار الصحيح؟

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

كيف تتخلى عن منظمة QA مشتركة؟

  1. اجعل الـ ticket هو وحدة الإصدار، بحيث يُتتبع كل تغيير ويُرقّى بشكل مستقل.
  2. انقل الاختبارات الآلية إلى صاحب كل تغيير وشغّلها في منظمة ذلك التغيير.
  3. نفّذ نشر تحقق (validation deployment) على البيئة المستهدفة قبل الدمج.
  4. قلّص البيئة المشتركة إلى أعمال التكامل والاختبار الاستكشافي التي تحتاجها فعلًا.
  5. قِس عدد المشكلات التي تصل إلى الإنتاج قبل التحول وبعده.

FAQ

هل الاستغناء عن منظمة QA يعني الاستغناء عن مهندسي QA؟

لا. المختبرون يدخلون في وقت أبكر، ويعملون مع المطورين على الاختبارات الآلية، ويتولون الاختبار الاستكشافي واختبار قابلية الاستخدام الذي ما زالت DORA تعتبره أساسيًا.

هل منظمات scratch كافية لكل أنواع الاختبار؟

لا. هي مناسبة للتحقق المعزول من تغيير واحد. أما أحجام البيانات القريبة من الإنتاج وبعض التكاملات فما زالت تحتاج إلى sandbox من نوع Partial Copy أو Full.

من يكتب الاختبارات عندما يبني الـ admin التغيير؟

الـ admin هو المسؤول عن فحوصات التغيير الذي بناه، مع زميل يراجعه. المسؤولية أهم من المسمى الوظيفي.

ما أول ما يجب أن يغيّره فريق صغير؟

توقف عن نشر tickets لا علاقة لها ببعض في منظمة مشتركة واحدة. امنح كل ticket بيئته الخاصة، واحتفظ بـ sandbox واحدة لـ UAT.

Serpent مصمم لهذا النموذج: إصدارات قائمة على الـ tickets، ومراجعة الكود بالذكاء الاصطناعي في كل خطة، وتجميع منظمات scratch جاهزة مسبقًا في خطة Scale بحيث تكون بيئة كل ticket جاهزة خلال ثوانٍ. السعر ثابت لكل شركة بدون رسوم لكل منظمة، لذلك لا تضيف البيئات الإضافية أي رسوم ترخيص. قارن الخطط وابدأ مجانًا مع Essentials.

مقالات ذات صلة

هل تريد معرفة كيف يمكنكم الشحن أسرع قبل البدء؟ لنتحدث

بدون التزام.