Pert 2 Pengenalan Testing&Implementasi

29
Pengujian Perangkat Lunak Heri Setiawan

description

pengenalan testing&implementasi

Transcript of Pert 2 Pengenalan Testing&Implementasi

Page 1: Pert 2 Pengenalan Testing&Implementasi

Pengujian Perangkat LunakHeri Setiawan

Page 2: Pert 2 Pengenalan Testing&Implementasi

Pengujian Perangkat Lunak(Software Testing)

Page 3: Pert 2 Pengenalan Testing&Implementasi

Pengujian (Testing)• Pengujian perangkat lunak (Software testing) adalah proses untuk

mengukur kualitas dari perangkat lunak yang dikembangkan.• Kualitas perangkat lunak (software quality) mengukur seberapa baik

sistem perangkat lunak dirancang (quality of design), dan tingkat kesesuaian perangkat lunak dengan rancangan yang telah dibuat (quality of conformance).

• Standar internasional yang digunakan untuk mengevaluasi kualitas perangkat lunak adalah ISO 9126 yang mendefinisikan karakteristik perangkat lunak yang berkualitas.

Page 4: Pert 2 Pengenalan Testing&Implementasi

Definisi testing

• Menurut standar ANSI/IEEE 1059Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan (defect/errors/bugs) dan mengevaluasi fitur-fitur dari entitas software

• Testing software adalah proses mengoperasikan software dalam kondisi yang dikendalikan, untuk :• Verifikasi apakah telah berlaku sebagaimana telah ditetapkan

(menurut spesifikasi)• Are we building the system right?• Mendeteksi error• Validasi apakah spesifikasi yang telah ditetapkan sudah memenuhi

keinginan atau kebutuhan dari pengguna sebenarnya• Are we building the right system?

Page 5: Pert 2 Pengenalan Testing&Implementasi

Why test software?

“Software bugs, or errors... ...cost the U.S. economy an estimated $59.5 billion

annually...more than a third of these costs, or an estimated $22.2 billion ... could be

eliminated by an improved testing ...”

NIST (National Institute of Standards and Technology), 2002

Page 6: Pert 2 Pengenalan Testing&Implementasi

Tujuan Pengujian Perangkat Lunak

• " Pengujian Perangkat Lunak adalah proses mengeksekusi program atau sistem dengan maksud untuk menemukan kesalahan " *

atau• " Setiap kegiatan yang bertujuan untuk mengevaluasi atribut atau

kemampuan dari program atau sistem dan menentukan bahwa itu memenuhi hasilnya diperlukan " **

* Glenford Myers, The art of software testing

** William Hetzel, The Complete Guide to Software Testing

Page 7: Pert 2 Pengenalan Testing&Implementasi

When to stop testing?• Pengujian lengkap dari suatu sistem umumnya tidak layak ( terlalu

mahal ) • Pengujian biasanya berhenti : • ketika sumber daya habis atau • ketika perangkat lunak memenuhi persyaratan atau • ketika manfaat dari pengujian lanjutan tidak dapat membenarkan

biaya pengujian ditambahkan

Page 8: Pert 2 Pengenalan Testing&Implementasi

Implementasi Perangkat Lunak(System Implementation)

Page 9: Pert 2 Pengenalan Testing&Implementasi

System Implementation• Implementasi sistem atau penawaran Adopsi dengan transfer (

konversi ) antara sistem lama ke sistem baru dalam suatu organisasi . Jadi jika sebuah perusahaan bekerja dengan sistem perangkat lunak lama , mungkin ingin menggunakan sistem baru yang lebih efisien , memiliki kapasitas kerja yang lebih dll Jadi sistem baru perlu diadopsi, di mana setelah itu dapat digunakan .

Page 10: Pert 2 Pengenalan Testing&Implementasi

Tahap Pengujian & Implementasi dalam Siklus Hidup Pengembangan Sistem

(Testing & Implementation Phases in SDLC)

Page 11: Pert 2 Pengenalan Testing&Implementasi

Traditional SDLC

11

(1) Systems Investigation

(2) Systems Analysis

(3) Systems Design

(4) Programming

(5) Testing

(6) Implementation

(7) Operation

(8) Maintenance

Go Back to a previous Stage or Stop

An eight-stage systems development life cycle (SDLC)

Page 12: Pert 2 Pengenalan Testing&Implementasi

Testing & Implementation Phases in SDLC• Testing (Pengujian)• Cek untuk melihat apakah sistem informasi akan menghasilkan hasil yang

diharapkan dan diinginkan dalam kondisi tertentu• Implementation (Implementasi)• The process of converting from the old system to the new system• Four major conversion strategies

• Parallel conversion: sistem lama dan baru beroperasi secara bersamaan untuk beberapa waktu

• Direct conversion: sistem lama dihentikan dan sistem baru diaktifkan pada titik tertentu dalam waktu

• Pilot conversion: memperkenalkan sistem baru di salah satu bagian dari organisasi

• Phased conversion: memperkenalkan komponen dari sistem baru

Page 13: Pert 2 Pengenalan Testing&Implementasi

Contract Review• Keberhasilan dari tahap implementasi sangat ditentukan oleh

tahap analisa dan perancangan sistem dan pembuatan kontrak pengembangan perangkat lunak.

• Sebelum suatu proyek pengembangan sistem perangkat lunak dilaksanakan, maka sebaiknya proses peninjauan rancangan kontrak harus dilakukan seteliti mungkin dan dengan hati-hati.

• Multimedia: m0604MUL-Contract-Review.zip

Page 14: Pert 2 Pengenalan Testing&Implementasi

Purpose of test management• Untuk merancang dan menerapkan strategi tes yang efektif dan

ekonomis• Elemen kunci : • Perencanaan pengujian• Spesifikasi pengujian• Pelaksanaan Pengujian • Uji pemantauan dan pelaporan • Evaluasi sistem

Page 15: Pert 2 Pengenalan Testing&Implementasi

The Tools You Need

• A thorough test plan: meramalkan dan menghindari masalah yg potensial.

• A well-engineered test system : sistem yang akan di tes

• A state-based bug tracking database : basis data pencatatan kesalahan

• A comprehensive test tracking spreadsheet :daftar pengujian

• A simple change management database : perubahan sederhana pada managemen basis data

Diperlukan untuk pengelolaan proses pengujian.

Page 16: Pert 2 Pengenalan Testing&Implementasi

The Resources You Need• A practical test lab• Test Engineers and Technician• Contractors and Consultants• External test Labs and Vendors

Diperlukan untuk menjalankan proses pengujian.

Page 17: Pert 2 Pengenalan Testing&Implementasi

Dasar Sistem Pengujian

• Suatu pengujian yang akan dilakukan harus mempunyai fokus yang jelas.

• Ada 3 pertanyaan yang harus dijawab sebelum melakukan suatu pengujian:• What you might test (kemungkinan apa saja yang diuji)?• What you should test (Apa saja yang harus diuji) ?• What you can test (Apa saya yang dapat diuji)?

• Jawaban -> membantu menentukan fokus pengujian yang dilakukan.

• Fokus pengujian yang jelas akan menentukan kualitas dari sistem yang diuji.

Page 18: Pert 2 Pengenalan Testing&Implementasi

1. What you might test?Usaha Pengujian yang Diperluas(The Extended Test Effort)

Page 19: Pert 2 Pengenalan Testing&Implementasi

Usaha Pengujian yang Diperluas

• Dalam suatu proyek pengembangan perangkat keras maupun perangkat lunak, sudah banyak proses pengujian yang dilakukan di luar organisasi.

• Ada 2 pandangan yang digunakan untuk menilai bagaimana kelompok diluar organisasi pengujian formal berkontribusi pada suatu proses pengujian:1. Test Granularity : level of focus of a test2. Test Phases : Jenis pengujian yg dilakukan dalam

berbagai macam tahapan pengujian.

Page 20: Pert 2 Pengenalan Testing&Implementasi

Test Granularity• Fokus tes ini Mengacu pada kehalusan atau kekasaran • Dapat dianggap sebagai berjalan di sepanjang spektrum mulai dari

struktur untuk menguji perilaku sistem

Page 21: Pert 2 Pengenalan Testing&Implementasi

Structural Test• Tes struktural menemukan bug dalam operasi tingkat rendah

seperti yang yang terjadi turun di tingkat baris kode , skema database , chip , subassemblies , dan antar muka .

• Structural tests are based on how a system operates

Page 22: Pert 2 Pengenalan Testing&Implementasi

Who did the structural test?• Expert Programmers can be good structural testing• Penguji mengembangkan tes yang paling struktural dengan

melihat kode dan data struktur

Page 23: Pert 2 Pengenalan Testing&Implementasi

Behavioural Test• Behavioural tests / Tes Perilaku sering digunakan untuk menemukan

bug dalam operasi tingkat tinggi , pada tingkat fitur , profil operasional , dan skenario pelanggan

• Tes fungsional berdasarkan apa yang harus dilakukan oleh sistem • Pengujian perilaku melibatkan pemahaman rinci tentang domain

aplikasi , masalah bisnis yang dipecahkan , dan misi sistem berfungsi

Page 24: Pert 2 Pengenalan Testing&Implementasi

Who did the behavioral test?• Penguji yang memahami desain sistem , setidaknya pada tingkat

tinggi , sehingga mereka secara efektif dapat menemukan bug umum untuk jenis desain .

• Selain memahami beberapa isu teknologi seputar sistem yang diuji , penguji perilaku harus memahami teknik tes perilaku khusus yang paling efektif dalam menemukan bug tersebut

Page 25: Pert 2 Pengenalan Testing&Implementasi

What is Good Behavioral Test?

Behavioral testing is the primary test technique for most independent test organizations

“Pengujian perilaku adalah teknik tes utama untuk sebagian besar organisasi tes independen”

Page 26: Pert 2 Pengenalan Testing&Implementasi

Live Testing• Live Test involve putting customers, content experts, early

adopters and other end users in front of the system• In some cases, we encourage the testers to try to break the

system• Well-known form: Beta Testing• Live testing melibatkan menempatkan pelanggan , ahli

konten , pengadopsi awal dan pengguna akhir lainnya di depan sistem

• Dalam beberapa kasus , pengujian mendorong para penguji untuk mencoba memecahkan sistem

• Bentuk terkenal : Pengujian Beta

Page 27: Pert 2 Pengenalan Testing&Implementasi

Test Phases• Unit Testing (Pengujian Unit)

• Component or Subsystem Testing (Komponen atau subsistem Pengujian)

• Integration or Product Testing (Integrasi atau Produk Pengujian)

• String Testing• System Testing (Pengujian sistem )

• Acceptance or User Acceptance Testing (Penerimaan atau penerimaan Pengguna )

• Pilot Testing (Pengujian percontohan)

Page 28: Pert 2 Pengenalan Testing&Implementasi

Benefit of Phased Test Approach

• Structural Testing can build product stability• Structural testing using scaffolding or stubs can start early• You can detect bugs earlier and more efficiently• You can gather better metrics and use best-practice techniques in your

testing effort• Phases provide real and psychological milestones against which you

can gauge the "doneness" of testing and thus the project• Pengujian struktural dapat membangun stabilitas produk• Pengujian Struktural menggunakan perancah atau bertopik dapat

dimulai lebih awal • Anda dapat mendeteksi bug lebih awal dan lebih efisien • Anda dapat mengumpulkan metrik yang lebih baik dan menggunakan

teknik praktek terbaik dalam upaya pengujian • Fase memberikan tonggak nyata dan psikologis terhadap yang Anda

dapat dengan mengukur " kematangan " dari pengujian proyek

Page 29: Pert 2 Pengenalan Testing&Implementasi

Terima Kasih