Anda di halaman 1dari 76

Pertemuan 2

Testing & Implementasi sistem


Tujuan Mata Kuliah

2

✘ DEFINISI
✘ STRATEGI PENDEKATAN
✘ VALIDASI
✘ VERIFIKASI

3
1.
Terminologi
Testing

4
Definisi

Melakukan pengujian terhadap perangkat lunak yang dibangun


baik secara unit (komponen) maupun integrasi

5
Who Tests the Software?!

Understands the system Must learn about the system,


but, will test "gently" but, will attempt to break it!
and, is driven by "delivery" and, is driven by quality

6
Testing Process
7
Strategi Pengujian
✘ Dimulai dari ‘testing-in-the-small’ kemudian ke ‘testing-
in-the-large’
✘ Untuk PL Konvensional
○ Fokus : module (komponen)
○ Dilanjutkan integrasi antar module
✘ Untuk PL Object Oriented
○ Fokus “testing in the small” berubah dari modul ke class
meliputi atribut dan operation

8
COMPONENT TESTING
✘ Melakukan testing terhadap individual komponen program
✘ Merupakan tanggung jawab dari pengembang komponen
perangkat lunak (kecuali untuk sistem yang kritis)
✘ Pengujian ini merupakan turunan dari pengalaman seorang
pengembang

9
Modul C

Modul A

Component Testing
Modul B Modul D

PERANGKAT LUNAK Modul E


SISTEM AKADEMIK

10
COMPONENT TESTING

INPUT Modul A OUTPUT

• Input Variabel • Sesuai dengan


(Integer, String real, rancangan informasi
dll) yang keluar dari
modul A ?

Modul N

11
SYSTEM TESTING
✘ Pengujian terhadap kelompok integrasi komponen perangkat
lunak untuk membuat suatu sistem atau sub-sistem
✘ Merupakan tanggung jawab dari tim testing independent
✘ Pengujian dilakukan dengan berdasarkan atas spesifikasi system
yang dibuat

12
SYSTEM TESTING
✘ Melibatkan seluruh komponen yang terintegrasi untuk membuat
system atau sub-system.
✘ Kemungkinan melibatkan testing secara increment (tumbuh-
kembang) untuk disampaikan kepada customer.
✘ Dua tahap system testing :
○ Integration testing – Tim penguji akan masuk ke dalam kode sumber
dari sistem (bagian koding). Sistem diuji sebagai komponen-
komponen yang terintegrasi.
○ Release testing – Tim penguji menguji sistem secara keseluruhan dan
disampaikan hasilnya sebagai black-box testing

13
SYSTEM TESTING

Modul C

Modul A

System Testing
Modul B Modul D

PERANGKAT LUNAK Modul E


SISTEM AKADEMIK

14
SYSTEM TESTING

INPUT

OUTPUT
Modul C

Modul A

System Modul B Output


Modul D
Guideline / System
System Guideline /
Spesification System
Spesification
Modul E ?

15
PROSES TESTING MENYELURUH

16
INTEGRATION TESTING
✘ Melibatkan seluruh pengembangan sistem dari mulai komponen-
komponennya dan mengujinya untuk masalah yang imbul dari
interaksi antar komponen.
✘ Top-down integration
○ Mengembangkan kerangka sistem dan mengumpulkan antar
komponen.
✘ Bottom-up integration
○ Integrasi antara infrastruktur komponen kemudian
tambahkan fungsi komponennya.
✘ Untuk menyederhanakan lokasi kesalahan, sistem harus di
integrasikan secara bertahap.
17
Incremental testing

18
Top-Down Testing

19
Bottom-Up Testing

20
Sandwich Testing
✘ Sandwich Testing adalah strategi di mana modul tingkat atas diuji
dengan modul tingkat yang lebih rendah pada saat yang sama
modul yang lebih rendah terintegrasi dengan modul atas dan diuji
sebagai suatu sistem. Ini adalah kombinasi dari pendekatan Top-
down dan Bottom-up oleh karena itu disebut Hybrid Integration
Testing. Itu menggunakan stub dan juga driver.

21
STUB and Drivers
✘ Sebuah aplikasi perangkat lunak terdiri dari sejumlah 'Unit', di
mana output dari satu 'Unit' berjalan sebagai 'Input' dari Unit lain.
misalnya Program 'Pencetakan Pesanan Penjualan' mengambil
'Pesanan Penjualan' sebagai input, yang sebenarnya merupakan
output dari program 'Pembuatan Pesanan Penjualan’.
✘ 'Driver' adalah perangkat lunak yang menggerakkan (memanggil)
Unit yang sedang diuji. Driver membuat 'Input' yang diperlukan
untuk Unit dan kemudian memanggil Unit.

22
STUB and Drivers
✘ Sebuah Unit dapat mereferensikan Unit lain dalam logikanya.
Sebuah 'Stub' terjadi pada unit bawahan tersebut selama
Pengujian Unit.

✘ 'Stub' adalah perangkat lunak yang bekerja mirip dengan unit yang
direferensikan oleh Unit yang diuji, tetapi jauh lebih sederhana
daripada unit sebenarnya. Stub berfungsi sebagai 'Stand-in' untuk
unit bawahan dan memberikan perilaku minimum yang diperlukan
untuk unit itu. Stub adalah prosedur, modul, atau unit dummy yang
mewakili bagian sistem yang belum selesai.
23
STUB And Driver
✘ Empat tipe dasar STUB untuk Pengujian Top-Down adalah:

○ Menampilkan pesan jejak


○ Menampilkan nilai parameter
○ Mengembalikan nilai dari tabel
○ Kembalikan nilai tabel yang dipilih berdasarkan parameter

24
Big Bang Testing
✘ Big Bang Testing adalah pendekatan pengujian Integrasi di mana
semua komponen atau modul diintegrasikan bersama sekaligus
dan kemudian diuji sebagai satu kesatuan. Kumpulan komponen
gabungan ini dianggap sebagai entitas saat pengujian. Jika semua
komponen dalam unit tidak selesai, proses integrasi tidak akan
dijalankan.

25
2.
Testing Aproach

26
✘ Architectural validation
○ Top-down integration testing bisa lebih baik jika pencarian
error dilakukan pada arsitektur sistem
✘ System demonstration
○ Top-down integration testing mengijinkan suatu batasan
demonstrasi perangkat lunak pada tahapan awal dalam suatu
pengembangan.
✘ Test implementation
○ Lebih sering dilakukan dengan bottom-up integration testing.
✘ Test observation
○ Apabila terjadi masalah dalam pendekatan kedua testing
tersebut, maka dibutuhkan kode ekstra untuk melakukan
observasi pengujian

27
Seberapa baik sistem yang sudah dibangun ?
✘ Dua Aspek yang dipertimbangkan:
○ Apakah implementasi sudah sesuai dengan spesifikasi ?
○ Apakah spesifikasi sesuai dengan kebutuhan user ?
✘ Validasi
○ “Apakah sistem yang dikembangkan sudah benar?”
○ Pengujian dimana sistem ketika diimplementasikan sesuai dengan
yang diharapkan
✘ Verifikasi
○ “Apakah sistem dikembangkan dengan cara yang benar ?”
○ Pengujian apakah sistem sudah sesuai dengan spesifikasi
28
VALIDASI
✘ Proses evaluasi terhadap produk akhir untuk mengecek apakah
perangkat lunak bertemu dengan kebutuhan bisnis yang
diinginkan atau tidak.

29
VERIFIKASI
✘ Merupakan proses evaluasi pada tahap “antara” pada
pengembangan perangkat lunak, gunanya untuk mengecek
apakah pengembangan sistem berada pada jalur yang sesuai
untuk menghasilkan suatu produk akhir.

30
VERIFIKASI
✘ Tahap “antara” pada pengembangan perangkat lunak, contohnya :
• Dokumen spesifikasi kebutuhan
• Dokumen perancangan
• Dokumen perancangan database
• Dokumen ER-Diagram
• Test Kasus,
• Matrik penelusuran, dll

31
ISO / IEC 12207:2008
Verification and Validation Activities
Verification Activities Validation Activities
• Requirement verification • Prepare the test requirements documents, test cases, and
Involves review of the requirements other test specifications to analyze the test results.
• Design Verification • Evaluate that these test requirements, test cases and other
Involves reviews of all the design documents including the HLD specifications reflects the requirements and is fit for use.
and LDD • Test for boundary values, stress and the functionalities
• Code verification • Test for error messages and in case of any error, the
Code review application is terminated gracefully.
• Documentation Verification • Test that the software meets the business requirements and is
Verification of user manuals and other related documents. fit for use.

32
33
3.
Mini quiz

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

Anda mungkin juga menyukai