• Tidak ada hasil yang ditemukan

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

N/A
N/A
Protected

Academic year: 2024

Membagikan "DASAR-DASAR PENGUJIAN PERANGKAT LUNAK"

Copied!
24
0
0

Teks penuh

(1)

DASAR-DASAR PENGUJIAN

PERANGKAT LUNAK

(2)

Proses Testing

• System Testing

– Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar sub-system

• Acceptance Testing

– Pengujian terakhirs sebelum sistem dipakai oleh user.

– Melibatkan pengujian dengan data dari pengguna sistem.

– Biasa dikenal sebagai “alpha test” (“beta test” untuk software komersial, dimana pengujian dilakukan oleh potensial customer)

(3)

Proses Testing

Unit

Testing Module

Testing Sub-system

Testing System

Testing Acceptance Testing

Component Testing Integration Testing User

Testing

(4)

The testing process

Component testing

„ Pengujian komponen-komponen program

„ Biasanya dilakukan oleh component developer (kecuali untuk system kritis)

Integration testing

„ Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk sub-system

ataupun system

„ Dialakukan oleh tim penguji yang independent

„ Pengujian berdasarkan spesifikasi sistem

(5)

Rencana Pengujian

Proses testing

„ Deskripsi fase-fase utama dalam pengujian

Pelacakan Kebutuhan

„ Semua kebutuhan user diuji secara individu

Item yg diuji

„ Menspesifikasi komponen sistem yang diuji

Jadual Testing

Prosedur Pencatatan Hasil dan Prosedur Kebutuhan akan Hardware dan Software Kendala-kendala

„ Mis: kekuranga staff, alat, waktu dll.

(6)

Hubungan antara rencana pengujian dan proses pengembangan system

Spesifikasi

Kebutuhan Spesifikasi

System Perancangan

System Detail

Perancangan

Acceptance

Test plan System Integration

Test plan

Sub-System Integration

Test plan

Module and Unit code and

test

Acceptance test

System Integration

test

Sub-System Integration

test Service

(7)

Failures, Faults

Failure: output yang tidak benar/tidak sesuai ketika sistem dijalankan

Fault: kesalahan dalam source code yang mungkin menimbulkan failure ketika code yg fault tsb dijalankan

Failure yang merusak sistem data Corrupting

Failure tidak merusak data Non-corrupting

Sistem tidak dapat memperbaiki secara otomatis Unrecoverable

Sistem dapat memperbaiki secara otomatis Recoverable

Muncul untuk semua input Permanent

Muncul untuk input tertentu Transient

Deskripsi Failure Class

(8)

1: input A,B

2: A>0?

3: C :=0 4: C := A*B

5: B>0?

6: X := C*(A+2*A) 7: X := A+B

8: output X

Contoh: Faults, Errors, and Failures

Suppose node 6 should be X:= C*(A+2*B)

Failure-less fault:

» executing path (1,2,4,5,7,8) will not reveal this fault

because 6 is not executed

» nor will executing path (1,2,3,5,6,8) because C = 0

Need to make sure proper test cases are selected

the definitions of C at

nodes 3 and 4 both affect the use of C at node 6

» executing path (1,2,4,5,6,8) will reveal the failure,

but only if B /= 0

(9)

Hanya test yang lengkap yg dapat

meyakinkan sistem terbebas dari kesalahan, tetapi hal ini sangat sulit dilakukan.

Prioritas dilakukan terhadap pengujian

kemampuan sistem, bukan masing-masing komponennya.

Pengujian untuk situasi yg tipikal lebih

penting dibandingkan pengujian terhadap nilai batas.

Prioritas Testing

(10)

Test data: Input yang yang

direncankan digunakan oleh sistem.

Test cases: Input yang digunakan

untuk menguji sistem dan memprediksi output dari input jika sistem beroperasi sesuai dengan spesifikasi.

Test data dan kasus test

(11)

Proses defect testing

Design test cases

Prepare test data

Run program with test data

Compare results to test cases Test

cases

Test data

Test results

Test reports

(12)

Disebut juga white-box testing Penentuan test case disesuaikan

dengan struktur sistem. Knowledge program digunakan untuk

mengidentifikasi test case tambahan.

Tujuannya untuk menguji semua statement program (debug).

Structural testing

(13)

White-box testing

Component code

Test outputs Test data

Derives Tests

(14)

Path testing

Tujuannya meyakinkan bahwa himpunan test case akan menguji setiap path pada suatu

program paling sedikit satu kali.

Titik awal untuk path testing adalah suatu

program flow graph yang menunjukkan node- node yang menyatakan program decisions

(mis.: if-then-else condition) dan busur menyatakan alur kontrol

Statements dengan conditions adalah node- node dalam flow graf.

(15)

Menggambarkan alur kontrol. Setiap cabang ditunjukkan oleh path yg terpisah dan loop ditunjukkan oleh arrows looping kembali ke loop kondisi node.

Digunakan sebagai basis untuk menghitung cyclomatic complexity

Cyclomatic complexity = Jumlah edges – Jumlah Node +2

Cyclomatic complexity menyatakan jumlah test untuk menguji control statements

Program flow graphs

(16)

Binary search flow graph

1

2

3

4

6 5

7

while bottom <= top

if (elemArray [mid] == key

(if (elemArray [mid]< key 8

9 bottom > top

(17)

1, 2, 3, 8, 9

1, 2, 3, 4, 6, 7, 2 1, 2, 3, 4, 5, 7, 2

1, 2, 3, 4, 6, 7, 2, 8, 9

Test cases harus ditentukan sehingga semua path tsb tereksekusi.

Independent paths

(18)

Black-box testing

Pendekatan pengujian dimana program dianggap sebagai suatu ‘black-box’

(‘kotak hitam’)

Program test case berbasiskan spesifikasi

Test planning dapat dimulai sejak awal

proses pengembangan sistem

(19)

Black-box testing

I e Input test data

Oe Output test results

System

Inputs causing anomalous behaviour

Outputs which reveal the presence of

defects

(20)

Black-box testing

• Pengujian black box berusaha

menemukan kesalahan dalam kategori :

– Fungsi-fungsi yang tidak benar atau hilang – Kesalahan interface

– Kesalahan dalam struktur data atau akses database eksternal

– Kesalahan kinerja

– Inisialisasi dan kesalahan terminasi

(21)

Partisi Ekivalensi ( equivalensi partition )

Input data dan output hasil terdapat di klas yang berbeda yang sesuai dengan klas

inputnya

Masing-masing klas equivalensi partition

diprosres dimana program akan memproses anggota klas-klas tersebut secara equivale.

Test cases dipilih dari masing-masing partisi

(22)

Partisi Ekivalensi ( Equivalence partitioning )

System

Outputs

Invalid inputs Valid inputs

(23)

Partition system inputs and outputs into

‘equivalence sets’

„ If input is a 5-digit integer between 10000 and 99999,

equivalence partitions are <10000, 10000-99999 and > 100000

Choose test cases at the boundary of these sets

„ 00000, 9999, 10000, 99999, 100001

Partisi Ekivalensi ( Equivalence

partitioning )

(24)

Equivalence partitions

Between 10000 and 99999

Less than 10000 More than 99999

9999

10000 50000

100000 99999

Input values

Between 4 and 10

Less than 4 More than 10

3

4 7

11 10

Number of input values

Gambar

Jadual Testing

Referensi

Dokumen terkait

7) Menentukan data yang diperlukan dalam pelaksanaan pengujian. 8) Menentukan tools yang dibutuhkan untuk mempermudah pengujian. 9) Mengidentifikasi tugas, penanggung

Bagian ini berisi identifikasi dari nama, nomor dan versi (jika ada) dari perangkat keras yang dilibatkan dalam pengujian, peralatan khusus (misalnya interface card khusus), peralatan

Apabila Proses telah selesai dilakukan oleh system, maka proses selanjutnya data akan di uji pada kasus yang ada dengan jalur kritis menggunakan PERT-CPM. Admin mengecek

❏ System testing merupakan pengujian yang melakukan validasi terhadap produk perangkat lunak untuk memeriksa apakah perangkat lunak yang dibangun sudah dapat dijalankan sesuai

Komponen internet berguna untuk menghubungkan jaringan- jaringan yang ada sehingga dapat diakses dari jarak jauh untuk kepentingan user atau kepentingan perawatan. Dilakukan

•  “Apakah sistem dikembangkan dengan cara yang benar ?” •  Pengujian apakah sistem sudah sesuai dengan spesifikasi!. Seberapa baik sistem yang sudah

Tabel 3 Pengujian admin N o Fungsi yang diuji Cara pengujian Hasil yang di harapkan Hasil pengujia n 1 Pengujia n login Masukan username dan password Jika username

Penilaian umum; persetujuan tim proyek • Untuk menyelesaikan sebuah proyek perangkat lunak bisa mengombinasikan lebih dari satu model proses Model Proses Lainnya • Component Based