Implementasi Software Testing Dalam Lingkungan DevOps

Testing adalah Komponen DevOps, maksudnya adalah Dalam DevOps pendekatan Automated Testing sangat dibutuhkan, untuk memudahkan umpan balik di setiap proses/iterasi. Metodologi yang paling populer adalah “Continuous Testing”.
Implementasi Software Testing Dalam Lingkungan DevOps
Komponen DevOps | Sumber Gambar (zymr.com)

Software Testing dalam Lingkungan DevOps
  1. Tim Penguji atau QA (Quality Assurance) akan secara aktif terlibat selama siklus pengembangan software.
  2. Pengujian software terjadi di setiap tahap DevOps, termasuk pengujian integrasi software dan release-nya. Karena itu perlu dilakukan otomatisasi software testing.
  3. Dengan testing yang dilakukan secara kontinyu, maka tim QA dapat melacak defects dan bugs lebih awal sekaligus melacak performa produk selama proses pengembangannya.

Continuous Testing di DevOps
  1. Proses pengujian yang melibatkan beberapa proses: pengujian awal, pengujian teratur, pengujian di mana-mana, dan pengujian yang diautomasi.
  2. Ini adalah strategi untuk mengevaluasi kualitas di setiap penyampaian hasil.
  3. Prinsipnya selalu menguji lebih awal, dan menguji lebih sering.
  4. Prosesnya melibatkan: pengembang, tim operasional, tim tester dll.
Implementasi Software Testing Dalam Lingkungan DevOps
Kanal pengujian dalam Azure DevOps

Proses Continuous Testing
Implementasi Software Testing Dalam Lingkungan DevOps
Proses umum Continuous Testing | Sumber Gambar ( guru99.com)

Continuous mengindikasikan pengujian yang terus-menerus; dalam DevOps perubahan sangat dinamis, sehingga proses pengembangan dan pengujian selalu berjalan beriringan dan berkelanjutan.

Alat-alat Continuous Testing

Implementasi Software Testing Dalam Lingkungan DevOps

Kelebihan dan Kekurangan Continuous Testing

Implementasi Software Testing Dalam Lingkungan DevOps

Cakupan Pengujian di DevOps
  1. Integration Testing
  2. Functional Testing
  3. API Testing
  4. Exploratory Testing
  5. Regression Testing
  6. Compatibility Testing
  7. Security Testing
  8. Acceptance Testing
  9. Deployment Testing

Exploratory Testing
  1. Memungkinkan penguji secara fleksibel melakukan pengujian tanpa menggunakan kaidah uji formal.
  2. Dapat melibatkan lebih banyak orang (termasuk yang tidak memiliki latar belakang teknis).
  3. Bisa dilakukan dengan aplikasi umum seperti Browser (terdapat Extension di Chrome/Edge).

Implementasi Software Testing Dalam Lingkungan DevOps
Implementasi Software Testing Dalam Lingkungan DevOps

Beberapa Strategi Software Testing dalam DevOps
  1. Melakukan automated test sebanyak mungkin.
  2. Tim QA dan Pengembang perlu berdiskusi bersama mengenai area yang terpengaruh karena pengembangan tertentu.
  3. Dengan menggunakan berbagai teknik otomatisasi, QA perlu bisa menjalankan automated testing di berbagai lingkungan lintas platform.
  4. Bugs dan Defects yang ditemukan harus dilaporkan dan diperbaiki melewati proses yang sama sebelum kode tersebut digunakan di lingkungan produksi.

Kesimpulan
  1. Software testing di lingkungan DevOps akan secara aktif melibatkan Tim Penguji atau QA selama siklus pengembangan software.
  2. Salah satu metode pengujian yang ada di DevOps adalah metode continues testing. Ini berguna untuk melacak defects dan bugs lebih awal sekaligus melacak performa produk selama proses pengembangannya.
  3. Alat-alat continues testing di antaranya meliputi QuerySurge, Jenkins, Bamboo, dan sebagainya.

Sumber Referensi : atlassian | atlassian | microsoft | guru99