Anda di halaman 1dari 5

Name : Saroinsong, Rizky

Subject : Software Engineering (A)


Assignment : REGRESSIN ! RE"A#$R% $ES$ING & rea'ing re(ort
REGRESSIN $ES$ING
- Regression testing adalah salah satu dari tahapan testing yang umum dilalui oleh
aplikasi.
- Regression testing mencakup pengujian ulang terhadap unit, component, proses,
atau keseluruhan aplikasi setelah perbaikan suatu kesalahan yang dilakukan.
- Jenis pengujian ini mengungkap bug software baru, atau regresi dalam area
fungsional dan non-fungsional dari sistem yang ada sesudah adanya perubahan
sebagai perangkat tambahan atau patches
- Regression testing memastikan permasalahan yang terjadi telah ditanggulangi,
dan tidak terdapat permasalahan baru yang timbul sebagai efek perbaikan
tersebut.
- Tahap ini tidak hanya berguna untuk melakukan pengujian aplikasi dari output
yang dihasilkan tetapi dapat juga digunakan untuk melakukan pemantauan
kualitas dari output yang dihasilkan.
- Hasil tes yang ada dibandingkan dengan kumpulan old !tandard" dari hasil
yang sebelumnya dengan perbedaan yang dilaporkan dan diselidiki.
- #lasan dari regression testing ini adalah untuk menentukan apakah perubahan
dalam salah satu bagian dari perangkat lunak mempengaruhi bagian lain dari
perangkat lunak tersebut.
- $etode umum pengujian regresi termasuk rerunning tes yang sudah selesai
sebelumnya dan memeriksa apakah perilaku program telah berubah dan apakah
kesalahan tetap sebelumnya telah muncul kembali. %engujian regresi dapat
dilakukan untuk menguji sistem efisien dengan sistematis memilih set minimum
sesuai tes yang diperlukan untuk menutupi perubahan tertentu.
- Regression testing adalah bagian integral dari metode pengembangan software
extreme programming. %ada metode ini, desain dari dokumen diganti dengan
pengujian yang ekstensif, berulang, dan pengujian otomatis terhadap seluruh
paket perangkat lunak di setiap tahap siklus pengembangan perangkat lunak.
- &ontoh regression test'
Regression testing memantau ukuran file
$emantau waktu yang dibutuhkan untuk melakukan suatu tes
$emantau waktu yang dibutuhkan untuk melakukan kompilasi
Reference:
http'((en.wikipedia.org(wiki(Regression)testing
http'((barus.blogdetik.com(*++,(+-(./(seluk-beluk-testing-aplikasi(
http'((cplus.about.com(od(glossar.(g(regressiondefn.htm
RE"A#$RING $E#)NI#
- Refactoring adalah usaha untuk mengubah struktur kode program agar lebih
mudah dibaca dan lebih mudah dimodifikasi.
- Teknik Refactoring merupakan antiteori dari proses pengembangan perangkat
lunak kon0ensional yang menekankan bahwa desain merupakan tahap
terpenting pengembangan, sebuah desain yang baik akan menghasilkan
implementasi program yang baik pula.
- Refactoring saat ini dianggap sebagai salah satu bentuk e1treme programming
23%4, suatu paradigma dalam software engineering yang menekankan bahwa
menulis kode program yang baik dan elegan jauh lebih efektif dalam
pengembangan perangkat lunak dibandingkan menghabiskan waktu dan
sumberdaya untuk membuat desain yang detil dan rumit.
- 5stilah Refactoring pertama kali dimunculkan oleh 6illiam 7pdyke dalam disertasi
doktoral miliknya pada tahun .,,* sebagai sebuah teknik restrukturisasi pada
pemrogaman berorientasi obyek.
- Refactoring mengijinkan programer melakukan perbaikan-perbaikan pada kode
program walaupun hal tersebut tidak direncanakan dalam desain.
- %erbaikan pada proses Refactoring pada umumnya ditujukan untuk optimalisasi
kualitas kode program 2contoh' modularitas, efisiensi, reusability, kompleksitas,
dan maintainability4 dengan persyaratan utama tidak mengubah konsistensi
output dan proses dari perangkat lunak tersebut
- Refactoring tidak dapat dilakukan seketika dalam lingkup baris kode yang luas
tetapi dilakukan melalui perubahan-perubahan kecil kode program dan bertahap.
- !alah satu bagian dari proses refactoring adalah mendeteksi bad smells2contoh
method yang terlalu panjang4. &ontoh refactoring adalah Extract Method.
- * jenis refactoring tool adalah'
.. Automated Refactoring Tool, dimana tool jenis ini mampu mendeteksi adanya
bad smells secara otomatis saat baris-baris kode di-run kemudian
menawarkan opsi-opsi refactoring dan programmer dapat pula melakukan
refactoring sendiri tanpa memerlukan konfirmasi programmer.
*. Semi-Automated Refactoring Tool, dimana programer perlu untuk
menentukan sendiri di mana bagian kode program yang memerlukan
Refactoring. 8engan kata lain programer yang menentukan apakah suatu
baris kode mengandung bad smells atau tidak. !etelah menentukan bagian
program yang hendak diubah barulah dia mengaktifkan Refactoring tool dan
memilih Refactoring apa yang hendak diaplikasikan.
- &ontoh refactoring tool' JR3, JRefactory, 8omain(j, Refactor5T, Re!harper,
Refactor9 %ro, Ref::
- &ontoh refactoring:
;ode dalam bahasa pemrogaman Ja0a berikut ini sebuah potongan dari
program untuk penyewaan film yang disederhanakan. ;ode berikut tidak ditulis
dengan cara yang elegan.
class Movie {
public static final int REGULAR = 0;
public static final int NEW = 1;
private Strin !title;
private int !price"o#e;
$
class Rental {
private Movie !%ovie;
private int !#a&sRente#;
$
class "usto%er {
private Strin !na%e;
private 'ector !rentals = ne( 'ector)*;
public Strin state%ent)* {
#ouble totalA%ount = 0;
Enu%eration rentals = !rentals+ele%ents)*;
Strin result = ,Rental recor# for , - etNa%e)* - ,n,;
(.ile )rentals+.asMoreEle%ents)** {
#ouble t.isA%ount = 0;
Rental eac. = )Rental*rentals+ne/tEle%ent)*;
00 #eter%ine a%ounts for eac. line
s(itc. )eac.+etMovie)*+et1rice"o#e)** {
case Movie+REGULAR2 t.isA%ount = 3; brea4;
case Movie+NEW2 t.isA%ount = eac.+et5a&sRente#)* 6 7; brea4;
$
result -= ,t, - eac.+etMovie)*+et8itle)* - ,t, - t.isA%ount - ,n,;
totalA%ount -= t.isA%ount;
$
return result - ,A%ount o(e# is , - totalA%ount;
$
$
class Movie { +++ $
class Rental {
private Movie !%ovie;
private int !#a&sRente#;
#ouble et".are)* {
s(itc. )etMovie)*+et1rice"o#e)** {
case Movie+REGULAR2 return 3;
case Movie+NEW2 return et5a&sRente#)* 6 7;
$
$
$
class "usto%er {
private Strin !na%e;
private 'ector !rentals = ne( 'ector)*;
public Strin state%ent)* {
Enu%eration rentals = !rentals+ele%ents)*;
Strin result = ,Rental recor# for , - etNa%e)* - ,n,;
(.ile )rentals+.asMoreEle%ents)** {
Rental eac. = )Rental*rentals+ne/tEle%ent)*;
result -= ,t, - eac.+etMovie)*+et8itle)*- ,t, - eac.+et".are)* - ,n,;
$
return result - ,A%ount o(e# is , - et8otal".are)*;
$
private #ouble et8otal".are)* {
#ouble result = 0;
Enu%eration rentals = !rentals+ele%ents)*;
(.ile )rentals+.asMoreEle%ents)** {
Rental eac. = )Rental*rentals+ne/tEle%ent)*;
result -= eac.+et".are)*;
$
return result;
$
$
&ontoh kode sesudah refactoring adalah
Reference:
http'((ilmukomputer.com(wp-content(uploads(*++<(+=(widhiartha)refactoring.doc
http'((yaniwid.wordpress.com(*++/(..(*=(refactoring(

Anda mungkin juga menyukai