أتمتة الاختبار: Java أو Python؟

تحية للجميع! في مارس ، أطلقت OTUS دورتين للاختبار الآلي في آن واحد: "Python QA Engineer" و "Java QA Engineer" . غالبًا ما يُطلب منا تحديد أي من هذه الدورات التدريبية ، قررنا الإجابة على هذا السؤال من خلال ترجمة مقال من SafeBear.




أحد الأسئلة الأكثر شيوعًا هو:
ما هي الدورة التدريبية التي يجب علي أخذها: في اختبار الأتمتة في Python أو اختبار الأتمتة في Java؟ ولماذا لدينا دورات باللغتين؟

أول وأهم شيء يجب قوله: لا يهم اللغة التي تعمل بها تلقائيًا.

يمكن كتابة التطبيق الذي تريد اختباره بلغة Java أو Python أو C # أو Assembly أو Scala أو أي لغة برمجة أخرى متاحة. ستعمل أطر الاختبار المؤتمتة في Python على إجراء الاختبارات اليدوية تلقائيًا ليس أسوأ من أطر عمل Java. عندما يتعلق الأمر بأتمتة واجهة المستخدم الرسومية ، فلا فرق في أي إطار تختبره.

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

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

Python مثالي


الايجابيات


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

قصير وبسيط . بالمقارنة مع بناء جملة Java المحمل ، فإنه سهل الاستخدام والقراءة بشكل مثير للسخرية. من المعروف أيضًا أن هناك 10 خطوط في Java لكل سطر في Python.

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

التدريب والدعم. على الإنترنت ، يمكنك العثور على مجموعة من التدريب والمواد المفيدة. بشكل عام ، توصل الناس إلى استنتاج مفاده أن مواد Python مفهومة أكثر من أي لغة أخرى.

السلبيات


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

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

جافا هي ما تحتاجه!


الايجابيات


IDEs كبيرة . إنه لمن دواعي سروري أن أكتب بلغة جافا في بيئة مثل IntelliJ IDE . يقوم IDE بمعظم العمل نيابة عنك ، حتى أنه يتحمل ألم البنية المعقدة. ستؤدي وظائف إكمال التعليمات البرمجية الكثير من العمل نيابة عنك ، حتى يبدو لك أنك قمت بكتابة بضع أحرف فقط على لوحة المفاتيح.

PageFactory . يبسط PageFactory في Java التعليمات البرمجية لأتمتة Selenium ويسمح لك بكتابة اختبارات سهلة الفهم.

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

السلبيات


Abracadabra . ليس من السهل قراءة كود Java مقارنةً بـ Python English العادي. تحتوي Java أيضًا على منحنى تعليمي حاد للغاية ، والوثائق ليست مفيدة دائمًا. ومع ذلك ، يمكن العثور على مساعدة حول العديد من المشكلات عبر الإنترنت (على سبيل المثال ، على Stack Overflow ).

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

يقتصر على اختبار الأتمتة. لن تستخدم Java أبدًا في مجالات الاختبار الأخرى. ليس في CI أو اختبار الأداء أو الأمان أو التوفر أو في أي مكان آخر. أنت فقط تعلق في أتمتة اختبار الواجهة الرسومية لتطبيقك وهذا كل ما في الأمر.

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

Python QA Engineer
Java QA Engineer

All Articles