Otomasi Uji: Java atau Python?

Halo semuanya! Pada bulan Maret, OTUS meluncurkan dua kursus otomatisasi ujian sekaligus: "Python QA Engineer" dan "Java QA Engineer" . Kami sering ditanya kursus mana yang dipilih, kami memutuskan untuk menjawab pertanyaan ini dengan menerjemahkan artikel dari SafeBear.




Salah satu pertanyaan paling populer adalah:
Kursus mana yang harus saya ambil: pada otomatisasi pengujian dengan Python atau otomatisasi pengujian di Jawa? Dan mengapa kita memiliki kursus dalam kedua bahasa?

Hal pertama dan terpenting untuk dikatakan: tidak masalah bahasa apa yang Anda otomatisasi.

Aplikasi yang ingin Anda uji dapat ditulis dalam Java, Python, C #, Assembly, Scala, atau bahasa pemrograman lain yang tersedia. Kerangka kerja pengujian otomatis dalam Python akan mengotomatiskan pengujian manual tidak lebih buruk daripada kerangka kerja Java. Ketika datang ke otomatisasi GUI, tidak ada bedanya kerangka mana yang Anda uji.

Kursus mana yang tepat untuk Anda tergantung pada situasi Anda. Tentu saja, jika Anda ingin menjadi ahli otomasi, maka kemungkinan besar Anda ingin mengambil kedua kursus tersebut, karena kerangka kerjanya masih sangat bervariasi. Masing-masing dari mereka mengatasi tugasnya, seperti yang akan Anda lihat di bawah ini, dan kadang-kadang, memilih kerangka kerja bergantung pada preferensi pribadi.

Saya mencoba untuk melihat pro dan kontra dari kedua kerangka kerja ini, dengan harapan ini akan memudahkan proses pengambilan keputusan Anda. Jika setelah itu keputusan akan dibuat lebih sulit, maka maafkan saya.

Python sempurna


pro


Mengotomatiskan dunia Anda, bukan hanya pengujian Anda. Sulit untuk memulai jalur penguji tanpa mengetahui Python. Jika ada bahasa yang perlu Anda ketahui agar dapat mengotomatisasi SEMUA, maka ini jelas Python. Anda dapat mengotomatiskan penyebaran lingkungan, menggunakannya untuk memindai port atau melakukan pengujian keamanan, karena CI sangat diperlukan. Python akan menjadi teman Anda, dan Anda akan meminta bantuan lagi dan lagi.

Singkat dan sederhana . Dibandingkan dengan sintaks Java yang dimuat, sangat mudah digunakan dan dibaca. Itu juga fakta yang terkenal bahwa ada 10 baris di Jawa per baris dalam Python.

Karena kamu sudah melakukan semuanya. Banyak orang lain menggunakan Python untuk alasan yang sama seperti Anda, dari sini kita dapat menyimpulkan bahwa seseorang telah menulis kode yang Anda butuhkan, dan Anda dapat mengimpornya.

Pelatihan dan dukungan. Di Internet Anda dapat menemukan banyak pelatihan dan materi yang bermanfaat. Secara umum, orang sampai pada kesimpulan bahwa materi Python lebih mudah dipahami daripada bahasa lain.

Minus


Nyeri dengan IDE . Python dibuat untuk menjadi sederhana, universal dan untuk menyediakan kemampuan untuk menulis skrip langsung dari penerjemah, sehingga tidak cocok dengan IDE dan juga Java. Ini sangat sederhana dan serbaguna sehingga IDE tidak dapat memahami apa yang Anda lakukan ketika Anda mulai membuat objek dan melewati mereka di antara metode. Ini adalah fitur yang tidak menyenangkan yang dapat berperan jika Anda benar-benar ingin menggunakan IDE untuk membuat kerangka kerja Anda.

Dukungan kantor . Terkadang lebih baik mendapat dukungan lokal. Jika tidak ada seorang pun di tim Anda yang mengetahui Python, maka tidak akan ada yang mendapatkan bantuan mendesak dalam menyelesaikan masalah yang muncul.

Jawa adalah yang Anda butuhkan!


pro


IDE yang luar biasa . Sangat menyenangkan untuk menulis di Jawa dalam lingkungan seperti IntelliJ IDE . IDE melakukan sebagian besar pekerjaan untuk Anda, bahkan mengatasi rasa sakit sintaksis kompleks. Fungsi penyelesaian kode akan melakukan banyak pekerjaan untuk Anda, sampai Anda merasa bahwa Anda telah mengetik beberapa karakter pada keyboard.

PageFactory . PageFactory di Java menyederhanakan kode untuk otomatisasi Selenium dan memungkinkan Anda untuk menulis tes yang mudah dipahami.

Dukungan rumah. Sebagian besar penguji bekerja dengan pengembang Java. Jika Anda terjebak dengan sesuatu, setelah beberapa meja Anda akan selalu menjadi seseorang yang akan membantu Anda. Ini sangat membantu dalam kurva belajar, dan memberi Anda manfaat dari pengetahuan dan pengalaman rekan kerja Anda. Jangan punya waktu untuk melihat-lihat, karena Anda menjadi seorang profesional.

Minus


Abracadabra . Tidak mudah membaca kode Java dibandingkan dengan bahasa Inggris Python sederhana. Java juga memiliki kurva belajar yang sangat curam, dan dokumentasi tidak selalu berguna. Namun, bantuan pada banyak masalah dapat ditemukan online (misalnya, di Stack Overflow ).

Nyeri dengan pointer nol . Ketika Java memberi Anda pesan kesalahan dan menampilkan jejak tumpukan, itu tidak selalu mudah untuk memahami apa masalahnya, dan kadang-kadang informasi ini tidak berguna. IntelliJ membantu di mana ia bisa, tetapi pesan kesalahan yang tidak bisa dipahami dapat mengubah debug menjadi gangguan total.

Terbatas untuk menguji otomatisasi. Anda tidak akan pernah menggunakan Java di area pengujian lainnya. Tidak dalam CI, pengujian kinerja, keamanan, ketersediaan, atau di mana pun. Anda hanya terjebak dalam otomatisasi pengujian antarmuka grafis aplikasi Anda dan hanya itu.

Itu saja. Kami harap sekarang menjadi lebih mudah bagi Anda untuk memutuskan program mana yang akan dipilih, tetapi untuk mengkonsolidasikan pilihan Anda, kami mengundang Anda untuk pelajaran gratis tentang kursus:

Python QA Engineer
Java QA Engineer

All Articles