Berkenalan Dengan Ember Js - CRUDPRO

Berkenalan Dengan Ember Js

Ember.js adalah kerangka kerja JavaScript MVC (Model-View-Controller) yang digunakan untuk mengembangkan aplikasi web sisi client yang besar. Dibandingkan dengan kerangka kerja JavaScript MVC lainnya, Anda dapat menulis kode yang terorganisir dan terstruktur. Menurut situs web Ember.js, ini memungkinkan Anda membangun aplikasi web "ambisius".

Di Ember.js, route digunakan sebagai model dan template handlerbar digunakan saat view dan controller berinteraksi dengan data dalam model.

Jika Anda ingin membuat aplikasi web satu halaman yang melampaui batas dari apa yang dapat Anda lakukan di web, Ember.js cocok untuk Anda.

Gambar 1.0 Struktur Web Awal (Kiri), Janji Ajax (Tengah) dan Aplikasi Web Terbaru

Situs web awal mengandalkan pendekatan penyegaran halaman penuh yang ditunjukkan di sisi kiri Gambar 1.0. Seperti yang ditunjukkan pada Gambar 1.0 (tengah), dengan panggilan asinkron, Anda sekarang dapat mengirim bagian tertentu dari situs web Anda untuk setiap respons.

Di Ember.js, pengguna menerima seluruh situs web sekali sebagai tanggapan atas permintaan pertama. Akibatnya, seperti yang ditunjukkan pada Gambar 1.0 (kanan), waktu muat awal lebih lama, tetapi kinerja setiap tindakan pengguna berikutnya meningkat secara signifikan.

Mari kita view lebih dekat setiap komponen MVC.

  • controller — dibangun dengan kombinasi route dan controller
  • view — dibangun dengan kombinasi template dan view
  • model — Dibangun dari kombinasi model dan data ember.

Gambar 2.0 Bagian-bagian yang membentuk Ember.js dan bagaimana mereka cocok dengan pola MVC

Model dan data Ember

Lapisan ini bertanggung jawab untuk komunikasi sisi server dan tugas khusus model seperti pemformatan data.

Model Ember menggunakan data ember untuk menyederhanakan kode Anda secara dramatis sekaligus meningkatkan ketahanan dan kinerja aplikasi.

controller dan router Ember

Lapisan antara model dan view adalah lapisan controller. Ada beberapa controller. Terutama "Ember.ObjectController" dan "Ember.ArrayController".

Ember Router adalah mekanisme yang memperbarui URL aplikasi dan mendengarkan perubahan URL. Setiap rute dapat berisi beberapa sub-rute, dan router dapat digunakan untuk menavigasi antar status aplikasi.

view dan Handlebars.JS

Lapisan view bertanggung jawab untuk menggambar elemen di layar. Ember.js memiliki sistem tingkat lanjut untuk membuat, mengelola, dan merender hierarki view yang terhubung ke DOM browser. view tidak hanya merespons peristiwa pengguna seperti klik, scrolls, dan drags, tetapi juga memperbarui konten DOM saat data yang mendasari view berubah.

Ember.js menggunakan Handlebars.js sebagai mesin template. Handlebars.js menyediakan fungsionalitas yang Anda butuhkan untuk membuat template semantik secara efektif tanpa frustrasi.

Ember.js kemungkinan besar merupakan konvensi atas konfigurasi. Ini berarti bahwa alih-alih menulis banyak kode boilerplate, Ember dapat secara otomatis menebak banyak dari konfigurasi itu sendiri, seperti secara otomatis menentukan nama route dan controller saat menentukan sumber daya router. Ember meningkatkan standar dengan secara otomatis membuat controller untuk sumber daya jika tidak secara khusus menentukan sumber daya.

Ember mencakup router yang bagus dan lapisan data opsional yang disebut data ember. Tidak seperti kerangka kerja AngularJS dan BackboneJS, yang memiliki lapisan data yang sangat minim (pengumpulan atau model Backbone dan sumber $Angular), Ember adalah backend Ruby-on-Rails atau API JSON RESTful lainnya yang mengikuti serangkaian aturan sederhana. Ini juga menyediakan dukungan untuk menyiapkan perlengkapan untuk pengembangan dan pengujian terhadap API tiruan.

Performa adalah tujuan utama dalam mendesain Ember.js. Konsep seperti menjalankan loop yang memastikan bahwa data yang diperbarui hanya menyebabkan satu pembaruan DOM, bahkan jika data yang sama diperbarui beberapa kali, cache properti terhitung, kemampuan untuk mengkompilasi sebelumnya template HandleBars pada waktu pembuatan Atau di server, ini membantu untuk memuat aplikasi dan membuatnya tetap berjalan cepat.

AngularJS dan EmberJS

AngularJS dan EmberJS adalah kerangka kerja yang serupa di banyak tingkatan, tetapi dengan beberapa perbedaan. Misalnya, AngularJS menampilkan kumpulan data statis besar lebih cepat daripada EmberJS, tetapi EmberJS memudahkan untuk menambahkan interaktivitas ke kumpulan data besar tersebut dan menangani perubahan dengan lebih efisien. Selain itu, keduanya merupakan kerangka kerja yang kontroversial, tetapi EmberJS berada dalam posisi yang sedikit lebih kuat daripada AngularJS, yang dapat mempersulit penyelesaian beberapa tugas yang terkait dengan porting aplikasi yang ada. Bagaimanapun, kedua arsitektur memiliki trade-off sendiri, dan satu-satunya cara untuk menentukan kerangka kerja mana yang tepat untuk Anda adalah dengan mengevaluasi kebutuhan aplikasi Anda dan kekuatan masing-masing kerangka kerja.

Praktik terbaik untuk penerapan Ember nyata

"Ember CLI" adalah command line untuk membuat struktur aplikasi web Anda dengan cepat. CLI adalah alat yang sangat berguna dan akan menjadi cara standar untuk membuat aplikasi ember api di masa mendatang. Menggunakan Ember CLI mengubah cara penulisan aplikasi Anda sedikit.

Bagaimana cara menggunakan Ember-CLI?

Pertama, Anda perlu mengunduh "node.js" dan menginstalnya di komputer Anda.

Setelah menginstal node, Anda bisa mendapatkan ember-CLI dengan membuka command prompt dan menjalankan perintah berikut:

$ npm install -g ember-cli

Untuk membuat struktur aplikasi yang dapat Anda jalankan:

$ ember new project-name

Ini akan membuat folder bernama rilis yang berisi semua yang Anda butuhkan untuk memulai pengkodean. Ubah direktori saat ini untuk dirilis dan lakukan hal berikut:

$ ember server

Sekarang Anda dapat mengakses "http://localhost:4200" untuk meview halaman yang sangat mendasar.

Apakah ketiga nilai pengujian cukup untuk selalu menjalankan pengujian black box?

Analisis nilai batas adalah teknik pengujian yang umum. Mudah dipahami dan dijelaskan kepada penguji dan non penguji. Bagian dari pemahaman didasarkan pada contoh elegan dan sederhana yang dapat digunakan untuk menggambarkan teknik. Nilai batas telah diperkenalkan dan dijelaskan bahwa tiga nilai diperlukan untuk menguji batas secara menyeluruh. Namun, artikel ini menunjukkan bahwa tiga nilai tidak cukup untuk menjalankan tes black box yang membuktikan bahwa batasan diterapkan dengan benar.

Pertama, mari kita periksa arti dari Equivalent Partitioning (EP). Ide dasar EP sangat sederhana. Jika Anda dapat mengharapkan hasil yang sama dalam dua tes, cukup menjalankan salah satunya. Namun, ide ini didasarkan pada dua asumsi.

  1. Semua input pengujian dapat dibagi menjadi beberapa kelas.
  2. Sistem memproses semua nilai input yang mungkin di kelas dengan cara yang persis sama dengan memproses semua nilai input lainnya di kelas.

(Perhatikan bahwa hasil pengujian juga dapat dianggap sama seperti di atas)

Contoh: Sistem perbankan menerima nasabah di bawah usia 55 tahun. Semua client potensial lainnya tidak dapat diterima. Usia dimasukkan ke dalam sistem uji satu tahun.

Mempertimbangkan contoh di atas, Anda dapat membagi dua kemungkinan kelas sebagai berikut:

  1. client di bawah usia 55 tahun diterima (kelas ini disebut kelas valid)
  2. client yang berusia di atas 56 tahun akan ditolak (kelas ini disebut kelas tidak valid)

Jika Anda menggunakan EP dalam contoh di atas, Anda dapat menguji sistem Anda dengan nilai pengujian berikut:

  1. Mewakili kelas yang valid 15
  2. Mewakili kelas yang tidak valid 75

Perhatikan bahwa nilai di atas dipilih secara sewenang-wenang karena menganggap metode EP. Anda juga dapat memilih nilai 20 dan 80, atau 40 dan 65.

Mari kita cari tahu apa itu Analisis Nilai Batas (BVA). Selama pengujian, ditemukan bahwa beberapa cacat tampak mengelompok di sekitar nilai kontur kelas ekivalen (batas). Batas dibangun ke dalam kode pemrograman selama pemrograman. Dalam contoh di atas, dengan fokus pada batas "di bawah 55", kode dapat mengatakan "JIKA usia <= 55".

Karena batas ini adalah kode, ini adalah tempat yang paling mungkin untuk kesalahan pemrograman. Pada metode pengujian Boundary Analysis (BVA), hal ini diuji dengan menggunakan nilai uji pada batas, tepat di bawah batas, dan tepat di atas batas, dan operator rasional (<, <=, =,>,> =, < >). Mungkin ada kekurangan dalam kegagalan pemrograman operator rasional dari tanda <=. Operator ini mungkin salah diprogram sebagai>,> =, =, <, <>, atau = bukannya <=. Gunakan tiga nilai sadar BVA untuk meview apakah Anda dapat mendeteksi kegagalan operator.

Singkatnya, penggunaan BVA adalah sebagai berikut:

  1. Identifikasi kelas kesetaraan.
  2. Tentukan nilai batas.
  3. Tentukan kasus uji dengan tiga nilai untuk setiap batas.

Namun, BVA sering digunakan dalam pengujian black box, dan para ahli pengujian tidak memiliki wawasan tentang implementasi desain fungsional di atas dan juga dapat dikodekan sebagai "JIKA usia <56". Jika demikian, temukan tiga nilai yang sama yang cukup untuk mendeteksi kegagalan.

Seperti yang ditunjukkan pada tabel di atas, jika "<> 56" diprogram (salah) alih-alih yang dimaksudkan "<56", hasil aktual dan yang diharapkan adalah ketiga kasus uji BVA. Adalah sama. Oleh karena itu, uji black box tidak mendeteksi kegagalan apa pun.

Sebagai solusi, Anda dapat mengikuti langkah-langkah berikut untuk menemukan nilai pengujian lain yang sesuai untuk mendeteksi kegagalan.

Mengidentifikasi kelas kesetaraan

Sebagai contoh:

  • JIKA usia <= 55 adalah kelas yang valid. (Di bawah 56 tahun)
  • Kelas ini tidak berlaku untuk mereka yang berusia di atas 55 tahun.
  • Dapatkan nilai yang paling dekat dengan nilai batas dari masing-masing kelas valid dan tidak valid.
  • Dari EP yang valid (55)
  • Dari EP yang tidak valid (56)
  • Mendapatkan nilai terdekat berikutnya dengan nilai yang dipilih pada langkah 2.
  • Dari EP yang valid (54)
  • Dari EP yang tidak valid (57)

Tentukan kasus uji dengan empat nilai uji untuk setiap batas.

Sebagai contoh, mari kita terapkan nilai pengujian yang teridentifikasi.

Dengan menambahkan nilai uji tambahan (57), kegagalan ("<>" alih-alih "<" diprogram) terdeteksi bahkan ketika menggunakan analisis nilai batas sebagai teknik black box.

Ringkasan dan kesimpulan:

Saat menjalankan tes BB menggunakan teknik EP dan BVA, kami hanya menggunakan tiga nilai tes dan membuktikan bahwa kami dapat melewatkan beberapa kegagalan. Untuk menghindari deteksi kesalahan dan meningkatkan probabilitas, Anda juga dapat menggunakan empat nilai uji yang diambil dari masing-masing EP valid dan EP tidak valid yang paling dekat dengan nilai batas.

Aturan praktis:

Empat nilai tes dipilih.

  • Dua nilai dari EP valid yang paling dekat dengan nilai batas,
  • Dua nilai dari EP yang tidak valid. ini adalah,
Nilai batas,

semoga penjelasan dalam tutorial dapat dimengerti bagi teman-teman, terimakasih..