• Tidak ada hasil yang ditemukan

Rekayasa perangkat lunak (rpl)

N/A
N/A
Protected

Academic year: 2018

Membagikan "Rekayasa perangkat lunak (rpl)"

Copied!
39
0
0

Teks penuh

(1)

REKAYASA

PERANGKAT LUNAK

(RPL)

REKAYASA

PERANGKAT LUNAK

(RPL)

Betha Nurina Sari,M.Kom

(2)

 Pengujian Software

(3)

Pentingnya pengujian

sistem

Pengujian perangkat lunak dilakukan

untuk menentukan keberadaan,

kualitas, dan kemurnian dari

atribut-atribut sistem aplikasi.

Pengujian dilakukan dengan

memanfaatkan tool dan teknik.

Semakin baik struktur dari proses

(4)

Konsep kecocokan aplikasi

 Keefektifan dari aplikasi komputer dalam

lingkungan bisnis ditentukan dari tingkat kecocokan aplikasi tersebut dalam

lingkungan operasinya.

 Kecocokan (ft) merupakan suatu konsep

yang menekankan pada bagaimana

tingkat kegunaan (usable), pembantuan (helpful) dan manfaat dari unjuk kerja aplikasi dalam membantu tugas-tugas pemakai.

 Semakin baik tingkat bantuan aplikasi

(5)

Konsep kecocokan aplikasi

 Konsep kecocokan ini penting dalam

aspek desain maupun pengujian.

 Desain harus bertujuan untuk

membangun aplikasi yang "cocok" dengan proses bisnis pemakai dan proses

pengujian harus dapat meyakinkan tingkat kecocokan yang dikehendaki dipenuhi.

 Pengujian yang berkonsentrasi pada

struktur dan kebutuhan (requirement)

(6)

Aspek Kecocokan

1. Data: data yang andal, timelines (tepat waktu), konsisten dan banyak berguna (useful)

terkendali dalam aplikasi yang diotomatisasi bagi pemakai.

2. Orang-orang: keahlian, training, kemampuan belajar dan kesenangan untuk menggunakan dan berinteraksi dengan aplikasi yang

diotomatisasi.

3. Struktur: pembangunan yang tepat dari sistem aplikasi untuk mengoptimalkan tcknologi dan memenuhi kebutuhan.

(7)

7

Proses Testing

Unit Testing

Module Testing

Sub-system Testing

System Testing

Acceptance Testing

(8)

 Unit testing

 Pengujian masing-masing unit komponen

program untuk meyakinkan bhw sudah beroperasi secara benar

 Module Testing

 Pengujian terhadap koleksi unit-unit komponen

yang saling berhubungan.

 Sub-system Testing

 Pengujian terhadap koleksi module-module

yang membentuk suatu sub-system (aplikasi)

8

(9)

 System Testing

 Pengujian terhadap integrasi sub-system, yaitu

keterhubungan antar sub-system

 Acceptance Testing

 Pengujian terakhir sebelum sistem dipakai oleh

user.

 Melibatkan pengujian dengan data dari

pengguna sistem.

 Biasa dikenal sebagai “alpha test” (“beta test”

untuk software komersial, dimana pengujian dilakukan oleh potensial customer)

9

(10)

 Component testing

 Pengujian komponen-komponen program

 Biasanya dilakukan oleh component developer

(kecuali untuk system kritis)

 Integration testing

 Pengujian kelompok komponen-komponen

yang terintegrasi untuk membentuk sub-system ataupun sub-system

 Dilakukan oleh tim penguji yang independent  Pengujian berdasarkan spesifkasi sistem

10

(11)

11

(12)

12

Hubungan antara rencana pengujian dan

proses pengembangan sistem

Spesifkasi Kebutuhan Spesifkasi Sistem Perancangan Sistem Detail Perancangan Acceptance Test plan Acceptance

Test plan IntegrationSystem

Test plan System Integration Test plan Sub-System Integration Test plan Sub-System Integration Test plan Module and Unit code and

(13)

Pendekatan Strategis ke pengujian

perangkat lunak

 Pengujian Unit

(14)

Pengujian Unit

 Berfokus pada inti terkecil dari desain

perangkat lunak yaitu modul

 Biasanya berorientasi pada white box

MODUL

MODUL Interface

Struktur data lokal Kondisi Batas Jalur independen

Jalur penanganan kesalahan

(15)

Pengujian Unit

 Checklist untuk pengujian interface

Apakah jumlah parameter input sama dengan

jumlah argumen?

Apakah antara atribut dan parameter argumen

sudah cocok?

Apakah antara sistem satuan parameter dan

argumen sudah cocok?

Apakah jumlah argumen yang ditransmisikan

(16)

Pengujian Unit

Apakah atribut dari argumen yang

ditransmisikan ke modul yang dipanggil sama dengan atribut parameter?

Apakah sistem unit dari argumen yang

ditransmisikan ke modul yang dipanggil sama dengan sistem satuan parameter?

Apakah jumlah atribut dan urutan argumen ke

fungsi-fungsi built-in sudah benar?

Adakah referensi ke parameter yang tidak

sesuai dengan poin entri yang ada?

(17)

Pengujian Unit

Apakah defnisi variabel global konsisten

dengan modul ?

Apakah batasan yang dilalui merupakan

argumen?

Test case harus didesain untuk mengungkap kesalahan dalam kategori

pengetikan yang tidak teratur dan tidak konsisten inisialisasi yang salah atau nilai-nilai default

Nama variabel yang tidak benar Tipe data yang tidak konsisten

(18)

l

Dua Aspek yang dipertimbangkan:

• Apakah implementasi sudah sesuai dengan

spesifkasi ?

Apakah spesifkasi sesuai dengan kebutuhan

user ?

l

Validasi

“Apakah sistem yang dikembangkan sudah

benar?”

• Pengujian dimana sistem ketika

diimplementasikan sesuai dengan yang iharapkan

l

Verifkasi

• “Apakah sistem dikembangkan dengan cara

yang benar ?”

Pengujian apakah sistem sudah sesuai dengan

spesifkasi

l

Dua Aspek yang dipertimbangkan:

Apakah implementasi sudah sesuai dengan

spesifkasi ?

• Apakah spesifkasi sesuai dengan kebutuhan

user ?

l

Validasi

• “Apakah sistem yang dikembangkan sudah

benar?”

Pengujian dimana sistem ketika

diimplementasikan sesuai dengan yang iharapkan

l

Verifkasi

“Apakah sistem dikembangkan dengan cara

yang benar ?”

• Pengujian apakah sistem sudah sesuai dengan

spesifkasi

(19)

Integration testing

Pengujian keseluruhan system atau sub-system yang terdiri dr komponen yg

terintegrasi.

Test integrasi menggunakan black-box dengan test case ditentukan dari

spesifkasi.

Kesulitannya adalah

menemukan/melokasikan

(20)

Incremental integration

testing

T3 T2 T1 T4 T5 A B C D T2 T1 T3 T4 A B C T1 T2 T3 A B Test sequence
(21)

Pendekatan integration

testing

Top-down testing

 Berawal dari level-atas system dan terintegrasi dengan

mengganti masing-masing komponen secara top-down

dengan suatu stub (program pendek yg mengenerate input ke sub-system yg diuji).

Bottom-up testing

 Integrasi components di level hingga sistem lengkap sudah

teruji.

(22)

Top-down testing

Level 2 Le vel 2

Level 2 Level 2

Level 1 sequenceTesting Level 1

Level 2 stubs

Le vel 3 stubs

(23)

Bottom-up testing

Level N Level N

Le vel N Level N

Level N

Level N–1 Level N–1 Level N–1

Testing sequence Test

drivers

(24)

Pendekatan Testing

Architectural validation

 Top-down integration testing lebih baik digunakan dalam

menemukan error dalam sistem arsitektur.

System demonstration

 Top-down integration testing hanya membatasi pengujian

pada awal tahap pengembangan system.

Test implementation

 Seringkali lebih mudah dengan menggunakan bottom-up

(25)

Dilakukan kalau module-module dan sub-system terintegrasi dan

membentuk sistem yang lebih besar Tujuannya untuk medeteksi fault

terhadap kesalahan interface atau

asumsi yg tidak valid terntang interface tsb.

Sangat penting untuk pengujian

terhadap pengembangan sistem dgn menggunakan pendekatan

oriented yg didefnisikan oleh object-objectnya

(26)

Pengujian Validasi

 Kajian Konfgurasi (audit)

 Elemen dari proses validasi

 Memastikan apakah semua elemen

(27)

Pengujian Validasi

 Pengujian Alpha dan Beta

 Pengujian Alpha

 Usability labs

 Usability factors checklist

(28)

Pengujian Sistem

 Pengujian Perbaikan

 Pengujian Keamanan

 Pengujian Stress

(29)

Pengujian Aplikasi Server

Volume Testing

Stress Testing

Performance Testing

Data Recovery Testing

Data Backup and Restore

Testing

(30)

Volume Testing

Menemukan kelemahan sistem selama melakukan pemrosesan data dalam

jumlah yang besar dalam periode waktu yang singkat.

Tujuan: meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar

batasan fsik dan batasan logik. Contoh:

 Mengujikan proses antar server dan antar partisi hardisik

(31)

Stress Testing

Tujuan: mengetahui kemampuan

sistem dalam melakukan transaksi

selama periode waktu puncak proses. Contoh periode puncak: ketika

penolakan proses login on-line setelah sistem down atau pada kasus batch,

pengiriman batch proses dalam jumlah yg besar dilakukan setelah sistem down.

Contoh: Melakukan login ke server

ketika sejumlah besar workstation

(32)

Performance Testing

Dilakukan secara paralel dengan Volume dan Stress testing untuk mengetahui unjuk kerja sistem (waktu respon,

throughput rate) pada beberapa kondisi proses dan konfgurasi.

Dilakukan pada semua konfgurasi sistem perangkat keras dan lunak.

 Mis.: pd aplikasi Client-Server diujikan pd kondisi

korporate ataupun lingkungan sendiri (LAN vs. WAN, Laptop vs. Desktop)

 Menguji sistem dengan hubungannya sistem ke lain

pada server yg sama.

(33)

Performance testing tools

 Below is the comprehensive list of most

widely used performance testing tools for measuring web application performance and load stress capacity. These load testing tools will ensure your application performance in peak trafc and extreme stress conditions.

(34)

Top 15 Performance Testing Tools

Apache JMeter

NeoLoad

LoadRunner

LoadUI

WebLOAD

WAPT

Loadster

LoadImpact

Rational Performance Tester

Testing Anywhere

OpenSTA

QEngine (ManageEngine)

Loadstorm

CloudTest

Httperf

(35)

Data Recovery Testing

Investigasi dampak kehilangan data melalui proses recovery ketika terjadi kegagalan proses.

Penting dilakukan karena data yg

disimpan di server dapat dikonfgurasi dengan berbagai cara.

Kehilangan Data terjadi akibat

kegagalan sistem, hardisk rusak, peghapusan yg tidak sengaja,

(36)

Data Backup and

Restore Testing

Dilakukan untuk melihat prosedur back-up dan recovery.

Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses backup dan recovery.

Pengujian dilakukan terhadap strategi backup: frekuensi , medium, waktu, mekanisme backup (manual/ otomatis), personal, ? Berapa lama backup akan disimpan.

(37)

Data Security Testing

Privilege access terhadap database

diujikan pada beberapa user yang

tidak memiliki privilege access ke

database.

Shutdown database engine

(38)

Debugging

Test Case

Eksekusi case of case

Pengujian

Tambahan Penyebab yang dicurigai

Debugging Penyebab

yang

diidentifikasi Koreksi

Pengujian regresi

(39)

1 Agustus : Presentasi Perancangan Software

3 Agustus : Presentasi Pengujian software

8 Agustus : UAS

Referensi

Dokumen terkait

(harta atau uang) harus berdasarkan pada ajaran Dharma (kebaikan). Kebaikan yang dimaksud ialah jujur dalam memperoleh harta atau uang. Karena tidaklah dibenarkan

Perbankan yang memiliki profitabilitas (laba sebelum pajak) tinggi maka kemungkinan memiliki nilai rasio hutang kecil dengan sumber dana yang berlimpah, dimana

Tulisan ini dilakukan menganalisis dampak dari polusi lingkungan terhadap keamanan manusia di Asia Timur khususnya di Tiongkok, Jepang dan Korea Selatan serta

Pada fase ini kegiatan yang dilakukan adalah mengidentifikasi masalah sales dan menganalisis lebih jauh mengenai analisis GAP dan resiko pada bagian sales, serta memetakkan

Meskipun demikian, pada mata tanpa pterigium juga ditemukan BUT > 10 detik (lebih singkat dibanding nilai BUT normal pada orang dewasa sekitar 30 detik), TFT grade 2

Hal ini karena apabila kandungan oksigen di dalam udara penyimpanan pada komoditi buah di bawah 2% maka buah tersebut akan mengalami proses respirasi anaerob yang akan mengakibatkan