سؤال

يمكن تصنيف الاختبار بشكل أساسي في الاختبار اليدوي والآلي. فيما يتعلق بهذه الأسئلة معينة تتبادر إلى الذهن.

يشملوا:

  • ما هو الفرق الأساسي بين نوعي الاختبار؟

  • ما هي عناصر التحديات تشارك في كل من الاختبار اليدوي والآلي؟

  • ما هو مختلف مجموعات المهارات يتطلبها اختبار البرمجيات للاختبار اليدوي والآلي على التوالي؟

  • ما هو مختلف فرص عمل و فرص متنامية بين اختبار البرمجيات الذين يقومون باختبار يدوي الاختبار الآلي على التوالي؟

  • هو الاختبار اليدوي مُبخَس القيمة للاختبار الآلي في أي حال (ق)؟ إذا كانت الإجابة بنعم ، كيف؟

  • ما مدى اختلاف المختبرين اليدويين مقارنة بالمختبرات الآلية في عالم الشركات؟ (إذا تم التمييز حقًا في أي مصطلحات على هذا النحو)

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

المحلول

الاختبار التلقائي هو أي نوع من الاختبارات حيث تستخدم جزءًا من التعليمات البرمجية / البرنامج لاختبار جزء آخر من التعليمات البرمجية / البرنامج. يمكن أن يكون هذا اختبار الوحدة كما هو موضح أعلاه ، أو يمكن أن يكون عبر أداة أتمتة محددة ، مثل TestComplete و QTP و Selenium ، إلخ. من المحتمل أن يتم تنفيذها من قبل أخصائي برنامج ضمان الجودة. أنواع معينة من الاختبارات ، مثل الأداء واختبار الانحدار ، مناسبة تمامًا للأتمتة ، في حين أن الآخرين ، مثل اختبار قابلية الاستخدام ، ليسوا كذلك.

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

للحصول على نظرة ثاقبة رائعة على مخاطر الاختبار الآلي ، يجب أن تقرأ ليندا ويلكينسون المدونة الحديثة. تشمل الموارد الجيدة الأخرى التي يجب قراءتها مناقشات من نادي اختبار البرمجيات, ، و ال اختبار تلقائي جزء من sqaforums.

إذا لم تكن قد فعلت ذلك بالفعل ، sqaforums يستحق الانضمام لطرح أي أسئلة تتعلق بما ينطوي على الاختبار ، وكذلك لآفاق الوظائف.

نصائح أخرى

حسنًا ، لا يمكنني التحدث إلا عن آرائي وخبراتي ، وأنا مجرد مطور عمل قليلاً مع المختبرين ومهندسي ضمان الجودة. على أي حال ، بلدي 2C:

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

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

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

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

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

  • الميزة الرئيسية في الاختبار الآلي هي أنه يمكنك إجراء اختبار الانحدار بسرعة .. يمكن للمطور التحقق من الوظائف السابقة ، إذا كان يعمل بشكل جيد أو لا بعد إضافة وظائف جديدة إلى النظام.
  • لذلك عندما تعمل مع موعد نهائي ضيق ثم باستخدام أدوات التشغيل الآلي ، يمكنك تقليل جهد اختبارك .. لذلك في ذلك الوقت ، يتعين عليك التحقق من هذه الوظائف التي لم تنشئ فقط نصوص اختبار تلقائية. (مثل اختبار إخطارات البريد الإلكتروني/الرسائل القصيرة ، وتوافق المتصفح/واجهة المستخدم وما إلى ذلك)
  • تستخدم العديد من الشركات اليوم أدوات أتمتة المصادر المفتوحة (مثل Selenium و Opensta و Jmeter وما إلى ذلك) لجهود الاختبار العادية. لذلك من الأفضل إذا كنت تعرف كيفية اختبار تطبيق باستخدام أدوات الحرة هذه بدلاً من الأدوات المدفوعة.

الفرق الأساسي هو كيفية التحقق من الاختبار. هل يتم ذلك عبر فحص برمجي أم أن هناك فحصًا بشريًا؟

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

كلاهما يتطلب الاهتمام بالتفاصيل والصبر والمهارات التنظيمية ليكون لها مصداقية في قول: "نعم ، هذا منتج/خدمة عالية الجودة." يمكن أن تأتي الاختلافات حيث يستخدم الاختبار الآلي برامج خاصة عادة.

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

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

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

قد لا تكون هذه مشكلة دائمًا ، ولكن مجموعة الحالات التي تكون فيها جزء كبير جدًا من صناعة البرمجيات.

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

سأتركك لإلهي إجاباتي على بقية الأسئلة من الفرضية الأساسية التي حددتها.

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