Software Quality Assurance - Nafhan Raissa Syandana

Software Quality Assurance


Terkait dengan Fitur Edit Profil:

Fitur edit profil meruapakan fitur yang memungkinkan pengguna mengedit informasi profil mereka. Dalam implementasinya, fitur ini menggunakan teknologi RESTful API yang dilengkapi dengan sistem autentikasi menggunakan token JWT.

Implementasi Back End:

Implementasi back-end fitur edit profil menggunakan Django Rest Framework dan Django. Singkatnya Kode views.py berisi dua kelas yaitu ProfileGetAPIView dan ProfileEditAPIView. Kelas pertama digunakan untuk mengambil data profil pengguna, sedangkan kelas kedua digunakan untuk mengedit data profil.



Implementasi Front End:

Implementasi front-end fitur edit profil menggunakan React dan Chakra UI. Halaman edit profil dibuat dengan menggunakan komponen-komponen React dan Chakra UI agar memudahkan pengguna dalam mengedit informasi profil mereka.


Autentikasi:

Autentikasi dilakukan menggunakan token JWT yang dicetus oleh sistem. Token ini digunakan untuk memverifikasi identitas pengguna serta memastikan bahwa hanya pengguna yang sah yang dapat mengakses fitur edit profil.


Validasi Data:

Fitur edit profil juga dilengkapi dengan validasi data yang memastikan bahwa input pengguna sesuai dengan format yang diharapkan. Contohnya, input untuk 'nik' dan 'no_wa' harus berupa angka.



Meningkatkan Kualitas Software:

Penerapan Best Practices:

> Penggunaan Framework yang Sesuai:  

Penggunaan Django Rest Framework (DRF) untuk pengembangan API dan React untuk front-end menunjukkan penggunaan framework yang sesuai untuk tujuan pengembangan.

 

> Penggunaan Autentikasi dan Authorization:  

Penggunaan token JWT untuk autentikasi dan penggunaan IsAuthenticated untuk mengontrol akses ke endpoint menunjukkan penggunaan autentikasi dan authorization yang efektif.

 

> Penggunaan Validasi Data:  

Penggunaan validasi data pada ProfileEditAPIView untuk memastikan bahwa input pengguna sesuai dengan format yang diharapkan menunjukkan penggunaan validasi data yang efektif.

 

> Penggunaan Automated Testing: 

Penggunaan automated testing dalam pengembangan software menunjukkan penggunaan automated testing yang efektif untuk memastikan kualitas software.Saya telah menggunakan automated testing terkait dengan fitur ini. Contohnya pada file tests.py, saya telah menerapkan unit test untuk tampilan ProfileGetAPIView dan ProfileEditAPIView menggunakan APIClient dari rest_framework.test. Pengujian ini menyimulasikan permintaan HTTP ke titik akhir API, memverifikasi respons, dan memeriksa kode status dan pesan kesalahan tertentu. Hal ini merupakan contoh pengujian otomatis yang membantu memastikan bahwa API berfungsi dengan benar dan efisien.


>Penggunaan Continuous Integration dan Continuous Deployment: 

Penggunaan continuous integration dan continuous deployment dalam pengembangan software menunjukkan penggunaan proses yang efektif untuk memastikan kualitas software.

Telah terdapat penerapan Continuous Integration (CI) dan Continuous Deployment (CD) dalam yang terlihat pada file .gitlab-ci.yml yang disediakan untuk back-end dan front-end. Pipeline CI/CD mencakup tahapan seperti pembuatan, pengujian, pemeriksaan sonarqube, pengiriman, dan penerapan, yang mengotomatiskan proses pembuatan, pengujian, dan penerapan aplikasi. Hal ini bertujuan untuk memastikan bahwa aplikasi diuji secara menyeluruh dan diterapkan ke lingkungan produksi dengan cara yang terkendali dan efisien.



 

 

 







Comments

Popular posts from this blog

Platform Monitoring - Nafhan