Perbedaan antara Test vs Spec

12

Saya mengalami masalah konsep saat ini & saya tidak dapat menemukan info tentang perbedaan antara Tes (UnitTest, dll) vs Spec (Rspec, dll).

Sejauh yang saya tahu, spesifikasi adalah ke dalam tes Integrasi dan tes ke UnitTest tetapi hanya itu.

Bisakah Anda menjelaskan apa perbedaannya?

DFOXpro
sumber

Jawaban:

12

Lihatlah diagram berikut. Ini menggambarkan hubungan antara Test-Driven Development (TDD) dan Acceptance Test-Driven Development (ATDD):

Diagram Perkembangan Penerimaan Berbasis Tes

Perhatikan bahwa loop dalam, TDD, diselimuti oleh loop luar, ATDD. Persyaratan (diilustrasikan oleh kotak Kriteria Penerimaan) mendorong penciptaan tes penerimaan otomatis, yang pada gilirannya mendorong pembuatan Tes Unit untuk implementasi.

Secara umum, RSpec akan digunakan dalam situasi di mana Anda ingin mengekspresikan tes dengan cara yang ramah Analis Bisnis, yaitu pembuatan tes penerimaan otomatis (lingkaran tan); sedangkan kerangka kerja Unit Test seperti nUnit lebih khusus untuk jenis tes unit yang ditulis dari perspektif TDD pengembang di tingkat implementasi (lingkaran kuning).

Robert Harvey
sumber
Contoh yang baik adalah tabel hash, ini membutuhkan tes unit terperinci, karena diharapkan bekerja untuk semua input yang mungkin, bukan hanya sekumpulan kecil contoh dalam tes penerimaan. Namun kode yang menghitung diskon untuk pelanggan "baik", kemungkinan akan tercakup dengan baik oleh tes penerimaan, jadi mungkin tidak memerlukan atau beberapa unit pengujian.
Ian
3

ok kami memiliki beberapa istilah berbeda di sini, jadi inilah yang terjadi

  • Kami memiliki Unit Testing. Level lain adalah pengujian integrasi, pengujian kinerja, dll.
  • rspec dapat digunakan untuk banyak tingkat pengujian di atas, misalnya terhadap model, pengontrol dan tampilan melalui pengujian fitur Capybara.
  • kata 'spec' berasal dari spesifikasi yang merupakan inti dari sebuah tes - kata itu menentukan sesuatu.
  • rspec - kerangka kerja yang digunakan untuk menguji browser agaist, sering digunakan dengan aplikasi Ruby on Rails.
  • file spesifikasi - file rspec biasanya diakhiri dengan _spec.rb dan sering disebut file spesifikasi.
Michael Durrant
sumber