• Tidak ada hasil yang ditemukan

strategi pengujian perang katlunak

N/A
N/A
Kaka@ Twins

Academic year: 2024

Membagikan "strategi pengujian perang katlunak"

Copied!
45
0
0

Teks penuh

(1)
(2)

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 pengujian,

semakin baik pula hasil pengujiannya

(3)

Konsep kecocokan aplikasi

Keefektifan dari aplikasi komputer dalam lingkungan

bisnis ditentukan dari tingkat kecocokan aplikasi tersebut dalam lingkungan operasinya.

Kecocokan (fit) 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 kepada pemakai, semakin baik tingkat "kecocokannya "

(4)

 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) dapat gagal memenuhi

aspek kecocokan.

(5)

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.

4. Aturan-aturan: prosedur-prosedur yang harus dipatuhi dalam pemrosesan data.

(6)

Tools vs Teknik

o Tool merupakan 'kendaraan" untuk melakukan proses pengujian. Tool merupakan sumber bagi penguji, tapi tool sendiri tidak dapat melaksanakan pengujian.

o Teknik pengujian adalah proses untuk meyakinkan bahwa beberapa aspek dari sistem aplikasi berfungsi dengan baik. Ada sedikit teknik, tapi ada banyak tool.

o Konsep dari tool dan teknik ini penting dalam proses pengujian. Kombinasi keduanya memungkinkan

untuk dilakukannya proses pengujian.

(7)

Tools vs Teknik

o Tool merupakan 'kendaraan" untuk melakukan proses pengujian. Tool merupakan sumber bagi penguji, tapi tool sendiri tidak dapat melaksanakan pengujian.

o Teknik pengujian adalah proses untuk meyakinkan bahwa beberapa aspek dari sistem aplikasi berfungsi dengan baik. Ada sedikit teknik, tapi ada banyak tool.

o Konsep dari tool dan teknik ini penting dalam proses pengujian. Kombinasi keduanya memungkinkan

untuk dilakukannya proses pengujian.

(8)

S/W Testing tools

Tools pengujian perangkat lunak dikelompokkan menjadi :

a)Test Management tools b)Functional Testing Tools c)Load Testing Tools

(9)

Opensource S/W Testing tools

(10)
(11)

Proprietary S/W Testing tools

(12)
(13)

Testing Strategies

Tools pengujian perangkat lunak dikelompokkan menjadi :

a)Top-Down b)Bottom-Up c)Big Bang d)Sandwich

(14)

14

TestingUnit Module

Testing Sub-system

Testing System

Testing Acceptance Testing

Component Testing Integration Testing User

Testing

(15)

Proses Testing

 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)

15

(16)

Proses Testing

 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)

16

(17)

Proses Testing

 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 system

Dilakukan oleh tim penguji yang independent

Pengujian berdasarkan spesifikasi sistem

17

(18)

Hirarki pengujian P/L

18

(19)

19

Spesifikasi

Kebutuhan Spesifikasi

Sistem Perancangan

Sistem Detail

Perancangan

Acceptance

Test plan System Integration

Test plan

Sub-System Integration

Test plan

Module and Unit code and

test

Acceptance test

System Integration

test

Sub-System Integration

Service test

(20)

Pendekatan Strategis ke pengujian perangkat lunak

Pengujian Unit

Pengujian Integrasi

Pengujian Validasi

Pengujian Sistem

(21)

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

Test Case

(22)

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 ke modul yang dipanggil sama dengan atribut parameter?

(23)

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?

Apakah argumen input only diubah?

(24)

Pengujian Unit

Apakah definisi 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

Underflow, overflow dan pengecualian pengalamatan

(25)

Dua Aspek yang dipertimbangkan:

• Apakah implementasi sudah sesuai dengan spesifikasi ?

• Apakah spesifikasi sesuai dengan kebutuhan user ?

Validasi

• “Apakah sistem yang dikembangkan sudah benar?”

• Pengujian dimana sistem ketika diimplementasikan sesuai dengan yang iharapkan

Verifikasi

• “Apakah sistem dikembangkan dengan cara yang benar ?”

• Pengujian apakah sistem sudah sesuai dengan spesifikasi

Seberapa baik sistem yang

sudah dibangun ?

(26)

Integration testing

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

terintegrasi.

Test integrasi menggunakan black-box

dengan test case ditentukan dari spesifikasi.

Kesulitannya adalah

menemukan/melokasikan

Penggunaan Incremental integration testing

dapat mengurangi masalah tersebut.

(27)

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

1 Test sequence

2 Test sequence

3

(28)

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.

Pada prakteknya, kebanyakan test integrasi menggunakan kombinasi kedua strategi

pengujian tsb.

(29)

Top-down testing

Level 2 Level 2

Level 2 Level 2

Level 1 Testing Level 1

sequence

Le vel 2 stubs

Le vel 3 stubs

. . .

(30)

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

Test drivers

(31)

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 integration testing

(32)

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 object-oriented yg didefinisikan oleh object-objectnya

Interface testing

(33)

Pengujian Validasi

Kajian Konfigurasi (audit)

Elemen dari proses validasi

Memastikan apakah semua elemen konfigurasi

perangkat lunak telah dikembangkan dengan tepat

(34)

Pengujian Validasi

Pengujian Alpha dan Beta

Pengujian Alpha

Usability labs

Usability factors checklist

Pengujian Beta

(35)

Pengujian Sistem

Pengujian Perbaikan

Pengujian Keamanan

Pengujian Stress

Pengujian Kinerja

(36)

Pengujian Aplikasi Server

Volume Testing Stress Testing

Performance Testing

Data Recovery Testing

Data Backup and Restore Testing

Data Security Testing

(37)

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 fisik dan batasan logik.

Contoh:

Mengujikan proses antar server dan antar partisi hardisik pd satu server.

(38)

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 melakukan

proses menjalankan perintah sql database.

(39)

Performance Testing

Dilakukan secara paralel dengan Volume dan Stress testing untuk mengetahui unjuk kerja sistem (waktu respon, throughput rate) pada beberapa kondisi

proses dan konfigurasi.

Dilakukan pada semua konfigurasi 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.

Load Balancing Monitor Network Monitor

(40)

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 traffic and

extreme stress conditions.

40

(41)

Top 15 Performance Testing Tools

 Apache JMeter

 NeoLoad

 LoadRunner

 LoadUI

 WebLOAD

 WAPT

 Loadster

41

 LoadImpact

 Rational Performance Tester

 Testing Anywhere

 OpenSTA

 QEngine

(ManageEngine)

 Loadstorm

 CloudTest

 Httperf

(42)

Data Recovery Testing

Investigasi dampak kehilangan data melalui proses recovery ketika terjadi kegagalan

proses.

Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan berbagai cara.

Kehilangan Data terjadi akibat kegagalan

sistem, hardisk rusak, peghapusan yg tidak

sengaja, kecelakaan, virus dan pencuri.

(43)

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.

Switching antara live dan backup server ketika terjadi kerusakan (load log transaction pada back-up

kemudian melaku recovery).

(44)

Data Security Testing

Privilege access terhadap database

diujikan pada beberapa user yang tidak memiliki privilege access ke database.

Shutdown database engine melalui operating system (dengan beberapa perintah OS) yg dapat mematikan

aplikasi database.

(45)

Debugging

Test Case

Eksekusi case of case

Pengujian

Tambahan Penyebab

yang dicurigai

Debugging Penyebab

yang

diidentifikasi Koreksi

Pengujian regresi

Hasil

Referensi

Dokumen terkait

Aplikasi Penunjang Keputusan Pegawai Terbaik tersebut akan diuji menggunakan Black Box Testing di mana pengujian ini hanya bertujuan untuk melihat program

Program yang akan dibuat pada pengkajian ini adalah program sistem seleksi sales terbaik adalah Blackbox Testing , di mana pengujian bertujuan melihat program

Setelah dies siap dari pengecoran, dan program CNC ada, maka dilakukan proses permesinan untuk membentuk komponen sesuai dengan disain.. Proses fabrikasi atau

Apabila Proses telah selesai dilakukan oleh system, maka proses selanjutnya data akan di uji pada kasus yang ada dengan jalur kritis menggunakan PERT-CPM. Admin mengecek

Regression Testing mencakup pengujian ulang terhadap unit, component, proses, atau keseluruhan aplikasi setelah perbaikan suatu kesalahan dilakukan.Regression Testing memastikan

i dan penyetelan komponen pada mesin telah dilakukan dengan benar sehingga antara satu pengujian dengan pengujian lain faktor kondisi awal dapat dianggap sama, dilakukan

AKTIVITAS PENGUJIAN PL (1) Tested Subsystem Subsystem Code Functional Integration Unit Tested Subsystem Requirements Analysis Document System Design Document Tested Subsystem

Moran 2019 mendefinisikan usability testing tahap pengujian perangkat lunak yang dilakukan oleh developer dengan menggunakan user atau penggunaan yang menggunakan aplikasi tersebut