المكاسب:
- القدرة على التمييز بين المجالات التي يوفر فيها الذكاء الاصطناعي الوقت الفعلي في عملية ضمان الجودة والأماكن التي تُترك فيها قرارات الجودة مثل "جاهزة للنشر" للبشر، اعتمادًا على مستوى خطورة المهمة
- القدرة على التعرف على مخاطر التمريرات الخاطئة وتنفيذ نظام التحقق الذي يختبر كل اختبار للذكاء الاصطناعي عن طريق كسر الكود عمدًا
- القدرة على حماية بيانات الاختبار والبيانات الشخصية والمفاتيح، واكتساب عادة إجراء اختبار الأمان فقط ضمن الترخيص ولأغراض دفاعية.
النظر في ليلة الافراج. تم إجراء مئات الاختبارات، وحصلت جميعها على الضوء الأخضر، وشعر الفريق بالارتياح وبدأ تشغيل البرنامج. في صباح اليوم التالي، أبلغ العميل عن تعطل شاشة الدفع. كانت الاختبارات باللون الأخضر لكنه لم يرى الخطأ. هذا هو الكابوس الأكثر خبثاً في مهنة ضمان الجودة، أي النظام الذي يضمن بشكل منهجي أن تكون البرمجيات بالجودة المرغوبة: الاختبار الذي يتوهج باللون الأخضر ولكنه لا يؤكد أي شيء في الواقع. عندما يدخل الذكاء الاصطناعي (برنامج الذكاء الاصطناعي الذي يستخرج الأنماط من البيانات التاريخية ويولد النصوص والتعليمات البرمجية) إلى هذه المهنة، هناك تسارع كبير وتضخيم لهذا الكابوس بالضبط. الوعد الأولي لهذه الوحدة واضح: الذكاء الاصطناعي هو مساعد اختبار، ومولد مخططات، ومضاعف للأفكار؛ أنت المختبِر الذي يوقع على قرار "هل هذا البرنامج جاهز للإصدار".
في هذه الوحدة الأولى سوف نركز على الانضباط، وليس الأداة. ستتعلم أين يوفر الذكاء الاصطناعي الوقت الفعلي في عملية ضمان الجودة، وأين يكون ذلك خطيرًا، ولماذا يمثل ما يسمى "التمرير الخاطئ" الأخضر المخادع أكبر خطر، وكيفية التحقق من كل مخرجات، وما هي البيانات التي يمكنك تقديمها لأي أداة. وبدون وضع هذا الأساس، ستبقى الوحدات اللاحقة في الهواء.
أين يكون الذكاء الاصطناعي مفيدًا في عملية الاختبار؟
دعونا نقسم مهام الاختبار إلى مجموعتين كبيرتين. المجموعة الأولى: المهام المتكررة والقابلة للإنتاج. صياغة حالة اختبار من أحد المتطلبات، وإدراج نقاط التوقف، وكتابة هيكل كود التشغيل الآلي للشاشة، وترجمة حالة خطأ معقدة إلى تقرير خطأ أنيق، وتلخيص مئات الأسطر من ملفات السجل، واستخراج مخطط من استجابة واجهة برمجة التطبيقات. في هذه المهام، يقوم الذكاء الاصطناعي بتقليل الدقائق إلى ثواني ولا يتعب.
المجموعة الثانية: القرارات التي تكون نتيجتها الجودة والثقة والمسؤولية. قرارات مثل "هل يمكن نشر هذا الإصدار"، "هل هذا الخطأ حرج أم يمكن تأجيله"، "هل تغطية الاختبار هذه كافية"، "هل يلتقط هذا السيناريو مخاطر حقيقية للمستخدم" وما إلى ذلك، تتطلب السياق ومعرفة المنتج والمسؤولية. هنا يقوم الذكاء الاصطناعي بإنشاء خيارات ومسودات، لكنك تقرر "النجاح/الفشل" و"الذهاب/عدم الذهاب".
دعونا نوضح الفرق في جملة واحدة: الذكاء الاصطناعي قوي في "ما هي المواقف التي يمكن اختبارها وكيفية كتابة التعليمات البرمجية التي تختبرها"؛ القرار لك عندما يتعلق الأمر بالسؤال "هل يعمل هذا البرنامج حقًا ومن يضمن ذلك؟"
نصيحة: قبل تسليم الوظيفة إلى الذكاء الاصطناعي، اسأل: "ماذا يحدث إذا كانت هذه النتيجة خاطئة ولم ألاحظها؟" إذا كان الجواب "سأخسر بضع دقائق"، قم بالتفويض بسهولة. إذا كانت الإجابة هي "بدء تشغيل البرنامج المعيب"، دع الذكاء الاصطناعي ينتج المسودة وأنت تتخذ القرار والتحقق.
التمريرة الخاطئة: الخطر الأول للذكاء الاصطناعي في ضمان الجودة
عندما يضيء الاختبار باللون الأخضر، فقد يعني ذلك شيئين: إما أن البرنامج يعمل بشكل صحيح بالفعل، أو أنه لا يرى الخطأ لأن الاختبار قد تم كتابته بشكل غير صحيح. أما الاختبار الثاني فيسمى "تمريرًا خاطئًا" - حيث يشير الاختبار إلى "نجاح" ولكنه لا يؤكد أي شيء في الواقع. ويزداد هذا الخطر بشكل كبير في الاختبارات التي يتم إنتاجها باستخدام الذكاء الاصطناعي، لأن الذكاء الاصطناعي ناجح جدًا في كتابة اختبارات سلسة المظهر ولكنها فارغة.
الأشكال الثلاثة الأكثر شيوعًا للتمرير الزائف هي: (1) الاختبار بدون تأكيد - يتم تشغيل الكود، ولا يحتوي على تأكيدات، ويمرر دائمًا. (2) اختبار التحقق الذاتي - يتم حساب القيمة المتوقعة للاختبار من مخرجات الكود قيد الاختبار؛ أي أنه مهما كان ما ينتج عن الكود، فإن الاختبار يقبله على أنه "صحيح". (3) اختبار يتحقق من الخطأ - التأكيد موجود، ولكنه يتحقق من شيء تافه (على سبيل المثال، "الاستجابة ليست فارغة")، وليس قاعدة العمل الفعلية.
تنبيه: لوحة الاختبار الخضراء ليست دليلاً على الجودة؛ في أحسن الأحوال تقول "الضوابط التي كتبناها لم يتم كسرها الآن". لا تشعر بالارتياح عند رؤية "نجاح" في الاختبار الذي ينتجه الذكاء الاصطناعي - السؤال الحقيقي هو: هل سيتحول هذا الاختبار إلى اللون الأحمر إذا قمت بكسر الكود عمدًا؟ إذا لم يدور، فهذا الاختبار هو زخرفة.
القاعدة الذهبية التي تتكرر خلال هذه الوحدة: اختبار كل اختبار للذكاء الاصطناعي عن طريق كسر الكود عمدًا. إذا كان الاختبار لا يزال باللون الأخضر، فإن هذا الاختبار لا يعمل. (سوف نقوم بتعميق هذه الفكرة باختبار الطفرات في الوحدة العاشرة.)
انضباط التحقق: ثلاث خطوات
يتحدث الذكاء الاصطناعي بثقة؛ هذا لا يعني أن هذا صحيح. قم بتطوير منعكس من ثلاث خطوات لتطبيقه على كل نتيجة:
- ربطه بالشرط. كل حالة اختبار وتؤكد أن إنتاج الذكاء الاصطناعي يجب أن يستند إلى متطلب حقيقي أو معايير قبول (الشروط التي يجب أن تستوفيها الوظيفة حتى يتم اعتبارها "منجزة"). "ما هي القاعدة التي يؤكدها هذا السيناريو؟" بسأل.
- انظر باللون الأحمر. قم بإجراء الاختبار الذي تم إنشاؤه مرة واحدة، مما يؤدي إلى كسر الكود. إذا لم يتحول إلى اللون الأحمر، فإن الاختبار غير صالح. هذه هي الخطوة غير القابلة للتفاوض في اختبار الذكاء الاصطناعي.
- قم بتمريرها عبر مرشح السياق. هل يتطابق الناتج مع ما تعرفه عن سلوك المنتج وبنيته وتدفق المستخدم الفعلي؟ معرفتك بالمجال هي الفلتر النهائي.
خصوصية البيانات وأمنها: ماذا يحدث وأين؟
غالبًا ما تكون البيانات التي تعمل بها في بيئة الاختبار حساسة: سجلات العملاء الحقيقية، ونسخ قاعدة بيانات الإنتاج، ومفاتيح واجهة برمجة التطبيقات، وعناوين النظام الداخلية، والميزات التي لم يتم الإعلان عنها بعد. قم بإجراء تصنيف بسيط: البيانات المفتوحة (الموثقة والمتاحة للجمهور) يمكنها الدخول إلى أي مركبة. البيانات الداخلية (أجزاء التعليمات البرمجية المصدر، والوثائق الداخلية) للأدوات المعتمدة من الوكالة فقط. البيانات السرية (بيانات العميل الحقيقية، معلومات الهوية، تفاصيل الثغرات الأمنية، المفاتيح) لا تدخل إلا إلى الأدوات المتعاقد عليها مع المؤسسة، والتي لا تذهب بياناتها إلى التدريب النموذجي، ويفضل أن تكون مقنعة.
هناك حد إضافي في سياق اختبار الأمان: كل ما تعلمته في هذه الوحدة هو لأغراض دفاعية - لاختبار أمان منتجك بشكل رسمي. إن استخدام الذكاء الاصطناعي للتسلل إلى نظام شخص آخر دون إذن، أو استغلال نقاط الضعف الحقيقية كسلاح، أو اختبار نظام ليس لديك أي سلطة عليه هو أمر غير أخلاقي وإجرامي. لن يتم إجراء أي اختبار مسيء دون الحصول على إذن (النطاق والإذن).
نصيحة: استخدم بيانات الاختبار الاصطناعية (المنتجة بشكل مصطنع) بدلاً من بيانات العميل الحقيقية. إن مطالبة الذكاء الاصطناعي "بإنشاء بيانات اختبار واقعية ولكنها خيالية تمامًا" تحافظ على الخصوصية وتنويع حالات الحافة.
ثلاث حالات صغيرة
الحالة 1 - توفير الوقت في المكان المناسب. قضى القائم باختبار فريق Ekomerce 6 ساعات في إنشاء سيناريو اختبار يدويًا من مستند المتطلبات المكون من 30 صفحة لكل إصدار. أعطى الوثيقة (الجزء الذي لا يحتوي على أسرار تجارية) إلى YZ وطلب مسودة سيناريو منظمة؛ تم تقليص الوقت إلى 90 دقيقة. لقد خصص الوقت الذي وفره للتحقق بنفسه من إضافة حالات حافة قواعد العمل التي فاتها الذكاء الاصطناعي. أزال الذكاء الاصطناعي العمل المتكرر، وترك الحكم للإنسان.
الحالة 2 - تم القبض على تمريرة وهمية. طلب أحد المطورين من الذكاء الاصطناعي كتابة 12 وحدة اختبارية لوظيفة حسابية؛ كانت جميعها خضراء. نفذ المختبر خطوة "انظر باللون الأحمر": تغيير علامة الجمع داخل الوظيفة عمدًا إلى الضرب. عاد 3 فقط من أصل 12 اختبارًا باللون الأحمر. ولم تقدم الاختبارات التسعة الأخرى أي تأكيد حقيقي؛ لقد قال للتو "لم يرتكب خطأ". تم حذف 9 اختبارات زخرفية وتم كتابة 5 اختبارات حقيقية بدلا منها.
الحالة 3 - العودة من انتهاك الخصوصية. قام أحد المتدربين بلصق سجل أخطاء يحتوي على رسائل بريد إلكتروني حقيقية للعملاء وآخر أربعة أرقام من البطاقة من قاعدة بيانات الإنتاج في أداة عامة وقال "اشرح هذا الخطأ". تدخل قائد ضمان الجودة: كانت هذه بيانات شخصية خارجة عن السيطرة وانتهاكًا لقانون حماية البيانات الشخصية (KVKK). تم تنفيذ نفس العمل في مركبة معتمدة من المؤسسة، حيث تم إخفاء المناطق الشخصية وترك أثر المكدس فقط.
أربعة قوالب قابلة للنسخ
1) تقييم مدى ملاءمة الوظيفة:
دورك: قائد أول لضمان الجودة. سأصف لك مهمة الاختبار. أخبرني (1) ما إذا كان هذا العمل بمثابة صياغة/تحليل يمكن تفويضه بأمان إلى الذكاء الاصطناعي أو قرار جيد يجب على الإنسان اتخاذه، (2) التكلفة المحتملة للمخرجات غير الصحيحة، (3) التحقق الذي يجب أن أقوم به قبل التفويض. الوظيفة: [أدخل الوظيفة هنا]
2) التحكم في التمرير الزائف:
تحقق من الاختبار أدناه. أخبرني:- ما هو السلوك الذي يؤكده هذا الاختبار؟ (جملة واحدة)- كيف يمكنني كسر الكود قيد الاختبار بحيث يتحول الاختبار إلى اللون الأحمر؟- هل هناك نقطة ضعف يمكن أن تتسبب في اجتياز هذا الاختبار دائمًا (تأكيد مفقود، التحقق الذاتي، فحص تافه)؟ الاختبار: [الصق الاختبار هنا]
3) التحكم في إخفاء بيانات الاختبار:
قد يحتوي السجل/البيانات التي سأقدمها لك على حقول شخصية أو سرية (البريد الإلكتروني، الاسم، البطاقة، المفتاح، العنوان الداخلي). أولاً، قم بإدراج الحقول التي تحتاج إلى إخفاءها؛ سأخفيه وأرسله مرة أخرى. لا تحللها كما هي.
4) توليد بيانات الاختبار الاصطناعية:
أنشئ 20 صفًا من بيانات الاختبار الواقعية والخيالية تمامًا لـ [بنية الحقل التالية]. لا تستخدم بيانات الشخص/المؤسسة الحقيقية. قم أيضًا بتضمين حالات الحافة: مساحة فارغة، نص طويل جدًا، قيم حدية، تنسيق غير صالح.
موجه ضعيف / موجه قوي
ضعيف: "اكتب اختبارات على هذا الرمز."
Strong: "احسب اختبارات وحدة الكتابة هذه لوظيفة الخصم. معايير القبول للوظيفة: خصم 10% على 1000 ليرة تركية، خصم 20% على 5000 ليرة تركية؛ يجب أن يؤدي المبلغ السالب إلى حدوث خطأ. حدد باستخدام سطر التعليق القاعدة التي تقوم بالتحقق من صحتها لكل اختبار. اختبر القيم الحدية (999، 1000، 1001، 5000، 0، -1) بشكل منفصل. استخدم التأكيدات الحقيقية التي ستتحول إلى اللون الأحمر إذا أكسر الكود فارغًا أو لا أكتب تأكيدًا تافهًا."
موجه قوي؛ فهو يوفر معايير القبول، والقيم الحدية، وتوقعات التحقق من الصحة، وتعليمات صريحة لمكافحة الانتحال. تدعو المطالبة الضعيفة الذكاء الاصطناعي إلى كتابة اختبار زخرفي.
الأخطاء الشائعة
- الثقة باللون الأخضر. الاعتقاد بأن اجتياز الاختبار هو دليل. السؤال الحقيقي هو: هل يتحول اللون إلى اللون الأحمر عند كسر الكود؟
- طلب الاختبار دون إبداء أي سبب. يُنتج الذكاء الاصطناعي اختبارات عامة، وغالبًا ما تكون عديمة الفائدة، دون معرفة ما يجب التحقق منه.
- تخطي التحقق. قوله "لقد كتبه الذكاء الاصطناعي، ربما يكون هذا صحيحًا". وتقع المسؤولية على عاتق الشخص الذي يستخدم الإخراج.
- لصق البيانات الحقيقية/الحساسة في الأداة. العمل مع بيانات الإنتاج أو المفاتيح أو البيانات الشخصية.
- اختبار أمني غير مصرح به. محاولة إجراء اختبار هجومي دون نطاق وإذن.
- استخدام الذكاء الاصطناعي لتفويض اتخاذ القرار. طرح السؤال "هل يمكن إصدار هذا الإصدار؟" إلى الذكاء الاصطناعي ووضع الإجابة في التوقيع.
في ملخص
يعد الذكاء الاصطناعي مساعدًا قويًا في عملية ضمان الجودة، حيث يعمل على تسريع العمل المتكرر والقابل للإنتاج؛ لكن مسؤولية قرار الجودة تقع على عاتق الإنسان. الخطر الأول للذكاء الاصطناعي في هذه المهنة هو النجاح الزائف: الاختبارات الخضراء التي تبدو أنيقة ولكنها لا تؤكد أي شيء. اختبار كل اختبار للذكاء الاصطناعي عن طريق كسر الكود عمدًا؛ إذا لم يتحول إلى اللون الأحمر، فهذا الاختبار هو زخرفة. اربطه بالمتطلبات، وانظر إلى اللون الأحمر، وقم بتمريره عبر مرشح السياق. إخفاء البيانات السرية، وإجراء اختبار الأمان فقط للأغراض المصرح بها والدفاعية.
مهمة التطبيق
قم بإجراء 5 اختبارات وحدة تم إنشاؤها بواسطة الذكاء الاصطناعي (أو تم إنشاؤها باستخدام الذكاء الاصطناعي) من مشروعك الخاص. لكل منها: (1) اكتب في جملة واحدة السلوك الذي تتحقق منه، (2) قم بكسر الكود قيد الاختبار وتشغيله عمدًا ولاحظ عدد عدد التحولات إلى اللون الأحمر، (3) ضع علامة على السلوكيات التي لا تتحول إلى اللون الأحمر على أنها "اختبارات ديكور" وأعد كتابتها بالتأكيد الحقيقي. ضع النتيجة في جدول: اسم الاختبار / القاعدة التي تم التحقق منها / هل تم كسرها عند كسرها / الإجراء.
قائمة مرجعية
- [ ] قبل تسليم العمل، طرحت السؤال "ماذا سأخسر إذا حدث خطأ؟"
- [ ] لقد اختبرت كل اختبار للذكاء الاصطناعي عن طريق كسر الكود؛ لقد استبدلت الذي لم يتحول إلى اللون الأحمر بالاختبار الحقيقي.
- [ ] لقد قمت بربط حالات الاختبار بمعايير المتطلبات/القبول الفعلية.
- [ ] قمت بإخفاء بيانات حساسة/حقيقية دون إعطائها للأداة؛ لقد استخدمت البيانات الاصطناعية إن أمكن.
- [ ] لقد فكرت في اختبار الأمان فقط ضمن السلطة ولأغراض دفاعية.
- [ ] لقد تركت قرار "ما إذا كان سيتم إصدار الإصدار" لنفسي، وليس للذكاء الاصطناعي.