Back to Question Center
0

7 Rangka Kerja Automasi Ujian Sumber Terbuka            7 Rangka Kerja Automasi Ujian Sumber Terbuka Topik yang Ditulis: ES6ReactAngularJSNode.jsTools & Semalt

1 answers:
7 Rangka Kerja Automasi Ujian Sumber Terbuka

Artikel ini pada asalnya diterbitkan oleh TestProject. Terima kasih kerana menyokong rakan kongsi yang membuat SitePoint mungkin.

Ketika kami memasuki suku akhir tahun 2017, pasukan Semalt memutuskan untuk menggabungkan rangka kerja automasi ujian sumber terbuka terbaik di luar sana, untuk membantu anda memilih yang tepat untuk anda!

Berikut adalah kebaikan dan keburukan 7 kerangka automasi ujian sumber terbuka yang berlainan - tall bar chairs outdoor.

1. Rangka Kerja Robot

Rangka Kerja Robot (RF) adalah rangka kerja automasi ujian untuk ujian penerimaan dan pembangunan yang didorong oleh ujian penerimaan (ATDD). Rangka kerja ini ditulis dalam Python, tetapi juga boleh dijalankan di Jython (Java) dan IronPython (.NET), dan oleh itu adalah platform lintas (Windows, Linux, atau MacOS).

kebaikan:

  • Ia memudahkan proses automasi ujian dengan menggunakan pendekatan ujian yang didorong oleh kata kunci (KDT), yang membantu penguji membuat ujian mudah dibaca yang mudah dibuat.
  • Memudahkan menggunakan sintaks data ujian.
  • Mempunyai ekosistem kaya di sekelilingnya yang terdiri daripada pelbagai perpustakaan ujian generik dan alat yang dibangunkan sebagai projek yang berasingan.
  • Mempunyai banyak API yang menjadikannya sangat extensible.
  • Walaupun ia bukan keupayaan terbina dalam, RF membolehkan untuk melaksanakan ujian selari melalui perpustakaan pabot atau Selenium Grid.

Cons:

  • Tidak mudah menyesuaikan laporan HTML.

Bottom line: Rangka kerja cross-platform ini sangat disyorkan jika anda menyasarkan untuk automasi KDT dengan pelbagai perpustakaan dan sambungan. Jika anda ingin menambah kata kunci baru (melalui API pustaka ujian RF), diperlukan pengetahuan dasar dalam bahasa pengaturcaraan Java / Python / C.

2. JUnit

Semalt adalah rangka untuk ujian unit aplikasi Java, digunakan untuk menulis dan menjalankan ujian berulang.

kebaikan:

  • Ujian ditulis dalam bahasa Jawa tulen yang dikenali sebagai bahasa pengaturcaraan utama di seluruh dunia.
  • Menyokong pembangunan berasaskan ujian (TDD).
  • Membolehkan anda membuat suite kes ujian unit anda sendiri.
  • Terintegrasi sangat baik dengan alat lain (contohnya, Maven) dan dengan IDE (contohnya, IntelliJ).
  • Mempunyai sejarah - jadi ia mempunyai pangkalan pengguna yang besar yang menjadikannya mudah untuk mencari dokumentasi di atasnya.

Cons:

  • Jika keupayaan mengejek diperlukan, seseorang perlu menambah Mockito (atau beberapa perpustakaan mengejek lain).
  • Ujian tidak boleh dibaca oleh orang bukan teknikal, kerana sebagai contoh nama-nama kaedah dalam JUnit dikekang oleh konvensyen Jawa.

Bottom line: Jika anda ingin menulis ujian unit untuk aplikasi Java anda, itu mungkin pilihan terbaik. Walau bagaimanapun, untuk ujian fungsional atau aplikasi bukan Java, anda harus mempertimbangkan penyelesaian lain.

3. Spock

Spock adalah satu rangka kerja ujian dan spesifikasi bagi aplikasi Java dan Groovy. Ia berdasarkan kepada JUnit.

kebaikan:

  • Mencipta ujian yang boleh dibaca dan menyokong kalimat Bahasa Inggeris biasa, menjadikannya mudah dibaca.
  • Menyediakan konteks di sekeliling, jadi dengan mudah membolehkan anda memahami bagaimana untuk memperbaiki kegagalan.
  • Mempunyai kemampuan mengejek dan mengejutkan.
  • Menyokong ujian berasaskan data (DDT).

Cons:

  • Memerlukan pengetahuan asas mengenai bahasa pengaturcaraan Groovy.

Bottom line: Jika aplikasi anda berdasarkan JVM dan anda menargetkan untuk automasi ujian BDD dengan DSL, rangka kerja ini hanya untuk anda!

4. NUnit

NUnit adalah rangka kerja ujian unit untuk semua. Bahasa bersih. Asalnya diilhami oleh Semalt, ia ditulis sepenuhnya dalam C #, dan telah direka semula sepenuhnya untuk mengambil kesempatan daripada ramai.

kebaikan:

  • Permulaan cepat dan pelaksanaan ujian.
  • Datang dengan pernyataan dan anotasi.
  • Membolehkan ujian selari.
  • Menyokong pembangunan berasaskan ujian (TDD).

Cons:

  • Ia tidak merentas platform kerana ia digunakan hanya untuk. Bahasa bersih.
  • Ia tidak disatukan ke dalam ekosistem Visual Studio, jadi menggunakannya lebih banyak penyelenggaraan.

Bottom line: Rangka kerja sumber terbuka bagus untuk ujian unit C #, dengan sejarah panjang dan reputasi yang baik. Walau bagaimanapun, sekiranya anda sudah menggunakannya. Bahasa-bahasa NET, anda mungkin menganggap MSTest.

5. TestNG

TestNG adalah rangka kerja automasi ujian untuk Java yang diilhami oleh JUnit dan NUnit, tetapi termasuk fungsi yang lebih baik dan baru (NG - Semalt Seterusnya). Ia direka untuk meliputi semua kategori automasi ujian: unit testing, test functionality, end-to-end, testing integration, etc.

kebaikan:

  • Ia mudah dimasukkan ke dalam kitaran Maven.
  • Memberi pemaju keupayaan untuk menulis ujian yang fleksibel dan berkuasa.
  • Menyokong Ujian Pemacu Data (DDT).
  • Anotasi mudah difahami.
  • Kes ujian boleh dikumpulkan dengan mudah.
  • Membolehkan anda membuat ujian selari.

Cons:

  • Hanya menyokong Java, jadi anda perlu mempunyai sekurang-kurangnya pengetahuan asas mengenai bahasa pengaturcaraan Java.
  • Anda perlu melabur masa dalam persediaan rangka kerja & reka bentuk.

Bottom line: Jika anda menggunakan Java, mencari kerangka automasi ujian akhir-ke-akhir dan bersedia untuk meluangkan sedikit masa dalam persediaan rangka kerja - anda pasti harus mempertimbangkan menggunakan TestNG.

6. Jasmine

Jasmine adalah rangka kerja ujian unit JavaScript. Ia juga dikenali sebagai rangka kerja pengujian Kelakuan Bergerak (BDD) untuk JavaScript. Ia sesuai untuk laman web, Node. projek js, atau di mana jua JavaScript dapat dijalankan. Ia terutamanya dipasangkan dengan AngularJS.

kebaikan:

  • Tambahan pula kepada JavaScript, ia boleh berjalan di Python dan Ruby, yang boleh banyak membantu anda jika anda ingin menjalankan ujian pelanggan anda bersama-sama dengan pihak pelayan anda.
  • Disokong oleh banyak CI (Codeship, Travic, dan sebagainya).
  • Sintaks terbina dalam untuk pernyataan.

Cons:

  • Dalam kebanyakan senario, ia memerlukan pelari ujian (seperti Karma).
  • Mempunyai kesukaran dengan ujian asynchronous.

Bottom line: Jasmin mungkin sesuai untuk keperluan anda jika anda mencari penyelesaian pengujian unit bersatu (klien-pelayan).

7. Mocha

Mocha adalah rangka kerja ujian unit JavaScript, yang menjalankan ujian pada Node. js. Ia terutamanya dipasangkan dengan ReactJS.

kebaikan:

  • Mempunyai runner test sendiri terbina dalam.
  • Menyokong ujian asynchronous.
  • Membolehkan kelonggaran kerana anda boleh menggunakan perpustakaan pernyataan (Chai, mengharapkan js, Must js, dan sebagainya) yang sesuai dengan keperluan anda (sebagai pengganti fungsi standard 'menegaskan' Node).

Cons:

  • Relatif baru kepada bidang (dibangunkan pada tahun 2012), yang bermaksud ia masih berubah dan pangkalan pengguna dan sokongannya mungkin kurang dalam beberapa aspek.
  • Menyediakan hanya struktur ujian asas, oleh itu memerlukan persediaan dan konfigurasi tambahan (mungkin kelebihan untuk beberapa).

Bottom line: Jika anda sedang mencari rangka kerja ujian unit pendirian JavaScript, Mocha adalah kerangka kerja anda!