Quality Engineer

Quality Engineer

·

4 min read

Pengertian Quality Engineer

Quality Engineer adalah individu yang mengidentifikasi, menganalisis, dan memecahkan masalah terkait kualitas dalam produk atau layanan. Mereka bertugas untuk memastikan bahwa setiap aspek produk atau sistem—mulai dari desain, produksi, hingga pemeliharaan—memenuhi standar kualitas dan persyaratan yang telah ditetapkan oleh perusahaan atau industri.

APA ITU SOFTWARE TESTING?

  • Proses evaluasi dan verifikasi bahwa perangkat lunak (software) bekerja sesuai
    dengan yang diharapkan

  • Mengidentifikasi adanya perbedaan fungsi perangkat lunak ketika dijalankan
    dengan hasil yang seharusnya ( software requirement)

  • Menurut (Wibisono & Baskoro, 2017), pengujian perangkat lunak adalah
    proses untuk mencari kesalahan pada setiap item perangkat lunak,
    mencatat hasilnya, mengevaluasi setiap aspek pada setiap komponen
    (sistem) dan mengevaluasi fasilitas-fasilitas dari perangkat lunak yang akan
    dikembangkan.

    Jenis SOFTWARE TESTING?

    FUNGSIONAL TESTING

    • Pengujian Unit (Unit Testing): proses pengujian bagian terkecil dari perangkat lunak, yaitu unit atau komponen individu, secara terpisah dari sistem secara keseluruhan. Tujuannya adalah untuk memastikan bahwa setiap unit bekerja sesuai dengan yang diharapkan dan berfungsi dengan benar secara independen.

    • Tes integrasi (Integration Testing): proses pengujian yang dilakukan untuk memverifikasi interaksi dan integrasi antara beberapa unit atau komponen perangkat lunak yang berbeda. Tujuannya adalah untuk memastikan bahwa komponen yang telah diuji secara individual bekerja sama dengan baik saat digabungkan.

    • Pengujian Sistem (System Testing): proses pengujian sistem perangkat lunak secara keseluruhan untuk memastikan bahwa seluruh sistem memenuhi spesifikasi dan persyaratan yang telah ditetapkan. Pengujian ini melibatkan pengujian sistem dalam lingkungan yang menyerupai lingkungan produksi.

    • Pengujian Regresi (Regresion Testing): proses pengujian yang dilakukan untuk memastikan bahwa perubahan atau perbaikan dalam kode perangkat lunak tidak menyebabkan kerusakan pada fitur yang sudah ada sebelumnya. Tujuannya adalah untuk memverifikasi bahwa fungsionalitas lama tetap berfungsi setelah perubahan dilakukan

    • Ujian penerimaan (AcceptanceTesting): proses pengujian yang dilakukan untuk menentukan apakah perangkat lunak memenuhi kebutuhan dan persyaratan pengguna akhir atau klien. Tujuannya adalah untuk memastikan bahwa sistem siap diterima dan digunakan oleh pengguna akhir.

NON FUNGSIONAL TESTING

  • Pengujian Kinerja (Performance testing): proses evaluasi seberapa baik aplikasi perangkat lunak berjalan dalam berbagai kondisi beban dan stress. Tujuan utamanya adalah untuk memastikan bahwa aplikasi berfungsi dengan baik dan responsif di bawah berbagai tingkat beban pengguna atau data.

  • Pengujian Kegunaan (Usability testing): proses evaluasi bagaimana mudahnya aplikasi perangkat lunak digunakan oleh pengguna akhir. Tujuan utamanya adalah untuk memastikan bahwa antarmuka pengguna (UI) dan pengalaman pengguna (UX) intuitif dan memenuhi kebutuhan pengguna.

  • Pengujian Keamanan (Security testing): proses evaluasi untuk mengidentifikasi dan mengatasi kerentanan, ancaman, dan risiko dalam aplikasi perangkat lunak. Tujuannya adalah untuk melindungi data dan sistem dari akses yang tidak sah dan serangan berbahaya.

  • Pengujian Portabilitas (Portability testing): proses evaluasi sejauh mana aplikasi perangkat lunak dapat dijalankan di berbagai lingkungan atau platform. Tujuannya adalah untuk memastikan bahwa aplikasi dapat dipindahkan dan berfungsi dengan baik di berbagai konfigurasi perangkat keras, sistem operasi, atau lingkungan perangkat lunak.

TEKNIK SOFTWARE TESTING?

Black Box Testing:

  • Fokus Utamanya adalah utnuk mwmvalidasi functional requirement

  • Tester tidal perlu tau internal vode atau logicnya

  • Tester dan Developer bisa jadi 2 orang atau bahkan tim yang berbeda

  • Dapat memastikan komunikasi antar modul tapi tidak dapat mengetahui modul mana yang salah apabila terdapat defect

Software Testing Life Cycle

  • Requirement Analysis: Menganalisi Software Requirements dari stakholders

  • Test Planning: Melakukan Perencanaan Untuk Melakukan Pengujian Software

  • Test Case Develoment: Mebuat Test Case yang akan digunakan saat pengujian software

  • Test Execution: Pelaksanaan Pengujian Software dan mendokumentasikan hasil pengujian

  • Test Cycle Closure: Mengevaluasi semua tahapan sebelumnya dan penarikan

TEST CASE MANAGEMENT TOOLS

  • QA TOUCH: alat manajemen pengujian berbasis web yang dirancang untuk membantu tim QA dalam merencanakan, melacak, dan mengelola pengujian perangkat lunak. Alat ini menyediakan berbagai fitur untuk manajemen proyek pengujian, pelaporan, dan kolaborasi tim.

  • QASE: platform manajemen pengujian modern yang dirancang untuk tim pengembangan perangkat lunak dan QA. QASE menawarkan solusi end-to-end untuk merencanakan, menjalankan, dan melacak pengujian perangkat lunak dengan fitur yang mendukung metodologi Agile dan DevOps.

  • GSHEET: aplikasi spreadsheet berbasis web yang merupakan bagian dari Google Workspace. Google Sheets memungkinkan pengguna untuk membuat, mengedit, dan berbagi spreadsheet secara online dengan kolaborasi waktu nyata.

  • MS EXCEL: aplikasi spreadsheet yang merupakan bagian dari Microsoft Office Suite. Excel digunakan untuk membuat, mengedit, dan menganalisis data dalam format tabel dengan berbagai fitur dan fungsi yang kuat.

Platform

  • WEBSITE: kumpulan halaman web yang diakses melalui internet menggunakan browser. Setiap halaman web berisi informasi yang bisa berupa teks, gambar, video, dan elemen multimedia lainnya yang diatur secara terstruktur.

  • API: API (Application Programming Interface) adalah antarmuka yang memungkinkan aplikasi perangkat lunak untuk berkomunikasi satu sama lain. API menyediakan cara bagi pengembang untuk mengakses fungsi atau data dari aplikasi lain tanpa perlu memahami detail implementasi internalnya.

  • MOBILE: Mobile mengacu pada aplikasi yang dirancang untuk berjalan di perangkat seluler seperti smartphone dan tablet. Aplikasi mobile dapat diunduh dan diinstal dari toko aplikasi seperti Google Play Store dan Apple App Store.

  • DEKSTOP: Desktop mengacu pada aplikasi yang dirancang untuk dijalankan di komputer desktop atau laptop. Aplikasi ini biasanya diinstal langsung pada sistem operasi perangkat seperti Windows, macOS, atau Linux.