Boxed-Width Version (true/false)

‏إظهار الرسائل ذات التسميات SDLC. إظهار كافة الرسائل

الأحد، 25 سبتمبر 2022

thumbnail

Manual Testing dan Automation Testing

 

Perbedaan Manual Testing dan Automated Testing




Mungkin ada yang masih belum mengetahui apa itu Manual testing dan Automated Testing. Saya juga masih belajar untuk lebih mengenal lagi mengenai manual Testing dan Automated Testing, karena jika kita ingin menjadi QA Tester yang baik setidaknya kita mengerti pengertian dan perbedaan dari masing-masing testing tersebut karena kedua testing tersebut memberikan manfaat dan kelemahan tersendiri. Jadi ada sebaiknya kita mengetahui perbedaan dan kapan harus menggunakan salah satunya untuk mendapatkan hasil yang diinginkan.

Sebelum melanjutkan pembicaraan mengenai perbedaan kedua Testing tersebut, alangkah baiknya kita terlebih dahulu mencari tahu apa itu Manual testing dan Automated Testing.

Apa itu Manual Testing?

Manual Testing atau pengujian manual adalah langkah untuk mencari cacat atau bug pada program perangkat lunak, pada metode ini tester/penguji memiliki peran penting sebagai pengguna akhir untuk pengecekan semua fitur aplikasi bekerja dengan benar. Penguji melakukan pengecekan secara manual tanpa menggunakan bantuan dari tools atau scripts, tujuannya adalah untuk memastikan jika aplikasi yang di uji bebas cacat dan aplikasi perangkat lunak dapat bekerja sesuai apa yang diharapkan. Manual testing juga berperan penting saat pengujian visual dimana automation tools tidak dapat melakukan.

Manual tester dapat mengetahui kontras antara button dan background yang lebih terang sehingga membuat user kesulitan mencari button dan memahami tindakan yang perlu diambil. User Interface (UI)feedback adalah hal yang tidak dapat ditemukan menggunakan automated testing.

Manual Testing kelebihan

  • Mendapatakan Visual Feedback. Tools dan Scripts tidak dapat membantu dalam memberikan opini maupun input mengenai tampilan UI.
  • The human element. Bisa mendapatkan feedback dari orang secara langsung sehingga mengetahui apa yang user suka dan tidak suka (Dimana automated tools tidak dapat memberikan feedback).
  • Less expensive in the short-term projects. Jika hanya melakukan tes aplikasi sederhana yang tidak terlalu banyak updates maka manual testing tidak perlu menggunakan tools ataupun software yang mahal.

Manual Testing kekurangan

  • Kurang teliti daripada automantion testing. Kadang adanya human error atau ketidaktelitian, sehingga jika menggunakan automation testing akan mengurangi bug yang akan terlewat.
  • Not reusable. Jika menemukan banyaknya perubahan maka harus melakukan pengecekan secara manual kembali dari awal agar memastikan perubahan baru tidak akan merusak aplikasi yang sudah jadi.
  • Kelelahan terhadap tester. Jika QA tester sudah sangat familiar dengan aplikasi yang selalu dia tes secara terus menerus sehingga membuat QA tester sangat memahami alur dari aplikasi tersebut. Sehingga hal ini akan menyebabkan kelelahan dan kesalahan maka melewatkan beberapa hal dan membuat kesalahan.

Apa itu Automated testing?

Bergantung pada pra-scripted tes yang berjalan secara otomatis, fungsinya untuk membandingkan hasil yang diharapkan dengan hasil yang sebenarnya. Sehingga dapat mengetahui apakah aplikasi berjalan sesuai dengan apa yang diharapkan, menggunakan automated testing dapat dilakukan secara berulang. Sehingga jika hasilnya tidak sama dengan yang diharapkan maka akan mendapatkan bug.

Automated testing kelebihan

  • Dapat menemukan bug lebih banyak dari manual tester. Script dapat mencari lebih dalam, sehinga dapat menemukan bug yang tester tidak dapat temukan.
  • Kecepatan dan efisiensi. Script lebih cepat dari tester, sehingga dapat cepat selesai dalam menemukan bug.
  • Tes yang dapat dilakukan berulang dengan coding yang dapat di update secara berkala. Jika selalu mendapatkan update dan perubahan masing-masing unit/feature, maka tidak perlu menulis ulang scripsts setiap saat dan dapat digunakan kembali pada regression testing.

Automated testing kekurangan

  • Lebih Mahal. Karena menggunakan tools maka pengerjaan menggunakan atuomation testing akan mahal, namun tetap menghemat waktu serta usabilitas.
  • Kurangnya human element. seperti pada info sebelumnya, manual testing memberikan human element untuk dapat melakukan interaksi user dengan aplikasi termasuk secara visual.
  • Tidak adanya feedback mengenai UI. Tanpa adanya human element, maka kita tidak bisa melakukan pengecekan terhadap UI seperti warna, kontras, pemilihan font, dan button sizes.

Kapan kita bisa menggunakan Manual atau Automated Testing?

Untuk menggunakan Manual testing akan baik digunakan pada area ataupun skenario berikut :

  • Exploratory Testing. Sangat membutuhkan pengetahuan seorang tester analitikal/logika skil, kreatifitas, dan intuisi.
  • Usability Testing. Area ini dibutuhkan untuk melakukan pengecekan user-friendly, efisien, ataupun kenyamanan untuk software atau produk untuk end users.
  • Ad-hoc Testing. Skenario ini dilakukan tanpa persiapan atau tidak menuliskan test case, sehingga QA secara acak melakukan tes pada fugnsi di sistem. Dimana tujuannya adalah untuk secara kreatif untuk “Merusak” sistem dan mencari kesalahan.

Untuk menggunakan Automated testing baik digunakan pada area atau skenario berikut :

  • Regression Testing. Automated testing sangat cocok jika banyaknya perubahan pada koding dan abiliti untuk mengerjakan secara tepat waktu.
  • Load Testing. Sangat membutuhkan automated testing untuk load test, seperti penggunaaan untuk tes respon API.
  • Repeated Execution. Untuk tes yang berulang lebih baik menggunakan Automated testing.
  • Perfomance Testing. Pengujian yang membutuhkan simulasi ribuan pengguna sangat membutuhkan Automated testing.

Jadi beberapa hal tersebut yang dapat kita pelajari perbedaan antara 2 testing tersebut dan kapan harus menggunakannya, sesuai ketepatan waktu ataupun mengenai anggaran yang diperlukan.


sumber:medium

السبت، 24 سبتمبر 2022

thumbnail

Mengenal Quality Assurance Engginer

 

Apa Itu QA Engineer?




QA Engineer adalah profesi Quality Assurance yang fokus pada software development life cycle untuk meningkatkan proses pengembangan software dan mencegah cacat dalam produksi, bukan hanya menentukan bagaimana software diuji namun juga memastikan software sesuai dengan standar kualitas dan ekspektasi klien.

Secara umum, QA Engineer merupakan spesialis yang bertujuan untuk membuat produk tanpa cacat dan menjaga kualitasnya mendekati sempurna. IT Talent ini bekerja di seluruh proses software development, termasuk software testing adalah salah satu bidang yang diawasinya.

Dengan kata lain, QA Engineer memastikan tim software development melakukan hal yang benar dengan cara yang tepat, mendukung IT Developer agar mencapai hasil yang mereka harapkan. QA Engineer mengacu pada tugas yang terencana dan sistematis dalam memantau proses yang diawasi untuk menjaga kualitas produk.

Peran QA Engineer Dalam Software Development Project

Seperti yang kita ketahui QA Engineer proaktif memainkan peran penting dalam setiap fase SDLC (Analisis Kebutuhan, Desain, Pengembangan, Pengujian dan Deployment/Dokumentasi). Lingkup pekerjaan QA Enginer mencakup sejumlah tugas, diantaranya sebagai berikut:

Requirement Analysis (Analisis Kebutuhan)

  • Studi kelayakan Persyaratan.
  • Analisis Risiko atau Forecasting.
  • Mitigasi Bug yaitu upaya untuk mengurangi risiko terjadi bug.
  • Mengevaluasi sistem untuk menemukan celah.
  • Memastikan functional requirements sudah tepat dan review gap antar fitur sehingga dapat dianalisis sedini mungkin.
  • Mengelola (mengatur) Environment di SDLC.
  • Siapkan rencana pengujian tingkat yang lebih tinggi termasuk risiko dan alat yang digunakan dalam proyek.
  • Menetapkan metode identifikasi cacat (aplikasi berfungsi secara berbeda dari yang diharapkan user).
  • Identifikasi jenis pengujian yang akan dilakukan dalam proyek.

  • Design


  • 1. Review desain, apakah dapat diuji? Berapa lama waktu yang dibutuhkan untuk menguji?
  • Memastikan arsitektur memenuhi semua checklis NFS (Non-Functional Requirements).
  • Siapkan Data Flow Diagram (DFD) dari proyek dan dokumentasikan. Verifikasi flow secara fungsional.
  • Verifikasi ER diagram, Process diagram, Use Case, dll.
  • Siapkan rencana pengujian low-level termasuk risiko, ruang lingkup, scope, environment, dll.

  • Development

  • Mempertahankan algoritma untuk kebutuhan development.
  • Develop test case sehingga dapat digunakan dalam TDD atau BDD.
  • Persiapan Environment untuk pengujian

    Testing

  • 1. Pastikan pengujian dijalankan sesuai dengan rencana pengujian.
  • Jalankan proses (eksekusi) test case.
  • Testing juga dikenal sebagai defect detection phase, dalam fase ini, temukan cacat dan melaporkannya sedini mungkin.
  • Verifikasi bug yang sudah diperbaiki sebelum rilis
  • Lakukan pengujian berikut dan pastikan tidak ada cacat pada proyek:
    1. 1. Functional Testing
      2. Test Automation
      3. Integration Testing
      4. Regression Testing
      5. Performance Testing
      6. Security Testing
      7. User Acceptance Testing (UAT)

    Deployment/Dokumentasi

  • Siapkan semua Panduan Manual Standar dan pastikan tidak ada yang tertinggal yang dapat menimbulkan masalah dengan implementasi software.
  • Siapkan user guide (manual) produk.   
  • About

    يتم التشغيل بواسطة Blogger.

    Featured

    advertise here

    بحث هذه المدونة الإلكترونية

    Fans Page

    Unordered List

    Fanspage

    Most Recent Post

      Sample Text

      Text Widget

      نموذج الاتصال

      الاسم

      بريد إلكتروني *

      رسالة *

      About Us

      About Us
      There are many variations of passages of Lorem Ipsum available.

      Ethereum Price

      Monday Tuesday Wednesday
      $402.89 $384.06 $396.34

      Facebook