teknik pengujian perangkat lunak€¦ · pengujian perangkat lunak adalah elemen kritis dari...

Post on 01-Nov-2020

26 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

TEKNIK PENGUJIAN PERANGKAT LUNAK

Ign.F.Bayu Andoro.S, M.Kom

Latar Belakang

Pengujian Perangkat Lunak adalah elemen kritis dari jaminan kualitas P/L dan merupakan review puncak terhadap spesifikasi, desain dan pembuatan program.

Pengujian Perangkat Lunak menghabiskan upaya 30-40% dari total pekerjaan proyek.

Untuk proyek yang membahayakan nyawa manusia, biaya pengujian bisa 3-5 X proyek biasa. bayuandoro.com 2

Tujuan Pengujian

1. Menjalankan program untuk menemukan error.

2. Test case yang bagus adalah yang memiliki kemungkinan terbesar untuk menemukan error yang tersembunyi.

3. Pengujian yang sukses adalah yang berhasil menemukan error yang tersembunyi.

bayuandoro.com 3

Prinsip Pengujian

Harus bisa dilacak hingga sampai ke kebutuhan customer.

Harus direncanakan sejak model dibuat.

Prinsip Pareto: 80% error uncovered.

Dari lingkup kecil menuju yang besar.

Tidak bisa semua kemungkinan diuji.

Dilakukan oleh pihak ketiga yang independen.

bayuandoro.com 4

DESAIN TEST CASE

Desain test case merupakan metode pengujian untuk perangkat lunak guna memastikan kelengkapan pengujian dan memberikan kemungkinan tertinggi untuk mengungkap kesalahan pada perangkat lunak.

bayuandoro.com 5

Semua produk yang direkayasa dapat diuji dengan satu atau

dua cara : Dengan mengetahui fungsi yang

ditentukan dimana produk yang dirancang untuk melakukanya, pengujian dapat dilakukan untuk memperlihatkan bahwa masing-masing fungsi beroperasi sepenuhnya, pada waktu yang sama mencari kesalahan pada setiap fungsi.

bayuandoro.com 6

Semua produk yang direkayasa dapat diuji dengan satu atau

dua cara : Dengan mengetahui kinerja internal suatu

produk, maka pengujian dapat dilakukan untuk memastikan bahwa semua roda gigi berhubungan, yaitu operasi internal bekerja sesuai dengan spesifikasi dan semua komponen internal telah diamati dengan baik.

bayuandoro.com 7

PENGUJIAN WHITE BOX

adalah metode desain test case yang menggunakan struktur control desain procedural untuk memperoleh test case.

bayuandoro.com 8

Dengan pengujian whitebox, developer dapat melakukan:

Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali.

Menggunakan semua keputusan logis pada sisi true and false.

bayuandoro.com 9

Dengan pengujian whitebox, developer dapat melakukan:

Mengeksekusi semua loop pada batasan serta pada batas operasional mereka.

Menggunakan struktur data internal untuk menjamin validitasnya.

bayuandoro.com 10

PENGUJIAN WHITE BOX

bayuandoro.com 11

PENGUJIAN BASIS PATH

Pengujian basis path memungkinkan desain test case mengukur kompleksitas logis dari desain procedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi.

bayuandoro.com 12

PENGUJIAN BASIS PATH

Test case yang dilakukan untuk menggunakan basis set tersebut dijamin untuk menggunakan setiap statemen di dalam program paling tidak sekali selama pengujian.

bayuandoro.com 13

PENGUJIAN BASIS PATH

Notasi Diagram Alir

Diagram Alir atau grafik program menggambarkan aliran control logika.

bayuandoro.com 14

PENGUJIAN BASIS PATH

Notasi Diagram Alir

bayuandoro.com 15

PENGUJIAN BASIS PATH

Notasi Diagram Alir

Untuk menggambarkan pemakaian diagram alir diberikan contoh perancangan prosedural dalam bentuk flowchart

bayuandoro.com 16

PENGUJIAN BASIS PATH (Diagram Alir)

bayuandoro.com 17

Selanjutnya diagram alir di atas dipetakan ke grafik alir

bayuandoro.com 18

Selanjutnya diagram alir di atas dipetakan ke grafik alir

Lingkaran/node:

menggambarkan satu/lebih perintah prosedural. Urutan proses dan keputusan dapat dipetakan dalam satu node.

Tanda panah/edge :

menggambarkan aliran kontrol. Setiap node harus mempunyai tujuan node

bayuandoro.com 19

Selanjutnya diagram alir di atas dipetakan ke grafik alir

Region:

adalah daerah yg dibatasi oleh edge dan node. Termasuk daerah diluar grafik alir.

bayuandoro.com 20

PENGUJIAN BASIS PATH

Contoh menterjemahkan pseudo code ke grafik alir

1: do while record masih ada (baca record)

2: if record ke 1 = 0

3: then proses record (simpan di buffer naikan kounter)

bayuandoro.com 21

PENGUJIAN BASIS PATH

Contoh menterjemahkan pseudo code ke grafik alir

4: else if record ke 2 = 0

5 then reser kounter

6 proses record (simpan pada file)

7a: endif (endif)

7b: enddo

8 : end

bayuandoro.com 22

PENGUJIAN BASIS PATH

Contoh menterjemahkan pseudo code ke grafik alir

Nomor pada pseudo code berhubungan dengan nomor node.

Apabila diketemukan kondisi majemuk (compound condition) pada pseudo cade pembuatan grafik alir menjadi rumit.

Kondisi majemuk mungkin terjadi pada operator Boolean (AND, OR, NAND, NOR) yg dipakai pada perintah if. bayuandoro.com 23

PENGUJIAN LOOP

Loop merupakan kendala yang sering muncul untuk menerapkan algoritma dengan tepat.

Uji coba loop merupakan teknik pengujian white box yg fokusnya pada validitas dari loop.

bayuandoro.com 24

PENGUJIAN LOOP

Loop Sederhana,

pengujian loop sederhana dilakukan dgn mudah, dimana “n” jumlah maksimum yg diijinkan melewati loop tsb.

1. Lewati loop secara keseluruhan

2. Hanya satu yg dapat melewati loop

3. m dapat melewati loop dimana m< n

bayuandoro.com 25

PENGUJIAN LOOP

Loop Sederhana,

bayuandoro.com 26

PENGUJIAN LOOP

Loop Tersarang,

pengujian loop ini menggunakan pendekatan loop sederhana.

bayuandoro.com 27

PENGUJIAN LOOP

Petunjuk pengujian loop tersarang :

1. Dimulai dari loop paling dalam. Atur semua loop ke nilai minimum.

2. Kerjakan dgn prinsip loop sederhana untuk loop yg paling dalam sementara tahan loop yg di luar pada parameter terkecil (nilai kounter terkecil)

3. Kemudian lanjutkan untuk loop yg diatasnya.

4. Teruskan sampai semua loop selesai di uji. bayuandoro.com 28

PENGUJIAN LOOP

Loop tersarang

bayuandoro.com 29

PENGUJIAN LOOP

Loop Terangkai,

pengujian loop ini menggunakan pendekatan loop sederhana bila masing-masing loop independen, tetapi bila dua loop dirangkai dan pencacah loop 1 digunakan sebagai harga awal loop 2 maka loop tsb jadi tidak independen, maka pendekatan yg diaplikasikan ke loop tersarang direkomendasikan.

bayuandoro.com 30

PENGUJIAN LOOP

Loop Terangkai,

bayuandoro.com 31

PENGUJIAN LOOP

Loop Tidak Terstruktur,

Kapan saja memungkinkan, loop ini didisain kembali agar mencerminkan penggunaan komsepsi pemrograman tertruktur.

bayuandoro.com 32

PENGUJIAN LOOP

Loop Tidak Terstruktur,

bayuandoro.com 33

PENGUJIAN BASIS PATH

Kompleksitas Siklomatis

Kompleksitas Siklomatis adalah metric perangkat lunak yang memberikan pengukuran kuantitaif terhadap kompleksitas logis suatu program.

bayuandoro.com 34

PENGUJIAN BASIS PATH

Kompleksitas Siklomatis

Kompleksitas Siklomatis menentukan jumlah jalur independen dalam basis set suatu program dan memberikan batas atas bagi jumlah pengujian yang harus dilakukan untuk memastikan bahwa semua statemen telah dieksekusi sedikitnya satu kali.

bayuandoro.com 35

PENGUJIAN BASIS PATH

Kompleksitas Siklomatis

Jalur independen adalah jalur yang melalui program yang mengintroduksi sedikitnya satu rangkaian statemen proses baru atau suatu kondisi baru.

bayuandoro.com 36

PENGUJIAN BASIS PATH

Melakukan Test Case

Dengan menggunakan desain atau kode sebagai dasar, gambarkan sebuah grafik alir yang sesuai.

Tentukan kompleksitas siklomatis dari grafik alir resultan.

bayuandoro.com 37

PENGUJIAN BASIS PATH

Melakukan Test Case

Tentukan sebuah basis set dari jalur independen secara linier.

Siapkan test case yang akan memaksa adanya eksekusi setiap basis set.

bayuandoro.com 38

PENGUJIAN BASIS PATH

Matrik Grafis

Matrik grafis adalah matriks bujur sangkar yang ukurannya sama dengan jumlah simpul pada grafik alir.

Masing-masing baris dan kolom sesuai dengan yang diidentifikasi kan, dan entri matriks sesuai dengan edge (tepi atau titik) di antara simpul.

bayuandoro.com 39

Minggu Depan STRATEGI PENGUJIAN

PERANGKAT LUNAK

Testablility

Kemudahan untuk diuji.

Karakteristiknya: – Operability: mudah digunakan.

– Observability: mudah diamati.

– Controlability: mudah dikendalikan.

– Decomposability: mudah diuraikan.

– Simplicity: lingkup kecil, semakin mudah diuji.

– Stability: jarang berubah.

– Understandability: mudah dipahami.

bayuandoro.com 41

Desain Kasus Pengujian

Black box testing

– Memastikan fungsional P/L berjalan.

– Kesesuaian input dengan output.

– Tidak memperhatikan proses logic internal.

White box testing

– Pengamatan detail prosedur.

– Mengamati sampai level percabangan kondisi dan perulangan.

bayuandoro.com 42

White Box Testing

Metode: basis path testing.

Memakai notasi flow graph.

bayuandoro.com 43

Kompleksitas Cyclomatic

Menunjukkan jumlah skenario pengujian yang harus dilakukan untuk menjamin cakupan seluruh program.

bayuandoro.com 44

Contoh White Box Testing

bayuandoro.com 45

Black Box Testing – Graph Based

bayuandoro.com 46

Black Box Testing – Equivalence Partitioning

Contoh: Input NPM dalam SIAMIK

– Jika dikosongi?

– Jika diisi dengan format yang salah?

– Jika diisi dengan NPM yang benar?

bayuandoro.com 47

Black Box Testing – Analisa Nilai Batas

1. Menguji untuk input di sekitar batas atas maupun bawah sebuah range nilai yang valid.

2. Menguji nilai maksimal dan minimal.

3. Menerapkan (1 & 2) untuk output.

4. Menguji batas struktur data yang dipakai. Misal ukuran array.

bayuandoro.com 48

Black Box Testing – Perbandingan

Spesifikasi kebutuhan yang sama dimungkinkan menghasilkan aplikasi/ perangkat lunak yang berbeda.

Skenario pengujian pada aplikasi yang demikian bisa digunakan untuk skenario pengujian aplikasi serupa yang lain.

bayuandoro.com 49

Skenario Pengujian Khusus

Pengujian GUI.

Pengujian arsitektur client/ server.

Pengujian dokumentasi dan fasilitas bantuan.

Pengujian sistem waktu nyata.

bayuandoro.com 50

Alpha testing

Pengujian yang di kenal dengan alpha testing sering dilakukan di bawah suatu debugger atau dengan hardware-assisted yang debugging untuk menangkap bugs dengan cepat

Teknik ini juga dikenal sebagai white-box testing

bayuandoro.com 51

Alpha testing

Selanjutnya diserahkan staff pengujian untuk pemeriksaan tambahan di dalam lingkungan yang serupa.

Teknik ini dikenal juga dengan black-box testing dan sering di sebut langkah lanjutan dari white-box testing atau alpha testing.

bayuandoro.com 52

Betha testing

Mengeluarkan pruduk betha-version kepada kelompok-kelompok tertentu untuk dilakukan pengujian sehingga dapat mengetahui bugs yang ada pada perangkat lunak.

Biasanya, beta-versions dibuat terbatas dan tersedia untuk publik terbuka yang bertujuan untuk meningkatkan jumlah para pemakai di masa yang akan datang.

bayuandoro.com 53

Gamma testing

Pada kasus tertentu developer mengeluarkan produk Gamma version dimana produk yang dikeluarkan sudah memiliki fitur yang lengkap akan tetapi ada beberapa modul yang tidak berjalan sebagaimana mestinya.

bayuandoro.com 54

Terima kasih

bayuandoro.com 55

top related