لنبدأ مع الحلو ونقدم أمثلة من اختبار الممارسة.
تخيل وجود متجر إلكتروني جاهز للإطلاق. لا شيء يبشر بالمتاعب. طور المسوقون إستراتيجية ترويج ، وكُتبت مقالات في موارد الإنترنت المتخصصة ، وتم دفع الإعلانات. تتوقع الإدارة ما يصل إلى 300 عملية شراء أسبوعيًا. الأسبوع الأول يمر ، والمديرين تسجيل 53 المدفوعات. إدارة المتجر غاضبة ...
يعمل مدير المشروع بحثًا عن أسباب: عدم وجود فكر في قابلية الاستخدام؟ حركة المرور غير لائقة؟ شيء اخر؟ بدأنا نفهم ، درس نظام تحليل البيانات. اتضح أن 247 شخصًا وصلوا إلى الخروج ، ودفع 53 منهم فقط.
أظهر التحليل أن الباقي لم يتمكن من إجراء عملية شراء بسبب عنوان البريد الإلكتروني!
تم تقديم اختبار نموذج الطلب إلى متخصص مبتدئ. لقد بذل قصارى جهده ، ودخل في الحقول "الاسم" ، "البريد الإلكتروني" ، "الهاتف" جميع الخيارات الممكنة والمستحيلة التي منحته مولدات إلكترونية. وبعد أسبوع ، تم العثور على جميع الأخطاء وثابتة. لقد تم إطلاق الإصدار. ولكن من بين الخيارات التي تم النظر فيها لم يكن هناك عنوان بريد إلكتروني واحد يحتوي على أقل من 8 أحرف بعد @.
لذا فإن أصحاب السعادة من mails @ mail.ru ، @ ya.ru (وتلك المشابهة) لم يتمكنوا من إدخال بريدهم وترك الموقع دون تسوق. تلقى أصحاب أقل من 600 ألف روبل ، تم استنزاف ميزانية الإعلان بالكامل في الفراغ ، وتلقى متجر على الإنترنت نفسه مجموعة من الاستعراضات السلبية.
هل تعتقد أن هذه قضية معزولة؟ ثم هنا قصة رعب أخرى للعميل.
في أعقاب الاهتمام العام بالمدفوعات غير النقدية ، قررت شركة القروض تقديم طريقة جديدة لتحويل الأموال - إلى البطاقة المصرفية للمقترض. قمنا بتطبيق النموذج المناسب في الحساب الشخصي للمدير ، وقمنا باختبار خيارات الخطأ المختلفة في الحقول لإدخال بيانات البطاقة ، وإصلاحها ، وبدأنا العمل. بعد شهر ، توصلت الإدارة إلى معلومات مفادها أن 24٪ من المقترضين المحتملين الذين حصلوا بالفعل على موافقة لم يتقدموا بطلب للحصول على قرض حتى النهاية. لماذا؟ لقد قدموا بطاقة مصرفية ، كان عددها 18 رقمًا ، بدلاً من تلك التي تم التعهد بها واختبارها 16. لا يمكن للنظام ولا للمديرين تسجيل مثل هذه البطاقات ، ولم يترك العملاء أي شيء.
تم تنفيذ المشروع الرائد في 3 مكاتب بالمدينة. كان متوسط عدد القروض الشهرية في ثلاثة مكاتب 340. النتيجة: فقدت المنظمة ما لا يقل عن 612 ألف روبل. الإيرادات.
هذه مجرد أمثلة قليلة يمكن أن تسبب فيها البيانات الاصطناعية خسائر فادحة في المشروع. يقوم العديد من المختبرين بإدخال البيانات الاصطناعية من أجل اختبار المشروعات المختلفة - من التطبيقات المحمولة إلى البرامج. في هذه الحالة ، يختبر المختبرون أنفسهم مواقف اختبار ، في محاولة للتنبؤ بسلوك المستخدم.
ومع ذلك ، في كثير من الأحيان يرون المستخدم ليس متعدد الأبعاد ، كما هو الحال في السينما مع النظارات ثلاثية الأبعاد ، ولكن سطحية ، كما لو كان الطفل رسم رجل صغير على ورقة الألبوم.
هذا يؤدي إلى حقيقة أن المختبر لا يغطي جميع حالات الاختبار الممكنة ولا يمكنه العمل مع كمية كبيرة من البيانات. وعلى الرغم من أنه يمكن إجراء الاختبار بشكل جيد ، إلا أنه لا توجد ضمانات بعدم تعطل النظام عندما يبدأ المستخدم الحقيقي (غالبًا ما يكون غير منطقي ولا يمكن التنبؤ به) في التفاعل مع المنتج.
اليوم سوف نتحدث عن البيانات التي يجب منحها الأفضلية في عملية الاختبار: الاصطناعية أو الحقيقية.
سوف نفهم من حيث
في كل مرة نجري فيها اختبارًا ، نقرر بيانات الاختبار التي سنستخدمها. مصادرها قد تكون:
- نسخ من قاعدة بيانات الإنتاج على مقاعد البدلاء الاختبار.
- قاعدة بيانات لأنظمة العميل الخارجية التي يمكن استخدامها في النظام الحالي.
- اختبار مولدات البيانات.
- دليل إنشاء بيانات الاختبار.
أول 2 مصادر تزودنا ببيانات اختبار حقيقية. يتم إنشاؤها بواسطة العمليات الحالية من قبل المستخدمين أو النظام.
على سبيل المثال ، عندما ننضم إلى مشروع لتطوير منتج ويب لشركة تصنيع ، يمكننا استخدام نسخة من قاعدة بيانات 1C الحالية للاختبار ، والتي جمعت لعدة سنوات وعالجت جميع البيانات حول العمليات والعملاء. باستخدام الوحدة النمطية لإنشاء تقارير عن الطلبات المكتملة وعرضها ، نحصل على معلومات من 1C بالتنسيق المطلوب ونتعامل مع بيانات اختبار حقيقية.
نسمي المصادر من النقطتين 3 و 4 "بيانات الاختبار الصناعي" (يمكن العثور على مثل هذا المصطلح في الاختبارات الأجنبية ، ولكن نادرًا ما يستخدم في مقطع اللغة الروسية). نخلق هذه البيانات بأنفسنا لأغراض التطوير والاختبار.
على سبيل المثال ، تلقينا طلبًا من منصة تداول إلكترونية جديدة للمشتريات من قبل مؤسسات الدولة والبلدية بموجب 44 قانون الفيدرالي. هنا ، يتم اتباع قواعد صارمة للغاية لحماية المعلومات ، وبالتالي لا يستطيع الفريق الوصول إلى البيانات الحقيقية. المخرج الوحيد للاختبار هو إنشاء مجموعة كاملة من بيانات الاختبار من البداية. حتى التوقيعات الرقمية المادية التي تهدف فقط للاختبار.
في ممارستنا ، نادراً ما يتم استخدام نوع واحد من البيانات ، وعادةً ما نعمل مع مجموعة منهم حسب المهمة.
للتحقق من القيود والاستثناءات في نفس النظام لشركة التصنيع ، استخدمنا أيضًا بيانات تركيبية. بمساعدتهم ، فحصنا كيف يتصرف التقرير إذا لم تكن هناك منتجات في أحد الطلبات. على منصة التداول الإلكترونية ، قمنا بدمج البيانات الاصطناعية مع الكتب المرجعية الحقيقية OKPD2 و OKVED2.
قدرات البيانات الاصطناعية
في بعض الحالات ، لا يمكن الاستغناء عن البيانات الاصطناعية ببساطة! دعونا نرى المهام التي يمكن استخدامها من ترسانة المختبر:
1. التبسيط والتوحيد
غالبًا ما تكون البيانات الحقيقية صفائف بيانات متجانسة: تخيل أن الآلاف من الأفراد الذين لديهم مجموعة واحدة من السمات والكيانات القانونية من أنواع مختلفة والعمليات القياسية والعديد من الأنواع الأخرى من الكيانات مسجلة في النظام. إذن لماذا تقضي ساعات في اختبار نفس المدخلات ، إذا كان يمكنك الجمع بينهما في مجموعات وتعيين "ممثل" لكل مجموعة؟
في أحد مشاريع العام الماضي ، قرر العميل تقوية فريق الاختبار قبل الإصدار التالي ، والذي شارك فيه فريق من المتخصصين لدينا. احتوى المنتج على نموذج تسجيل معدل مع العديد من الحقول. وضعنا نماذج الاختبار لمدة 30 دقيقة وقضينا نفس الوقت تقريبا. في موازاة ذلك ، تبين أن اختبارًا آخر قد اختبر هذا النموذج بالفعل ، بعد أن أمضى 7 ساعات عليه. لماذا؟ قرر فقط إجراء الاختبار وفقًا للبيانات الحقيقية لـ 12 موظفًا من قائمة الموظفين ولم يأخذ في الاعتبار أن اختبار موظف واحد يغطي جميع السمات المتماثلة لكل ملف تعريف مسجل.
الربح: 6 ساعات و 30 دقيقة ، وهذا فقط في اختبار واحد.
2. التوافقية وتغطية الاختبار
على الرغم من كمية البيانات الحقيقية الكبيرة في أغلب الأحيان ، إلا أنها قد لا تحتوي على عدد من الحالات المحتملة. من أجل ضمان تشغيل النظام مع مجموعات مختلفة من بيانات الإدخال ، علينا أن نولدها بأنفسنا.
دعنا نعود إلى المثال السابق. تم الانتهاء من استمارة التسجيل في الإصدار الجديد لسبب ما. قرر فريق العملاء ، بناءً على معايير ثقافة الشركات ، جعل الاسم الأوسط إلزاميًا. نتيجة لذلك ، فجأة كان لكل الأخصائيين الأجانب في الولاية أب واحد - إيفان (قال أحدهم لكتابة إيفانوفيتش حتى يصلوا إليه). الحالة مضحكة ، لكن إذا لم تأخذ في الاعتبار بعض قوائم الأمنيات أو معايير عملائك في الاختبارات ، فلا تتعرض للإهانة إذا كان هؤلاء الأشخاص لا يأخذونك في الاعتبار في تكاليفهم / مراجعاتهم.
3. الأتمتة
في الاختبار الآلي ، لا غنى عن البيانات الاصطناعية. حتى التغييرات التي تبدو ضئيلة في البيانات يمكن أن تؤثر على تشغيل مجموعة كاملة من تجارب التشغيل.
مثال من القطاع المصرفي سوف يكون توضيحي هنا. من أجل التحقق مما إذا كان التطبيق يضع أرقام الحسابات المصرفية بشكل صحيح في المستندات التي تم إنشاؤها ، أمضينا 120 شخصًا / ساعة في كتابة الاختبارات التلقائية. لم يكن هناك وصول إلى قاعدة البيانات ، لأنه تم الإشارة إلى رقم الحساب في الاختبار التلقائي نفسه. أظهرت الاختبارات نتائج ممتازة وكنا مستعدين لاستخلاص 180٪ + عائد استثمار من التشغيل الآلي في التقرير. ولكن بعد أسبوع تم تحديث قاعدة البيانات مع تغيير في رقم الحساب. جميع autotests ، وكذلك جهود التشغيل الآلي لدينا ، انتهى بأمان. بعد مراجعة الاختبارات الذاتية ، انخفض عائد الاستثمار النهائي إلى 106٪. مع نفس النجاح ، يمكننا أن نبدأ على الفور الاختبار بأيدينا.
4. تحسين الإدارة
باستخدام البيانات الاصطناعية ، نحن نعرف (في أسوأ الحالات ، نفترض) نوع الاستجابة التي نتوقعها من النظام. إذا تم إجراء تغييرات على الوظيفة ، فإننا نفهم كيف ستتغير الاستجابة لنفس البيانات. أو يمكننا ضبط البيانات للحصول على النتيجة المرجوة.
في أحد المشروعات ، بدأ فريقنا في الاختبار باستخدام بيانات حقيقية من قاعدة بيانات الطرف المقابل للعميل. تم تنقيح قاعدة البيانات بنشاط ، ولكن في ذلك الوقت تم تجميعها بلا مبالاة. فقدنا بعض الوقت في محاولة لفهم مكان الخطأ أو في الوظيفة أو في قاعدة البيانات. كان الحل بسيطًا ، وهو إنشاء قاعدة بيانات تركيبية ، والتي أصبحت أقصر ، ولكنها أكثر ملاءمة وأكثر إفادة. تم الانتهاء من اختبار هذه الوظيفة في 12 شخص / ساعة.
فما هي العيوب؟
قد تبدو البيانات الاصطناعية كلي القدرة. هكذا ، حتى تصادف العامل البشري. يتم إنشاء البيانات الاصطناعية عمدا من قبل الناس وهذا هو العيب الرئيسي. لا يمكننا التفكير فعليًا من خلال جميع السيناريوهات والتركيبات الممكنة لعوامل الإدخال (ولا أحد ألغى القوة القاهرة). وهنا تبقى الميزة للبيانات الحقيقية.
فوائد العمل مع البيانات الحقيقية
ما هي المزايا التي نراها في العمل مع البيانات الحقيقية؟ 4 البراهين من تجربتنا:
1. العمل مع كميات كبيرة من المعلومات
التشغيل الفعلي للنظام يوفر لنا ملايين العمليات. كرر العمل المتزامن لآلاف المستخدمين أو أن إنشاء البيانات تلقائيًا لن يكون قادرًا على أي فريق من المتخصصين.
إثبات: أنشأنا قاعدة بيانات مصغرة تركيبية ، والتي ، كما بدا لنا ، تفي بجميع معايير قاعدة العملاء الحالية. مع وجود قاعدة تركيبية ، كان كل شيء جيدًا ، ولكن بمجرد إجراء الاختبارات باستخدام قاعدة حقيقية ، سقط كل شيء. خلاصة القول: إذا لم تتمكن من مراعاة جميع الفروق الدقيقة في نموذج بيانات حقيقي ، فلا تضيع الوقت في إنشاء بيانات تركيبية.
2. باستخدام مجموعة متنوعة من تنسيقات البيانات
النص والصوت والفيديو والصور والملفات القابلة للتنفيذ والمحفوظات - من المستحيل التنبؤ بما يقرر المستخدم تحميله في حقل النموذج. قد يتم تجاهل النصائح حول التنسيقات المقبولة ، وقد لا يقوم فريق التطوير بتطبيق الحظر المفروض على التنزيل. نتيجة لذلك ، يتم اختبار السيناريوهات المطلوبة. على سبيل المثال ، في مجال تنزيل الصوت ، من الممكن بالفعل تنزيل ملف mp3 وأن تنزيل ملف قابل للتنفيذ لن يضر بالنظام. البيانات الحقيقية تساعدنا على تتبع الاستثناءات.
دليل: لقد اختبرنا حقل تحميل الصور في ملف تعريف المستخدم. جربنا التنسيقات الرسومية الأكثر شيوعًا من قاعدة البيانات ، بالإضافة إلى العديد من ملفات الفيديو والنصوص. تجميع الاصطناعية تحميلها تماما. في الاستخدام الفعلي ، اتضح أن أي محاولة لتنزيل ملف صوتي تسبب خطأ. تعطل نموذج التسجيل بأكمله دون القدرة على استبدال الملف. حتى تحديث الصفحة لم يحفظ.
3. عدم توقع سلوك المستخدم
على الرغم من أن العديد من المتخصصين في ضمان الجودة قد نجحوا في إنشاء وتحليل المواقف الاستثنائية ، فلنكن صادقين - لا يمكننا أبدًا التنبؤ بدقة بكيفية تصرف الشخص والعوامل المحيطة به. ويمكنك البدء بإيقاف تشغيل الإنترنت في وقت العملية ، وينتهي بعمليات برمز البرنامج والملفات الداخلية.
إثبات: في شركتنا يحصل كل عام على شهادة ، حيث ، من بين أمور أخرى ، يقومون بتقييم مهاراتهم في استبيان خاص. يتم الاتفاق على التقديرات مع الرئيس ، وبناءً عليها ، يتم احتساب الدرجة (المستوى) للمتخصص. قبل الإصدار ، تم اختبار الوحدة بالكامل ، كان كل شيء يعمل على مدار الساعة. ولكن مرة واحدة ، في وقت حفظ النتائج ، تم تنفيذ هجوم ddos على النظام ، ونتيجة لذلك تم حفظ جزء فقط من البيانات ، والمحاولات اللاحقة لحفظ الأخطاء مكررة فقط. دون وضع حقيقي ، ما كنا نتعقب هذا الخطأ الخطير.
4. تحديثات النظام
من المهم للغاية فهم كيفية تصرف النظام أثناء الترقية ، وما هي المخاطر المحتملة ، وما الذي قد "لا ينطلق". في برامج مثل 1C ، حيث يوجد عدد كبير من الدلائل والروابط ، تكون مشكلة التحديثات حادة بشكل خاص. وهنا سيكون الخيار الأفضل هو الحصول على نسخة جديدة من إصدار الإنتاج ، واختبار التحديث عليه ، وعندئذٍ فقط يتم إصداره.
دليل: القضية شائعة جدا. مشروع في مجال خدمات العوملة. أهمية فقدان البيانات وتشويهها هائلة ، وأي شك في أهمية البيانات المستنسخة من قبل النظام يمكن أن يوقف المكتب بأكمله. وهنا يقوم برنامجنا الخاص بطرح التحديث التالي فورًا على المنتج ، دون التقاط آخر 10 إصدارات من الإصدارات.
تم إطلاقها في الساعة 18-00 في الصباح ، في تمام الساعة 11. بسبب فشل الإكمال وعدم فهم الإصدارات ، تم تجميد عمل أقسام الشركة تمامًا لمدة ساعتين. لا يمكن للمديرين معالجة العقود الحالية وتسجيل عقود جديدة.
منذ ذلك الحين ، كنا نعمل مع ثلاثة مواقف دون أن تفشل:- تطوير. يتم وضع تحسينات هنا ، والفوضى والخروج على القانون مستمرة ، وتسمى اختبار الاستثناء. يعمل مهندسو ضمان الجودة بشكل أساسي مع البيانات التركيبية ، حيث يتم غرس البيانات الحقيقية.
- قبل الإصدار. عندما يتم تنفيذ جميع التحسينات واختبارها ، فإنهم يذهبون إلى هذا الفرع. يتم أيضًا تدشين إصدار مع عملية بيع هنا أيضًا. وبالتالي ، نحن اختبار تحديث وتشغيل وظائف جديدة في ظروف القتال المشروط.
- الإنتاج. هذه نسخة فعالة ومكتوبة من النظام يعمل بها المستخدمون النهائيون.
فما هي البيانات ومتى العمل؟
نشارك 3 رؤى لعملنا مع بيانات حقيقية وتركيبية:
1. تذكر أن اختيار نوع البيانات يعتمد على أهداف ومرحلة الاختبار. لذلك ، وتطوير نظام جديد ، لا يمكننا العمل إلا مع البيانات الاصطناعية. لتغطية مجموعات مختلفة من شروط الإدخال ، أيضًا ، في أغلب الأحيان ، ننتقل إليها. لكن استنساخ بعض الاستثناءات الصعبة المتعلقة بسلوك المستخدم سيتطلب سجلات حقيقية. الأمر نفسه ينطبق على العمل مع الدلائل والسجلات المقبولة عموما.
2. لا تنسى تحسين عملك باستخدام بيانات الاختبار. يمكنك استخدام المولدات ، حيثما أمكن ، إنشاء سجلات مشتركة للكيانات الأساسية ، وحفظ واستخدام نسخ احتياطية للنظام في الوقت المناسب ، ونشرها في الوقت المناسب. إذن لن يكون التحضير للمشروع القادم مصدر حزن وكآبة لك ، بل سيكون أحد مراحل العمل.
3. لا تذهب إلى جانب المواد الصلبة ، ولكن لا تركز على البيانات الحقيقية. استخدم أسلوبًا موحدًا لاختبار البيانات حتى لا تفوت الأخطاء ، وتوفير الوقت وإظهار الحد الأقصى من النتائج في عملك.
على الرغم من حقيقة أن المواد التركيبية تتنبأ بمستقبل عظيم ، وقد رأى العلماء في البيانات الاصطناعية أملاً جديدًا للذكاء الاصطناعي ، إلا أن المواد التركيبية ليست الدواء الشافي للاختبار. هذه مجرد طريقة أخرى لإنشاء بيانات الاختبار التي يمكن أن تساعد في حل مشاكلك ، ويمكن أن تؤدي إلى مشاكل جديدة. معرفة نقاط القوة والضعف في البيانات الحقيقية / الاصطناعية ، وكذلك القدرة على تطبيقها في الوقت المناسب ، هو ما يحميك من الخسائر أو التوقف أو اتخاذ إجراءات قانونية. آمل أن نساعدكم اليوم أن تصبحوا أكثر أمناً أم لا؟
لنناقش. أخبرنا في التعليقات حول حالاتك من العمل مع بيانات الاختبار الاصطناعية والحقيقية. دعونا نرى من بيننا أكثر: الواقعيين أم المواد التركيبية؟ ؛)
فيكتوريا سوكوفيكوفا.
محلل اختبار في مختبر الجودة