Caraguna
  • Home
  • Investasi
  • Teknologi
  • Jaringan
  • Berita
  • Blogging
  • Property
No Result
View All Result
Caraguna
  • Home
  • Investasi
  • Teknologi
  • Jaringan
  • Berita
  • Blogging
  • Property
No Result
View All Result
Caraguna
No Result
View All Result
Testing Flutter

Testing Flutter: Unit, Widget, dan Integration Testing

Bauroziq by Bauroziq
August 24, 2022
in Komputer, Mobile, Pemrograman, Teknologi, Testing
0
Share on FacebookShare on Twitter

Testing Flutter – Pengujian atau testing merupakan salah satu bagian terpenting dalam life-cycle pengembangan aplikasi. Testing biasanya digunakan sebagai parameter untuk memastikan apakah aplikasi kamu berkualitas atau tidak. Testing membutuhkan perencanaan dan eksekusi yang terstruktur agar aplikasi dapat berjalan dengan baik tanpa bug maupun error.

Pada umumnya, testing dilakukan pada setiap kode atau fungsi tertentu, semakin banyak fitur semakin banyak pula pengujian yang akan dilakukan dan semakin sulit pula proses pengujian apabila dilakukan secara manual. Bahasa pemrograman Dart dan framework Flutter menyediakan dukungan ekstensif untuk pengujian otomatis aplikasi.

You might also like

virgoku

Mau Jajan di Alfamart Pakai Uang Kembalian? Begini Caranya!

October 4, 2023
Framework Opinionated dan Unopinionated

Mengenal Konsep Opinionated dan Unopinionated dalam Arsitektur Pengembangan Perangkat Lunak

October 2, 2023

Pengujian otomatis membantu kamu memastikan bahwa aplikasi bekerja dengan benar sebelum mempublikasikannya, sambil mempertahankan fitur dan kecepatan perbaikan bug aplikasi.

Di Flutter, pengujian otomatis terbagi menjadi 3 kategori, antara lain:

  • Unit Testing
  • Widget Testing
  • Integration Testing

Secara umum, aplikasi yang telah teruji dengan baik memiliki banyak pengujian unit dan widget, yang di track (lacak) berdasarkan cakupan kode, ditambah pengujian integrasi yang cukup kompleks untuk mencakup semua komponen-komponen yang penting dalam sebuah kode program. Berikut ini adalah tabel yang mendefinisikan perbedaan ketiga jenis testing pada Flutter.

 UnitWidgetIntegration
ConfidenceLowHigherHighest
Maintenance costLowHigherHighest
DependenciesFewMoreMost
Execution speedQuickQuickSlow

1. Unit Tests

Unit tests adalah pengujian yang dilakukan pada sebuah function, method, dan class. Tujuan dari unit test adalah memastikan kode berjalan dengan baik di berbagai kondisi logika program.

Dependensi maupun data yang diambil dari repository akan dibuat dalam mock out. Artinya, data dibuat dalam bentuk dummy atau data palsu yang digunakan untuk proses testing.

Pengujian unit atau unit testing merupakan jenis pengujian pada aplikasi di mana pengujian difokuskan pada apa yang disebut unit. Unit adalah bagian terkecil yang membangun aplikasi.

Contoh unit paling sederhana ketika kita berbicara tentang OOP (Pemrograman Berorientasi Objek) adalah Kelas dan Fungsi. Pengujian unit akan memastikan bahwa komponen-komponen kecil dari aplikasi berjalan dengan baik seperti yang diharapkan.

Untuk melakukan unit testing, kamu dapat menggunakan perintah:

test('description', () {});

Berikut ini adalah beberapa package yang biasa digunakan untuk mocking dalam testing, antara lain:

  • Mockito
  • Mocktail

2. Widget Tests

Widget tests atau dalam istilah lain disebut instrumentation testing adalah jenis pengujian yang difokuskan pada bagian-bagian yang membangun user interface suatu aplikasi seperti button, text, dan sebagainya. Pengujian widget akan memastikan bahwa user interface tersusun sesuai dengan desain UI aplikasi dan mampu berinteraksi dengan baik dengan pengguna.

Pengujian widget atau widget tests melibatkan beberapa kelas dan memerlukan environment pengujian yang berhubungan dengan context life-cycle widget yang sesuai.

Pengujian ini lebih komprehensif dari pada pengujian unit. Namun, seperti halnya pengujian unit, environment pengujian widget memiliki implementasi yang jauh lebih sederhana dari pada sistem UI yang kompleks.

Untuk melakukan widget testing, kamu dapat menggunakan perintah:

testWidgets('description', (WidgetTester tester) {});

3. Integration Tests

Integration tests atau pengujian integrasi adalah jenis pengujian yang difokuskan pada pengujian seluruh alur dari aplikasi (end-to-end testing). Untuk menjalankan pengujian integrasi, kamu memerlukan emulator atau real device. Selama pengujian, aplikasi akan muncul di emulator dan otomatis aplikasi akan dijalankan.

Pengujian integrasi sangat membantu kamu dalam menguji fitur atau keseluruhan aplikasi berjalan selama proses pengembangan. Hal ini akan lebih efisien daripada kamu harus menjalankan aplikasi dan menguji fitur atau seluruh aplikasi secara manual.

Test ini menguji aplikasi secara penuh atau sebagian besar fitur. Tujuan dari pengujian integrasi adalah untuk memastikan bahwa semua widget dan services yang diuji bekerja dengan baik seperti yang diharapkan. Bahkan, kamu dapat menggunakan tes ini untuk melihat kinerja aplikasi sudah baik atau belum.

Untuk mengimplementasikan pengujian integrasi, kamu perlu menambahkan library ke pubspec.yaml.

dev_dependencies:    
    ...
    integration_test:       
        sdk: flutter

Kemudian di dalam direktori projek, kamu perlu membuat folder baru bernama integration_test. Contohnya adalah sebagai berikut:

integration_test
├── app_test.dart
└── robots
    ├── home_robot.dart
    └── ...

Di folder integration_test terdapat app_test.dart yang berisi semua skenario pengujian end-to-end untuk aplikasi kamu. Kemudian, ada juga folder robots yang berisi setiap bagian skenario pengujian. Skenario pengujian tersebut dapat dipisahkan misalnya per halaman.

Tags: fluttertutorialintegrationtestingtestingunittestingwidgettesting
Bauroziq

Bauroziq

Write for share about latest technology.

Related Stories

virgoku

Mau Jajan di Alfamart Pakai Uang Kembalian? Begini Caranya!

by Bauroziq
October 4, 2023
0

Kabar gembira buat kamu yang suka jajan di Alfamart karena sekarang kamu bisa beli berbagai jajanan favorit kamu di merchant...

Framework Opinionated dan Unopinionated

Mengenal Konsep Opinionated dan Unopinionated dalam Arsitektur Pengembangan Perangkat Lunak

by Bauroziq
October 2, 2023
0

Arsitektur pengembangan perangkat lunak adalah landasan dari setiap proyek perangkat lunak. Saat memilih kerangka kerja atau alat yang akan digunakan...

Debouncer

Meningkatkan Kinerja Aplikasi Anda dengan Teknik Debouncer

by Bauroziq
September 30, 2023
0

Pada dunia pengembangan perangkat lunak, terutama dalam konteks antarmuka pengguna (UI), seringkali kita dihadapkan dengan masalah "bouncing input." Masalah ini...

Clean Code - Robert Cecil Martin

Download Ebook Clean Code: A Handbook of Agile Software Craftsmanship – Robert Cecil Martin Gratis (Free)

by Bauroziq
September 28, 2023
0

Clean Code adalah istilah yang sering digunakan dalam dunia pengembangan perangkat lunak, dan buku "Clean Code: A Handbook of Agile...

Next Post
Deprecated button flutter

Penjelasan Deprecated Button di Flutter 3.0

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Caraguna

Caraguna adalah sebuah situs yang menyediakan berbagai informasi seputar dunia teknologi informasi. Seperti penggunaan dari sebuah library, tools, hardware, software, dan lain-lain.

  • Teknologi
  • SEO
  • Sitemap
  • Resep Masakan
  • Kerja Sama
  • Contact Us

© 2023 Caraguna - Informasi Seputar Teknologi Informasi.

No Result
View All Result
  • Home
  • Teknologi
  • Komputer
  • Framework
  • Jaringan
  • Blogging
  • Investasi

© 2023 Caraguna - Informasi Seputar Teknologi Informasi.