Software Testing Life Cycle for SDLC evolution modeling Tahapan software testing adalah tahapan akhir dari tahapan pengembangan software ( SDLC ). Beragam metode SDLC yang tersedia, pada pelaksanaannya dipilih dengan mempertimbangkan kerumitan yang akan ditempuh termasuk mempertimbangkan kerumitan dalam metode STLC. Pada journal IT ilmiah ini akan dijelaskan bagaimana metode STLC konvensional ( secara manual maupun otomatis ) menyesuaikan terhadap metode SDLC yang sudah ditentukan, dalam hal ini metode SDLC dipilih adalah metode SDLC model evolusi ( SDLC evolution modeling ).
Follow Twitter | @aherwin Fan Page | http://www.facebook.com/ITlinks.co.id
2012
Herwin Anggeriana, S.Kom, M.Kom
Pendahuluan
Tahapan ( Phase ) testing software
merupakan tahap akhir dari keseluruhan
pengembangan software. Tahapan dimana
tingginya aktifitas team pengembangan
software, membutuhkan konsentrasi serta
akurasi karena tahapan ini meminimalkan
tingkat resiko dari kesalahan dan menuntut
kualitas software seperti yang diharapkan
dan kelengkapan software yang dibangun.
Sepanjang sejarah, fungsional dari
tahapan software testing menjadi tantangan
tersendiri bagi organisasi atau perusahaan
dalam memenuhi kompleksitas fungsional,
mencapai maksimum fungsional source
code software, serta tingginya biaya yang
harus dikeluarkan organisasi atau
perusahaan untuk mensimulasikan fungsi
software dan keamanan dari software.
Seiring berjalan waktu dengan makin
tingginya tingkat kompleksitas aplikasi yang
dibangun serta kompleksitas teknologi yang
dipergunakan, menjadikan suatu kesulitan
tersendiri. Terkadang dalam metode
pengembangan software terpilih dengan
mempertimbangkan sulitnya tahapan
software testing yang akan dihadapinya.
Pada dasarnya, tahapan software
testing memiliki metode tersendiri yang
bertujuan untuk melengkapi metode
pengembangan software ( SDLC ) yang akan
berjalan. Jadi apapun metode SDLC yang
terpilih nantinya akan menempuh tahapan
akhir yaitu software testing.
Dalam journal IT ilmiah ini,
membahas bagaimana metode SDLC model
evolution dibangun dan metode software
testing menyesuaikan dengan metode
tersebut sehingga menghasilkan kualitas
software seperti yang diharapkan.
SDLC Model Evolution
Metode software development life
cycle ( SDLC ) model evolution merupakan
metode gabungan antara SDLC model
waterfall dengan SDLC model spiral.
Pada Fig.1 merupakan metode
software development life cycle ( SDLC )
model evolusi ( Scach and Tomer, 2000 ).
Fig.1. Metode software development life
cycle ( SDLC ) model evolusi.
Tahapan requirement, tahapan
desain serta tahapan spesifikasi dilakukan
simultant tahap demi tahap seperti yang
dilakukan dalam metode SDLC waterfall.
Ketika tahapan requirement sudah selesai
dan berlanjut ke tahapan desain ternyata
terdapat kebutuhan baru ( new
requirements ) yang dibutuhkan dalam
pengembangan sistem. Maka tahapan
desain tidak bisa kembali ke tahapan awal
yaitu tahapan requirements tetapi tahapan
requirements yang akan mencari dan
menghasilkan kembali kebutuhan ( Fig.2 ).
Fig.2. Tahapan implementasi dari metode
SDLC model evolusi.
Pada Fig.2 terdapat node – node yang
menjadi simbolisasi dari setiap tahapan.
Node R merupakan tahapan requirements,
node S merupakan tahapan spesifikasi
requirements, node D merupakan tahapan
desain dari spesifikasi, node C merupakan
tahapan coding ( programming ).
Sedangkan penomoran yang terdapat
pada masing – masing node merupakan
penomoran yang dilakukan, sebagai contoh ;
node R1 merupakan tahapan requirements
ke 1, dan seterusnya.
Pada Fig.2 ketika langkah awal
pengembangan software ( node start )
dimulai, maka dikumpulkan beberapa
variabel kebutuhan ( requirements ).
Ketika memasuki tahapan
requirements dan variabel sedang
diformulasikan ternyata berjalannya waktu
dibutuhkan variabel baru ( new
requirements ), maka variabel baru tersebut
tidak dapat ditambahkan ke dalam variabel
yang sedang diformulasikan karena variabel
sebelumnya memiliki dimensi kebutuhan
tersendiri.
Oleh karena itu, dari node start dapat
bercabang dan menghasilkan requirement
baru ( new requirements R2 ) ketika node
start sedang berlanjut ke tahapan
requirement ( node R1 ).
Variabel requirement baru ( new
requirements R2 ) tersebut akan
diformulasikan kembali setelah variabel
requirement berlanjut ke tahapan spesifikasi
dan tahapan desain. Secara proses
implementasinya, tahapan ini dilakukan
secara paralel ( Fig.2 ).
Dengan metode SDLC model evolusi
maka perubahan atas kebutuhan sistem
akan mudah untuk mencari dan
menemukan arsitektur yang berubah karena
perubahan tersebut.
Metode SDLC model evolusi
mengharapkan modifikasi terjadi hanya
pada arsitektur sistem yang berhubungan
dengan perubahan kebutuhan (
requirements ), arsitektur sistem yang lain
yang tidak berhubungan dengan perubahan
kebutuhan dapat dibiarkan dan tidak
mengalami modifikasi.
Software Testing Life
Cycle
Metode SDLC model evolusi
termasuk metode pengembangan software
kategori rumit, dan berulang. Tahapan
software testing life cycle ( STLC ) harus
dapat menyesuaikan dengan metode SDLC
tersebut.
Secara konvensional, teknik software
testing dilakukan secara dua konsep yaitu
(1) manual testing, (2) automatic testing
menggunakan tools.
Fig.3. Metode software testing life cycle (
STLC ).
Pada fig.3 dalam metode software
testing life cycle ( STLC ) terdapat beberapa
tahapan dalam pelaksanaannya yaitu
tahapan requirements, tahapan analysis,
tahapan test planning and scenario design,
tahapan test development, tahapan test
execution, tahapan detect fixing cycle,
tahapan test cycle closure, dan tahapan test
result analysis.
Ketika metode SDLC model evolusi
diimplementasikan dan source code
program sudah selesai dibangun, maka
dilanjutkan ke metode software testing
terhadap kinerja source code dan fungsional
( functional ) dari program tersebut.
Penyesuaian metode software testing
life cycle ( STLC ) terhadap SDLC model
evolusi berdasarkan fig.2, maka
penyesuaiannya seperti pada ( Fig.4 ).
Fig.4. Penyesuaian metode software testing
life cycle ( STLC ) terhadap SDLC model
evolusi.
Ketika satu tahap metode SDLC
model evolusi sudah menyelesaikan
tahapan pemograman ( coding node C1 )
maka hasil source code ( node C1 ) akan
berlanjut ke metode penyesuaian software
testing life cycle.
Pada fig.4, node C1 source code dari
hasil pengembangan sistem dilakukan
tahapan software testing. Sebelumnya
metode software testing dimulai dari
requirements ( node R1 ) yang akan
dijadikan acuan. Hal ini dilakukan karena
requirements untuk pengetestan software
harus disesuaikan dengan keadaan dan
tujuan dari software tersebut didevelop.
Dari tahapan requirements
dilanjutkan ke tahapan analysis dan
selanjutnya ke tahapan test planning &
skenario design.
Pada tahapan test case development,
node S1 dan D1 akan dijadikan acuan dalam
menjalankan tahapan test case
development, hal ini dilakukan karena
disesuaikan dengan desain dan spesifikasi
ketika software tersebut didevelop.
Tahapan test execution akan
dijalankan ketika semua tahapan sudah
diselesaikan. Tahapan test execution akan
memproses pengetestan software, dalam
hal ini pengetestan software dilakukan dari
sisi manual maupun sisi automatic testing
tergantung pada keadaan dan kebutuhan
saat itu terjadi.
Jika tahapan test execution
menghasilkan masalah teknis secara
fungsional maupun ketidak sesuaian
software seperti yang diharapkan oleh
requirements ( node R1 ), maka metode
software testing ( STLC ) akan berlanjut ke
tahapan detect fixing cycle.
Pada tahapan detect fixing cycle,
semua error maupun masalah teknis akan
dikumpulkan dan di-recek kembali
kesesuaian tahapan test case development.
Secara paralel terlepas dari
ditemukan masalah teknis secara fungsional
maupun ketidak sesuaian tujuan serta
harapan dari software yang dibangun.
Tahapan akan berlanjut ke test case closure.
Tahapan test case closure akan
berlanjut ke tahapan test case analysis.
Pada tahapan test case analysis akan
menghasilkan laporan hasil pengetestan
kualitas software serta rekomendasi yang
dapat dilakukan ( node R2 ).
Pada nantinya node R2 ini akan
menjadi bahan masukan untuk melengkapi
proses pengembangan software tahapan
selanjutnya.
Pada fig.4 terdapat beberapa node
dengan penomoran. Penomoran node
tersebut dapat diganti dengan node
selanjutnya.
Kesimpulan
Metode SDLC model evolusi
merupakan gabungan dari SDLC model
waterfall dan SDLC model spiral. Perpaduan
dari dua metode ini memiliki keunikan
dalam implementasinya sehingga dalam
melakukan tahapan software testing
diperlukan modifikasi sesuai dengan kondisi
SDLC model evolusi yang sedang berjalan.
Dalam beberapa studi kasus yang
terjadi, metode SDLC model evolusi memiliki
dimensi yang berbeda – beda tergantung
pada tingkat kompleksitas sistem yang
dibangun. Dalam journal ini metode SDLC
model evolusi menggunakan dua dimensi
dalam proses pengembangan software.
Ketika proses pengembangan
software sudah menyelesaikan pada
tahapan pemograman ( coding ) maka
tahapan akan berlanjut ke metode software
testing life cycle ( STLC ).
Dalam journal ini metode SDLC model
evolusi menggunakan dua dimensi, dan
proses pengembangan software yang
berulang – ulang, hal ini dikarenakan untuk
memenuhi kebutuhan sistem yang terus
menerus terjadi seiring perkembangan
bisnis dan waktu. Metode STLC harus
menyesuaikan dan beradaptasi terhadap
SDLC model evolusi yang dijalankannya.
Metode STLC dimulai dari tahapan
requirements, analysis, test planning &
skenario design, test case development, test
execution, test cycle closure, dan test result
analysis.
Ketika coding sudah selesai
melakukan tahapan testing dan
menghasilkan kualitas coding yang
diharapkan, maka coding berikutnya dari
hasil SDLC model evolusi akan dilakukan dari
tahapan awal STLC ( tahapan requirements )
yang ditentukan SDLC model evolusi
termasuk tahapan test case development.
Daftar Pustaka
Boehm, B. (1988). Spiral Model of Evolution.
In A Spiral Model of Software Development
and Enhancement (pp. 61 - 72). CA: IEEE
Computer Society.
David, B., William, D., Leonard, G., Charles,
H., Raghu, K., & Lynne, R. (1998).
Preliminary Success Estimates for
Approaches based on Binomial Models,
Coverage Designs, Mutation Testing, and
Usage Models. Software Testing by
Statistical Methods , 31.
Jitendra S, K., & Mahendra S, Y. (n.d.).
TESTING FOR OBJECT ORIENTED SOFTWARE.
Indian Journal of Computer Science and
Engineering , 4.
Schach, S. R., & Tomer, A. (2002). evolution.
Development/Maintenance/Reuse :
Software Evolution in Product Lines , 11.
Tomer, A., & Schach, S. (2000). The
Evolution Tree: A Maintenance-Oriented
Software Development Model. Zurich:
McGrawHill.
Vanitha, K., & Dr. K, A. (2012). Conventional
Software Testing Vs Cloud Testing.
International Journal Of Scientific &
Engineering Research, Volume 3, Issue 9 , 5.
Web Application Testing Checklist. (n.d.).
Retrieved from Guru99:
http://www.guru99.com/web-application-
testing.html
Author : Herwin Anggeriana, S.Kom,
M.Kom
Twitter : @aherwin
http://www.facebook.com/ITlinks.co.id