Вы находитесь на странице: 1из 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 :

Introduction

8Test Generation Concepts

Test Generation and Target Attributes

9Functional Criteria

Test Generation Outcomes

10Structural Criteria

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 :

FUNCTIONAL :

Finding and removing fault

to establish correctness with respect to a specification

Proving the absence of fault

to ensure that it computes its intended function

Estimating fault density

to ensure that it is robust

Estimating the frequency of failures

to ensure its safety

Ensuring the infrequency of failures

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 pengujian
membuktikan 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 partition
yakni 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

Вам также может понравиться