PERTEMUAN 2
PENGUJIAN
PERANGKAT LUNAK
CAPAIAN
PEMBELAJARAN
Memahami definisi dan tujuan pengujian
perangkat lunak, tahap STLC (software
testing life cycle) dan prinsip dasar
pengujian
Software Testing Life Cycle (STLC) adalah tahap-tahap proses
pengujian yang dilaksanakan secara sistematis dan terencana.
Dalam proses STLC, berbagai kegiatan dilakukan untuk meningkatkan
kualitas produk. Meskipun SDLC dan STLC terkesan mirip, namun
penerapannya berbeda. SDLC (Software Development Life Cycle)
diterapkan pada semua tahap pengembangan software, sedangkan
STLC hanya terbatas pada tahap pengujian software
SOFTWARE TESTING LIFE CYCLE
STLC mengacu pada tahap-tahap yang spesifik dalam proses pengujian
untuk memastikan kualitas produk. Setiap tahap-tahap dari STLC
memiliki Entry Criteria , Exit Criteria , Activities dan Deliverable yang
terkait.
• Entry Criteria adalah ketentuan yang harus kita penuhi
sebelum pengujian dapat dimulai.
• Exit Criteria adalah ketentuan yang harus diselesaikan
sebelum menyelesaikan pengujian.
• Activities adalah kegiatan-kegiatan yang diperlukan
untuk melakukan pengujian.
• Deliverable adalah hasil yang didapatkan setelah kita
menyelesaikan pengujian.
TAHAP SOFTWARE TESTING LIFE
CYCLE
ketentuan yang harus kita penuhi sebelum pengujian dapat dimula.
Contoh kegiatan yang dilakukakan :
q Pengecekan lingkungan Uji tersedia dan siap untuk digunakan.
q Pengecekan alat tes yg dipasang di lingkungan siap untuk
digunakan.
q Pengecekan apakah kode Testable tersedia.
q Pengecekan apakah Uji Data tersedia dan divalidasi untuk
kebenaran data.
ENTRY CRITERIA
ketentuan yang harus diselesaikan sebelum menyelesaikan
pengujian.
Contoh kegiatan yang dilakukakan :
q Tim telah melaksanakan seluruh tes yang direncanakan pada
tiap modul.
q Fitur - fitur yang dibangun telah memenuhi kebutuhan sistem dan
disetujui oleh Seluruh Stakeholder
q Tim telah memeriksa dan memastikan bahwa pada sistem sudah
tidak ada bug.
EXIT CRITERIA
kegiatan-kegiatan yang diperlukan untuk melakukan pengujian.
Contoh kegiatan yang dilakukakan :
q Menyiapkan daftar pertanyaan atau kegiatan dari Analis Bisnis, System
Architecture, Client, Technical Manager/Lead, dll.
q Pengelompokan jenis testing yang dilakukan, seperti functional test,
performance test, security test, dll
q Melakukan skala prioritas testing
q Breakdown list pernyataan atau kegiatan yang dilakukan dari top to
down
q Mengecek apakah ada testing yang bisa dilakukan secara otomasi
ACTIVITIES
hasil yang didapatkan setelah kita menyelesaikan pengujian..
Contoh kegiatan yang dilakukakan :
q Daftar Pertanyaan atau kegiatan yang harus diselesaikan beserta hasil
tes yg dilakukan
q Persyaratan yang dapat diuji
q Pre-persyaratan (pre-requirement) yang harus disiapkan sebelum
digunakan
q Laporan hasil uji
q Laporan kelayakan otomasi (jika ada)
DELIVERABLE
TAHAP STLC
Requirement analysis adalah tahap pertama
dalam software testing life cycle atau STLC. Requirement
software yang sudah ada dari stakeholder (system
analyst, product manager, etc) kemudian dianalisa oleh
tim QA untuk mengetahui detail software, module, fitur
dan fungsi yang akan dibangun, review dan melakukan
validasi jika masih ada kekurangan dan atau untuk
melengkapi kejelasan requirement tersebut, menganalisa
apa saja yang dapat diuji (testable) secara manual
dan automated serta menganalisa cakupan fungsi atau
fitur mana saja yang akan diuji secara functional dan non-
functional.
1. REQUIREMENT ANALYSIS
Aktivities (Kegiatan)
✓ Identifikasi jenis tes yang akan dilakukan.
✓ Kumpulkan detail tentang prioritas dan fokus
pengujian.
✓ Mempersiapkan Requirements Traceability Matrix
(RTM) .
✓ Identifikasi detail lingkungan pengujian dimana
pengujian seharusnya dilakukan.
Deliverables (hasil)
✓ RTM
●Requirements tracing adalah proses mendokumentasikan
hubungan antara kebutuhan pengguna untuk sistem yang
sedang dibangun dan produk kerja yang dikembangkan
untuk melaksanakan dan memverifikasi kebutuhan.
●Produk-produk pekerjaan ini meliputi kebutuhan Software,
spesifikasi desain, kode Software, rencana uji dan artefak
lain dari proses pengembangan sistem.
●Requirements tracing membantu tim proyek untuk
memahami bagian mana dari desain dan kode yang
menerapkan kebutuhan pengguna dan tes yang diperlukan
untuk memverifikasi bahwa kebutuhan pengguna telah
diterapkan dengan benar.
RTM (REQUIREMENTS TRACING)
● Memastikan bahwa seluruh test case yang
ada harus sesuai dengan kebutuhan.
● Memastikan bahwa ketentuan yang telah
disetujui sudah mencakup semua pada fase
pengembangan. Dari spesifikasi kebutuhan,
pengembangan perangkat lunak, testing,
sampai perangkat lunak itu jadi.
TUJUAN RTM (REQUIREMENTS TRACING)
Tahap planning adalah tahap kedua dari
proses STLC yang juga dapat disebut dengan test
planning atau test strategy. Pada tahap ini tim QA
mempersiapkan rencana untuk melakukan
pengujian berdasarkan requirement analysis. Pada
tahap ini akan ditentukan tools yang akan
digunakan untuk menguji dan hal hal yang
di deliver setelah pengujian, estimasi waktu dan
sumber daya , pembagian peran serta tanggung
jawab pada tim QA
2. TEST PLANNING
Aktivities (Kegiatan)
✓ Persiapan rencana uji / dokumen strategi untuk
berbagai jenis pengujian
✓ Pemilihan alat uji
✓ Perkiraan waktu pengujian
✓ Perencanaan sumber daya dan menentukan peran
dan tanggung jawab.
✓ Persyaratan pelatihan
Deliverables (hasil)
✓ Rencana uji / dokumen strategi.
✓ Dokumen estimasi waktu.
Pada tahap selanjutnya adalah development.
Tahap ini berisi hal-hal yang akan menjadi acuan
dalam pengujian yang melibatkan untuk
membuat test case, membuat test data,
membuat script automation test berdasarkan test
case.
Test Case adalah sekumpulan skenario yang
disusun oleh QA agar sistem yang akan dites dapat
memenuhi ketentuan, standar tertentu serta
dapat berfungsi dengan baik.
3. TEST CASE DEVELOPMENT
Aktivities (Kegiatan)
✓ Review dan uji kasus dasar dan script awal
✓ Buat data uji (Jika Lingkungan Uji tersedia)
Deliverables (hasil)
✓ Uji kasus / script
✓ Uji data
● Pada tahap ini proses yang dilakukan adalah
memastikan environment test dapat berjalan dengan
baik dan sesuai harapan. Pada
dasarnya environment test menentukan
syarat software yang diujian mulai melakukan smoke
test untuk memastikan environment test apakah sudah
benar-benar siap.
● Smoke test adalah testing yang dilakukan untuk
memastikan fitur atau fungsi penting dari suatu program
berjalan dengan baik sebelum dilakukannya tes
fungsional atau regression.
4. TEST ENVIRONMENT SETUP
Aktivities (Kegiatan)
✓ Memahami arsitektur yang diperlukan,
pengaturan lingkungan, dan menyiapkan daftar
persyaratan perangkat keras dan perangkat lunak
untuk Lingkungan Pengujian.
✓ Tes pengaturan Lingkungan dan data uji
✓ Lakukan smoke test di gedung
Deliverables (hasil)
● Lingkungan siap dengan pengaturan data uji
● Hasil Uji Asap (Smoke Testing).
Tahap selanjutnya yaitu test execution, setelah software siap uji dan
persiapan pengujian siap. Pada tahap ini pengujian dilakukan
berdasarkan test plan dan test case yang disepakati di tahap sebelumnya.
Fitur yang berjalan sesuai dengan test requirement, status fitur tersebut
adalah pass atau berhasil, dan siap untuk masuk ke tahap deployment. Jika
fungsi tidak berjalan sesuai dengan requirement, maka tergantung dari
kategori error atau bug yang terjadi. Error yang ditemukan tersebut
dimasukkan ke dalam test report tim QA untuk disampaikan ke
tim developer untuk diperbaiki, dan kembali diuji oleh tim QA. Pada tahap ini
juga dilakukan sanity testing dan regression testing ketika akan
melakukan deployment program
5. TEST EXECUTION
Aktivities (Kegiatan)
✓ Jalankan tes sesuai rencana
✓ Dokumentasikan hasil tes, dan log cacat untuk kasus yang
gagal
✓ Uji kasus dalam RTM
✓ Coba ulang perbaikan cacat
✓ Lacak cacat yang akan ditutup
Deliverables (hasil)
RTM lengkap dengan status eksekusi
Kasus uji diperbarui dengan hasil
Laporan cacat
Pada tahap akhir dilakukan meeting anggota tim
untuk mengidentifikasi dan menganalisis rencana
yang akan dilakukan di masa depan dan evaluasi
terhadap STLC yang dijalankan saat ini. Tujuannya
adalah untuk meminimalkan hambatan saat
proses pengujian dan meningkatkan kualitas
dalam menjalankan STLC di masa depan
6. TEST CYCLE CLOSURE
Aktivities (Kegiatan)
✓ Mengevaluasi kriteria penyelesaian siklus berdasarkan Waktu, Cakupan
Tes, Biaya, Perangkat Lunak, Tujuan Bisnis Kritis, Kualitas
✓ Siapkan metrik pengujian berdasarkan parameter di atas.
✓ Dokumentasikan pembelajaran dari proyek
✓ Mempersiapkan laporan penutupan Tes
✓ Pelaporan kualitatif dan kuantitatif kualitas produk kerja kepada
pelanggan.
✓ Uji hasil analisis untuk mengetahui distribusi cacat berdasarkan jenis
dan tingkat keparahan.
Deliverables (hasil)
✓ Laporan Uji Penutupan
✓ Metrik uji
Kaidah Umum Pengujian
● Dimulai dari pengujian tingkat komponen menuju
integrasi.
● Titik yang berbeda dimungkinkan memakai teknik
pengujian yang berbeda.
● Pengujian dilakukan oleh developer dan (untuk proyek
yang besar) tim independen.
● Testing dan debugging adalah berbeda. Namun
debugging pasti berkaitan dengan strategi testing
apapun.
Strategi Pengujian
● Dimulai dari unit testing terhadap source code hingga system testing terhadap spesifikasi
kebutuhan.
Langkah Pengujian
Unit Testing
System Testing
● Meguji sistem berbasis komputer secara menyeluruh,
termasuk juga hubungannya dengan sistem yang lain.
● Diantaranya:
○ Recovery testing, jika system failure.
○ Security testing, jika terjadi serangan.
○ Stress testing, terhadap jumlah, frekuensi dan
volume pekerjaan.
○ Performance testing, untuk mengukur pemakaian
sumber daya.
Debugging
● Memperbaiki error yang ditemukan pada saat testing
(yang sukses).
● Kaidah dasar sebelum debug:
○ Apakah penyebab bug dihasilkan kembali oleh bagian
program yang lain?
○ Apakah bug selanjutnya yang mungkin muncul jika
bug diperbaiki?
○ Apa yang bisa dilakukan untuk mencegah bug terjadi
untuk pertama kalinya?

Software Testing Life Cycle-Software Testing Life Cycle.pdf

  • 1.
  • 2.
    CAPAIAN PEMBELAJARAN Memahami definisi dantujuan pengujian perangkat lunak, tahap STLC (software testing life cycle) dan prinsip dasar pengujian
  • 3.
    Software Testing LifeCycle (STLC) adalah tahap-tahap proses pengujian yang dilaksanakan secara sistematis dan terencana. Dalam proses STLC, berbagai kegiatan dilakukan untuk meningkatkan kualitas produk. Meskipun SDLC dan STLC terkesan mirip, namun penerapannya berbeda. SDLC (Software Development Life Cycle) diterapkan pada semua tahap pengembangan software, sedangkan STLC hanya terbatas pada tahap pengujian software SOFTWARE TESTING LIFE CYCLE
  • 4.
    STLC mengacu padatahap-tahap yang spesifik dalam proses pengujian untuk memastikan kualitas produk. Setiap tahap-tahap dari STLC memiliki Entry Criteria , Exit Criteria , Activities dan Deliverable yang terkait. • Entry Criteria adalah ketentuan yang harus kita penuhi sebelum pengujian dapat dimulai. • Exit Criteria adalah ketentuan yang harus diselesaikan sebelum menyelesaikan pengujian. • Activities adalah kegiatan-kegiatan yang diperlukan untuk melakukan pengujian. • Deliverable adalah hasil yang didapatkan setelah kita menyelesaikan pengujian. TAHAP SOFTWARE TESTING LIFE CYCLE
  • 5.
    ketentuan yang haruskita penuhi sebelum pengujian dapat dimula. Contoh kegiatan yang dilakukakan : q Pengecekan lingkungan Uji tersedia dan siap untuk digunakan. q Pengecekan alat tes yg dipasang di lingkungan siap untuk digunakan. q Pengecekan apakah kode Testable tersedia. q Pengecekan apakah Uji Data tersedia dan divalidasi untuk kebenaran data. ENTRY CRITERIA
  • 6.
    ketentuan yang harusdiselesaikan sebelum menyelesaikan pengujian. Contoh kegiatan yang dilakukakan : q Tim telah melaksanakan seluruh tes yang direncanakan pada tiap modul. q Fitur - fitur yang dibangun telah memenuhi kebutuhan sistem dan disetujui oleh Seluruh Stakeholder q Tim telah memeriksa dan memastikan bahwa pada sistem sudah tidak ada bug. EXIT CRITERIA
  • 7.
    kegiatan-kegiatan yang diperlukanuntuk melakukan pengujian. Contoh kegiatan yang dilakukakan : q Menyiapkan daftar pertanyaan atau kegiatan dari Analis Bisnis, System Architecture, Client, Technical Manager/Lead, dll. q Pengelompokan jenis testing yang dilakukan, seperti functional test, performance test, security test, dll q Melakukan skala prioritas testing q Breakdown list pernyataan atau kegiatan yang dilakukan dari top to down q Mengecek apakah ada testing yang bisa dilakukan secara otomasi ACTIVITIES
  • 8.
    hasil yang didapatkansetelah kita menyelesaikan pengujian.. Contoh kegiatan yang dilakukakan : q Daftar Pertanyaan atau kegiatan yang harus diselesaikan beserta hasil tes yg dilakukan q Persyaratan yang dapat diuji q Pre-persyaratan (pre-requirement) yang harus disiapkan sebelum digunakan q Laporan hasil uji q Laporan kelayakan otomasi (jika ada) DELIVERABLE
  • 9.
  • 10.
    Requirement analysis adalahtahap pertama dalam software testing life cycle atau STLC. Requirement software yang sudah ada dari stakeholder (system analyst, product manager, etc) kemudian dianalisa oleh tim QA untuk mengetahui detail software, module, fitur dan fungsi yang akan dibangun, review dan melakukan validasi jika masih ada kekurangan dan atau untuk melengkapi kejelasan requirement tersebut, menganalisa apa saja yang dapat diuji (testable) secara manual dan automated serta menganalisa cakupan fungsi atau fitur mana saja yang akan diuji secara functional dan non- functional. 1. REQUIREMENT ANALYSIS
  • 11.
    Aktivities (Kegiatan) ✓ Identifikasijenis tes yang akan dilakukan. ✓ Kumpulkan detail tentang prioritas dan fokus pengujian. ✓ Mempersiapkan Requirements Traceability Matrix (RTM) . ✓ Identifikasi detail lingkungan pengujian dimana pengujian seharusnya dilakukan. Deliverables (hasil) ✓ RTM
  • 12.
    ●Requirements tracing adalahproses mendokumentasikan hubungan antara kebutuhan pengguna untuk sistem yang sedang dibangun dan produk kerja yang dikembangkan untuk melaksanakan dan memverifikasi kebutuhan. ●Produk-produk pekerjaan ini meliputi kebutuhan Software, spesifikasi desain, kode Software, rencana uji dan artefak lain dari proses pengembangan sistem. ●Requirements tracing membantu tim proyek untuk memahami bagian mana dari desain dan kode yang menerapkan kebutuhan pengguna dan tes yang diperlukan untuk memverifikasi bahwa kebutuhan pengguna telah diterapkan dengan benar. RTM (REQUIREMENTS TRACING)
  • 13.
    ● Memastikan bahwaseluruh test case yang ada harus sesuai dengan kebutuhan. ● Memastikan bahwa ketentuan yang telah disetujui sudah mencakup semua pada fase pengembangan. Dari spesifikasi kebutuhan, pengembangan perangkat lunak, testing, sampai perangkat lunak itu jadi. TUJUAN RTM (REQUIREMENTS TRACING)
  • 15.
    Tahap planning adalahtahap kedua dari proses STLC yang juga dapat disebut dengan test planning atau test strategy. Pada tahap ini tim QA mempersiapkan rencana untuk melakukan pengujian berdasarkan requirement analysis. Pada tahap ini akan ditentukan tools yang akan digunakan untuk menguji dan hal hal yang di deliver setelah pengujian, estimasi waktu dan sumber daya , pembagian peran serta tanggung jawab pada tim QA 2. TEST PLANNING
  • 16.
    Aktivities (Kegiatan) ✓ Persiapanrencana uji / dokumen strategi untuk berbagai jenis pengujian ✓ Pemilihan alat uji ✓ Perkiraan waktu pengujian ✓ Perencanaan sumber daya dan menentukan peran dan tanggung jawab. ✓ Persyaratan pelatihan Deliverables (hasil) ✓ Rencana uji / dokumen strategi. ✓ Dokumen estimasi waktu.
  • 17.
    Pada tahap selanjutnyaadalah development. Tahap ini berisi hal-hal yang akan menjadi acuan dalam pengujian yang melibatkan untuk membuat test case, membuat test data, membuat script automation test berdasarkan test case. Test Case adalah sekumpulan skenario yang disusun oleh QA agar sistem yang akan dites dapat memenuhi ketentuan, standar tertentu serta dapat berfungsi dengan baik. 3. TEST CASE DEVELOPMENT
  • 18.
    Aktivities (Kegiatan) ✓ Reviewdan uji kasus dasar dan script awal ✓ Buat data uji (Jika Lingkungan Uji tersedia) Deliverables (hasil) ✓ Uji kasus / script ✓ Uji data
  • 19.
    ● Pada tahapini proses yang dilakukan adalah memastikan environment test dapat berjalan dengan baik dan sesuai harapan. Pada dasarnya environment test menentukan syarat software yang diujian mulai melakukan smoke test untuk memastikan environment test apakah sudah benar-benar siap. ● Smoke test adalah testing yang dilakukan untuk memastikan fitur atau fungsi penting dari suatu program berjalan dengan baik sebelum dilakukannya tes fungsional atau regression. 4. TEST ENVIRONMENT SETUP
  • 20.
    Aktivities (Kegiatan) ✓ Memahamiarsitektur yang diperlukan, pengaturan lingkungan, dan menyiapkan daftar persyaratan perangkat keras dan perangkat lunak untuk Lingkungan Pengujian. ✓ Tes pengaturan Lingkungan dan data uji ✓ Lakukan smoke test di gedung Deliverables (hasil) ● Lingkungan siap dengan pengaturan data uji ● Hasil Uji Asap (Smoke Testing).
  • 21.
    Tahap selanjutnya yaitutest execution, setelah software siap uji dan persiapan pengujian siap. Pada tahap ini pengujian dilakukan berdasarkan test plan dan test case yang disepakati di tahap sebelumnya. Fitur yang berjalan sesuai dengan test requirement, status fitur tersebut adalah pass atau berhasil, dan siap untuk masuk ke tahap deployment. Jika fungsi tidak berjalan sesuai dengan requirement, maka tergantung dari kategori error atau bug yang terjadi. Error yang ditemukan tersebut dimasukkan ke dalam test report tim QA untuk disampaikan ke tim developer untuk diperbaiki, dan kembali diuji oleh tim QA. Pada tahap ini juga dilakukan sanity testing dan regression testing ketika akan melakukan deployment program 5. TEST EXECUTION
  • 22.
    Aktivities (Kegiatan) ✓ Jalankantes sesuai rencana ✓ Dokumentasikan hasil tes, dan log cacat untuk kasus yang gagal ✓ Uji kasus dalam RTM ✓ Coba ulang perbaikan cacat ✓ Lacak cacat yang akan ditutup Deliverables (hasil) RTM lengkap dengan status eksekusi Kasus uji diperbarui dengan hasil Laporan cacat
  • 23.
    Pada tahap akhirdilakukan meeting anggota tim untuk mengidentifikasi dan menganalisis rencana yang akan dilakukan di masa depan dan evaluasi terhadap STLC yang dijalankan saat ini. Tujuannya adalah untuk meminimalkan hambatan saat proses pengujian dan meningkatkan kualitas dalam menjalankan STLC di masa depan 6. TEST CYCLE CLOSURE
  • 24.
    Aktivities (Kegiatan) ✓ Mengevaluasikriteria penyelesaian siklus berdasarkan Waktu, Cakupan Tes, Biaya, Perangkat Lunak, Tujuan Bisnis Kritis, Kualitas ✓ Siapkan metrik pengujian berdasarkan parameter di atas. ✓ Dokumentasikan pembelajaran dari proyek ✓ Mempersiapkan laporan penutupan Tes ✓ Pelaporan kualitatif dan kuantitatif kualitas produk kerja kepada pelanggan. ✓ Uji hasil analisis untuk mengetahui distribusi cacat berdasarkan jenis dan tingkat keparahan. Deliverables (hasil) ✓ Laporan Uji Penutupan ✓ Metrik uji
  • 25.
    Kaidah Umum Pengujian ●Dimulai dari pengujian tingkat komponen menuju integrasi. ● Titik yang berbeda dimungkinkan memakai teknik pengujian yang berbeda. ● Pengujian dilakukan oleh developer dan (untuk proyek yang besar) tim independen. ● Testing dan debugging adalah berbeda. Namun debugging pasti berkaitan dengan strategi testing apapun.
  • 26.
    Strategi Pengujian ● Dimulaidari unit testing terhadap source code hingga system testing terhadap spesifikasi kebutuhan.
  • 27.
  • 28.
  • 29.
    System Testing ● Megujisistem berbasis komputer secara menyeluruh, termasuk juga hubungannya dengan sistem yang lain. ● Diantaranya: ○ Recovery testing, jika system failure. ○ Security testing, jika terjadi serangan. ○ Stress testing, terhadap jumlah, frekuensi dan volume pekerjaan. ○ Performance testing, untuk mengukur pemakaian sumber daya.
  • 30.
    Debugging ● Memperbaiki erroryang ditemukan pada saat testing (yang sukses). ● Kaidah dasar sebelum debug: ○ Apakah penyebab bug dihasilkan kembali oleh bagian program yang lain? ○ Apakah bug selanjutnya yang mungkin muncul jika bug diperbaiki? ○ Apa yang bisa dilakukan untuk mencegah bug terjadi untuk pertama kalinya?