Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 30

TEST GENERATION

CONCEPTS
RIDLO SAYYIDINA AULIYA
rsayyidinaa@gmail.com

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

OUTLINE

Test Data Generation :

8Test Generation
Concepts

9Functional Criteria

10Structural Criteria

Introduction

Test Generation and Target


Attributes
Test Generation Outcomes

Test Generation
Requirements

Test Generation Criteria

Empirical Adequacy
Assessment

Paper Review

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

INTRODUCTION

Test Data Generation merupakan proses untuk menghasilkan data yang


digunakan dalam pengujian perangkat lunak.

Test Generation Concepts :


1. How

does the target attribute that we are trying to achieve through the test
influence test data generation ?

2. What

requirements does the generated test data satisfy ?

3. What

criteria can we deploy to generate test data ?

4. How

do we assess the quality of generated test data ?

5. How

do we measure test coveragethat is, the extent to which a test achieve its
goal ?
PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

TEST
GENERATION
AND TARGET
ATTRIBUTES

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

TEST GOALS

PERFORMANCE :

Finding and removing fault

Proving the absence of fault

Estimating fault density

Estimating the frequency of failures

Ensuring the infrequency of


failures

FUNCTIONAL :

to establish correctness with respect to a


specification

to ensure that it computes its intended


function

to ensure that it is robust

to ensure its safety

to ensure its security

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

TARGET ATTRIBUTES
Target Attributes

CORRECTNESS PRECISION ROBUSTNESS SAFETY SECURITY

Correctness, dapat diukur dengan spesifikasi nondeterministik.

Precision, menyatakan apakah program menjalankan intended function.

Robustness, menyatakan apakan program dapat berjalan dengan baik dalam situasi di
luar domain spesifikasi.

Safety, menyatakan kemampuan program menghindari pelanggaran safety-critical


requirement.

Security, menyatakan kemampuan program menghindari dan mengatasi ancaman


keamanan.
PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

TARGET ATTRIBUTES

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

TEST OUTCOMES

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Pengujian dilakukan dengan menjalankan candidate program,


dengan menggunakan data uji yang berada dalam domain R.

Definition 1 : Succesful Execution

Terdapat spesifikasi R pada S, dengan domain X dimana s adalah elemen


dari X.

Eksekusi program p pada kondisi s berhasil, jika dan hanya jika s dom(R
P), dimana P merupakan fungsi yang dijalankan pada program p.

Sekumpulan kondisi yang menyatakan keluaran keberhasilan eksekusi


program yakni dom(R P), yang merupakan himpunan bagian dari X =
dom(R).
PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Contoh :

Spesifikasi R didefinisikan oleh variabel x dan y yang merupakan


bilangan integer. Spesifikasi tersebut dinyatakan sebagai berikut,

Sedangkan program p dinyatakan sebagai berikut,

Fungsi P yang terdapat pada program di atas dinyatakan sebagai berikut,

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Berdasarkan pernyataan-pernyataan di atas ditemukan :

dom(RP) = {karena PR}

dom(P) = {menghitung s dan menyederhanakannya} {s|y0}

Eksekusi p pada s berhasil hanya jika y(s)0.

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

TEST
GENERATION
REQUIREMENTS

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Pengujian dilakukan untuk mengetahui kualitas perangkat lunak.

Pengujian dapat dilakukan dengan proses menjalankan program,


memberikan sejumlah masukan, mengamati jalannya program, dan
menarik kesimpulan dari perilaku program sesuai dengan masukan yang
diberikan.

Kualitas dapat diketahui dari kesimpulan representatif yang didapat dengan


menguji program dengan seluruh kemungkinan data dan kondisi SULIT
DIWUJUDKAN.

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Contoh :
Terdapat program p dan spesifikasi R, dengan domain X. Pengujian dilakukan pada R
terhadap domain X dengan menggunakan T, himpunan bagian dari X. Pengujian
untuk memenuhi tujuan pengujian dengan mengeksekusi R pada T, alih-alih pada X.

Terdapat beberapa persyaratan yang harus dipenuhi T sebagai kandidat domain R :


Logical

Requirement

T harus dipilih dengan cara tertentu sehingga dapat menggambarkan masukan yang
digunakan dalam pengujian.
Misalnya ketika terdapat masukan x yang merupakan elemen dari X, terdapat masukan t
yang merupakan elemen dari T. Ketika program p gagal dieksekusi menggunakan t, maka
seharusnya program juga gagal ketika dieksekusi menggunakan x.
PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Stochastic Requirement
Reliability dalam eksekusi program p pada T seharusnya sama dengan reliability
eksekusi program p pada X.
Sehingga jika masukan dibatasi sesuai range T maka reliability juga sesuai
dengan batas masukan meskipun eksekusi program dijalankan pada X.

Sufficient Stochastic Requirement


Reliability dalam eksekusi program p pada T lebih rendah atau sama dengan
reliability eksekusi program p pada X.
Sehingga jika masukan dibatasi sesuai range T maka reliability juga sesuai
dengan batas masukan meskipun eksekusi program dijalankan pada X.
PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Logical requirement tersebut menyatakan dua tujuan pengujian, yakni :

Menemukan fault programjika program p memiliki fault, fault tersebut akan


ditunjukkan oleh himpunan data uji T.

Jika program p berhasil dieksekusi dengan T, maka program tersebut juga akan
berhasil dieksekusi di X. Persamaan untuk tujuan kedua ini dapat dituliskan
sebagai berikut,

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Proposition : Test Data Adequacy

R merupakan spesifikasi pada S, dengan domain X. p merupakan program pada


S, dan T merupakan himpunan bagian dari X. Maka dua kondisi di bawah ini
dinyatakan ekuivalen, dengan pembuktian sebagai berikut :

Berdasarkan kedua pernyataan tersebut, himpunan data uji T dikatakan cukup


memadai untuk digunakan dalam tujuan pertama pengujianmenemukan dan
menghilangkan fault jika dan hanya jika himpunan data uji T juga memadai
untuk digunakan dalam tujuan kedua pengujianmembuktikan keberadaan
fault.
PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Pembuktian :

Hukum De Morgan :

Sekumpulan teori, (A B) = ekuivalen terhadap (A B) :

Sekumpulan teori, (A = A) :

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

INADEQUATE TEST DATA

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

POSSIBLY ADEQUATE TEST DATA

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

CERTAINLY ADEQUATE TEST


DATA

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

TEST
GENERATION
CRITERIA

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

PARTITION

Partitionyakni membagi domain spesifikasi ke dalam beberapa


relasi. Misalnya terdapat suatu equivalence relation, EQ. Dalam hal
ini T yang merupakan bagian dari domain spesifikasi memiliki
elemen-elemen X modulo EQ. Persamaan ini ditulis sebagai berikut,

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

PARTITION

Setiap kelas ekuivalen X modulo EQ direpresentasikan setidaknya dengan satu elemen T, dimana
setiap kelas ekuivalen digambarkan dalam kuadran(1)

T mencakup elemen yang tidak dibutuhkantidak ada elemen yang sama dari kelas ekuivalen(2)
PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

PARTITION

Dasar dari adanya kriteria ini tergantung pada definisi EQ, dimana EQ
didefinisikan dengan cara tertentu sehingga semua elemen dari kelas
ekuivalen yang sama dari X modulo EQ memiliki kemampuan diagnosis
fault yang sama.

Suatu program hanya diujikan dengan satu elemen per kelas ekuivalen.
Karena memiliki kapabilitas diagnosis fault yang sama, maka suatu program
dapat berhasil pada semua kelas ekuivalen atau gagal dalam semua kelas
ekuivalen. Kondisi ini dinyatakan dalam persamaan berikut,

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

EMPIRICAL
ADEQUACY
ASSESSMENT

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Pada bagian sebelumnya membahas karakterisasi adequacy atau


kecukupan data uji T terhadap pemilihan requirement pengujian dengan
menggunakan analytical arguments sedangkan pada bagian ini jenis
argument yang digunakan yakni empirical argument.

Pertanyaan yang ingin dijawab pada bagian ini yaknibagaimana dapat


menilai kemampuan data uji T untuk menunjukkan fault pada program ?

Jawabandengan melakukan running program pada sekumpulan data uji T


dan melihat seberapa besar fault yang dapat ditunjukkan. Namun cara ini
memiliki masalah dimana jenis fault tidak diketahui.

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

Jika eksekusi program p tidak menghasilkan kegagalan, tidak dapat


dikatakan apakah tidak ada fault atau program ini hanya memiliki sedikit
fault karena data uji T tidak memadai. Maka dari itu digunakan program
mutan p.

Program mutan p merupakan program yang didapatkan dengan melakukan


sedikit perubahan pada p dan menjalankan program ini pada data uji T. Hal
ini bertujuan untuk mengukur kecukupan data uji T sehingga bisa
menghilangkan perubahan pada program p.

PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

SUMMARY

Atribut target yang ingin dicapai dalam pengujian diantaranya correctness, precision,
robustness, safety, dan security yang berkaitan dengan tujuan pengujian dengan fokus
aspek fungsional. Kualitas program dapat dilihat dari kelima atribut tersebutdengan
kesimpulan representatif, yang dapat dihasilkan dengan Test Data Generation.

Terdapat tiga requirement yang harus dipenuhi generated test data, yakni logical
requirement, stochastic requirement, sufficient stochastic requirement.

Kriteria yang dapat dikembangkan untuk Test Data Generation diantaranya adalah
partitionyakni membangi domain ke dalam beberapa relasi.

Penilaian kualitas generated test data dapat dilakukan secara analitis maupun empiris
dengan menggunakan mutant programming.

Penilaian cakupan pengujian dapat dilakukan dengan melihat adequacy.


PENGUJIAN DAN ANALISIS PERANGKAT LUNAK | MAGISTER ILMU KOMPUTER FILKOM UB | GENAP 2015/2016

You might also like