Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

testing dan implementasi, Slides of Computer Science

Materi pengenalan testing dan implementasi

Typology: Slides

2016/2017

Uploaded on 09/10/2017

nanda-patria-adikara
nanda-patria-adikara 🇮🇩

1 document

1 / 19

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
0232M Testing dan Implementasi
LECTURE NOTES
Dasar-Dasar Proyek Pengujian
(The Foundation of Test Project)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Partial preview of the text

Download testing dan implementasi and more Slides Computer Science in PDF only on Docsity!

LECTURE NOTES

Dasar-Dasar Proyek Pengujian

(The Foundation of Test Project)

LEARNING OUTCOMES

  • Mahasiswa akan dapat menerangkan peranan tahap pengujian dan tahap implementasi pada rangkaian siklus hidup pengembangan sistem perangkat lunak.
  • Mahasiswa akan dapat menghasilkan perencanaan pengujian (test plan) suatu proyek pengujian perangkat lunak.
  • Mahasiswa akan dapat menyimpulkan hasil proses pengujian yang dilakukan.
  • Mahasiswa akan dapat mendesain laboratorium pengujian.
  • Mahasiswa akan dapat menciptakan tim pengujian berdasarkan kualifikasi yang dibutuhkan.

OUTLINE MATERI :

Testing Purpose of software testing Testing & Implementation Phases in SDLC The basic of system testing Test Granularity IS THE “WHITE-BOX/BLACK-BOX” MODEL WRONG? Test Phase

Implementasi (implementation) adalah suatu proses yang mengubah sistem lama dengan sistem yang baru. Ada 4 pendekatan dalam mengubah sistem: Melakukan perubahan secara Paralel: Sistem lama dan sistem baru berjalan secara bersamaan sampai kurun waktu tertentu. Melakukan perubahan secara Langsung: Sistem lama dihentikan dan sistem baru mulai berjalan pada titik waktu tertentu. Melakukan perubahan secara Pilot: Menjalankan sistem baru dengan sistem pilot. Melakukan perubahan secara Bertahap: Menjalankan komponen/bagian dari sistem baru dengan tahapan-tahapan.

2. APA YANG MUNGKIN ANDA UJI?

Pengujian Granularitas (Test Granularity)

Di banyak kesempatan tesing biasanya dilakukan di luar dari tim yang independen, dan yang baik adalah dilakukan dengan tim yang dapat dimanage. Disamping itu pengujian granularitas mengacu kepada tindakan yang dilakukan pada saat pengujian.

  • Test granularity refers to the fineness or coarseness of a test’s focus. A fine-grained test case allows the tester to check low-level details, often internal to the system; a coarsegrained test case provides the tester with information about general system behavior.
  • Test granularity can be thought of as running along a spectrum ranging from structural (white-box) to behavioral (black-box and live) tests

Rentang pengujian ini terdiri dari struktural sampai perilaku, seperti yang tertera pada gambar 1.1.

Pengujian granularitas terdiri dari: Pengujian Struktural (structural test/white-box)

Pengujian struktural mencari kesalahan/kegagalan dalam operasi tingkat rendah, seperti pada baris program yang dibuat oleh programmer, skema basis data maupun pada perangkat keras seperti komponen elektronik (kompatibilitas). Pengujian ini berdasarkan kepada bagaimana sistem ini bekerja pada lingkungan yang ditempatinya. Sebagai contoh aplikasi internet banking, pengujian struktural yang dilakukan adalah apakah aplikasi internet banking tersebut dapat berfungsi dengan baik diberbagai jenis browser (IE, Mozilla, Opera, Chrome, dll), skema basis datanya (hubungan antar tabel). Pengujian struktural dapat dilakukan oleh seorang yang ahli dalam bahasa pemograman dan menguasai pengetahuan teknis pengujian struktural. Pengujian Perilaku (behavioral test/black box) Pengujian perilaku digunakan untuk mencari kesalahan/kegagalan dalam operasi tingkat tinggi, yang mencakup kemampuan dari perangkat lunak, operasional/tata laksana, skenario pemakai. Fungsi dari pengujian ini berdasarkan kepada apa yang dapat dilakukan oleh sistem. Untuk melakukan pengujian perilaku seseorang harus mengerti lingkup dari aplikasi, solusi bisnis yang diberikan oleh aplikasi, dan tujuan sistem dibuat. Pengujian perilaku sebaiknya dilakukan oleh penguji yang mengerti merancangan sistem/aplikasi dengan kemampuan yang tinggi, sehingga mereka dapat menemukan kesalahan/kegagalan yang sering terjadi pada rancangan sistem tertentu secara efektif. Selain itu penguji harus mengerti isu-isu teknologi terkini seputar sistem yang sedang dilakukan pengujian, penguji juga mengerti mengenai pengujian perilaku secara khusus, agar dapat menemukan kesalahan/kegagalan dengan tepat. Pengujian perilaku yang baik, seperti pengujian struktural yang baik, terstruktur, menggunakan metoda, dan melakukan pengujian yang berulang-ulang sehingga didapati kelemahan dari sistem dan kegagalan/kesalahan sistem. Pengujian perilaku adalah teknik pengujian yang sering digunakan oleh organisasi pengujian independen. Contoh pengujian perilaku pada aplikasi internet banking, maka pengujian yang dilakukan adalah menjalankan aplikasi, memeriksa apakah semua fungsi pada aplikasi berjalan dengan baik. Pengujian Langsung (live tests) Pengujian langsung (live tests) adalah pengujian sistem yang dilakukan oleh pemakai, tenaga ahli konten, dan pemakai lainnya yang masih berhubungan dengan sistem. Dibeberapa kondisi didapati penguji diminta untuk mencari kekurangan dari sistem yang diuji. Pengujian ini biasa dikenal dengan Beta Testing. Penguji yang biasa melakukan pengujian langsung adalah technical support , business analyst /pemakai, tenaga penjual/pemasar. Pengujian langsung biasa dilakukan oleh vendor-vendor besar pembuat perangkat lunak, untuk mendapatkan masukan-masukan dari para penguji mengenai perangkat lunak yang dibuat.

IS THE “WHITE-BOX/BLACK-BOX” MODEL WRONG?

Pengujian integrasi atau produk, pengujian untuk menemukan kegagalan/kesalahan hubungan atau antarmuka antara beberapa komponen dan group komponen pada sistem yang sedang diuji coba. Pengujian String (String Testing) Tahapan ini jarang dilakukan, pengujian string biasanya menggunakan scripts. Contoh dari pengujian string adalah seperti proses enkripsi dan dekripsi. Pengujian Sistem (System Testing) Pengujian sistem adalah pengujian yang dilakukan terhadap keseluruhan sistem yang telah digabungkan. Seperti unjuk kerja, proses intalasi, dan kesesuaian printer. Pengujian Penerimaan oleh Pemakai (User Acceptance Test) Pengujian ini adalah menguji kesesuaian sistem terhadap kebutuhan pemakai dan dilakukan oleh pemakai itu sendiri. Para vendor-vendor perangkat lunak biasanya menggunakan uji ini, biasa disebut dengan pengujian Beta. Pengujian Pilot (Pilot Test) Pengujian pilot adalan pengujian yang dilakukan oleh sebagian dari pemakai, dan pada lingkungan sebenarnya (lingkungan pemakai). Perangkat lunak/sistem diinstall pada komputer pemakai, dan pemakai menjalankan perangkat lunak sesuai dengan kondisi yang ada.

Keuntungan menggunakan tahapan pengujian adalah:  Pengujian struktural menjamin stabilitas dari produk.  Pengujian struktural dengan menggunakan pendekatan komponen/per bagian dapat dilakukan pengujian terlebih dahulu.  Berdasarkan pendekatan diatas maka dimungkinkan kegagalan/kesalahan dapat ditemukan secara dini.  Dapat mengumpulkan matrik yang lebih baik dan dapat menggunakan teknik best-practise dalam pengujian yang dilakukan.  Tahapan menyediakan milestones yang nyata sehingga dapat dilakukan pengukuran waktu penyelesaian dari pengujian.

3. APA YANG SEHARUSNYA ANDA UJI?

Definisi Kualitas Perangkat Lunak Fitur yang menentukan unjuk kerja dan kepuasan dari produk perangkat lunak. Terbebas dari keluhan pemakai, klaim, pengembalian produk, pembuatan kembali dan kerusakan lainnya. Pemakai dan konsumen akan menjadi wasit terhadap kualitas ketika mereka mengalami ketidakpuasan terhadap produk, dan mereka membuat keluhan, mengembalikan produk, atau menghubungi technical support.

Resiko Perbedaan Pengalaman dari Kualitas (The Perils of Divergent Experiences of Quality) Gambar 1.3 dan 1.4 menjelaskan mengenai 2 jenis dari sistem pengujian, High Fidelity Test System dan Low Fidelity Test System. Dalam gambar 1.3, sistem pengujian A memungkinkan penguji untuk mencakup kualitas resiko produk lebih besar dan cakupannya sesuai dengan pengalaman kualitas dari konsumen A. Sedangkang sistem pengujian B, pada gambar 1.4, cakupan kualitas resiko produk lebih kecil, dan proposi yang dilakukan uji tidak mencakup pengalaman kualitas dari konsumen B.

Gambar 1.5 dibawah ini menjelaskan antara cakupan kualitas resiko dengan cakupan pemakaian konsumen, dimana nilai sistem pengujian yang bagus berada di sisi kanan dari bagan, dimana cakupan pemakaian konsumen tinggi dan cakupan kualitas resiko juga tinggi.

Metode Informal untuk Melakukan Penilaian Kualitas Resiko (Informal Methods for Assesing Quality Risks) The Usual Suspects Untuk daftar kategori kualitas resiko yang utama, diawali dengan menjabarkan proses pengujian ke dalam; pengujian komponen, pengujian integrasi dan pengujian sistem.  Pengujian Komponen  States  Transactions  Code coverage  Data flow coverage  Functionality  User interface  Mechanical life  Signal quality  Pengujian Integrasi  Component or subsystem interfaces  Functionality  Capacity and volume  Error/disaster handing and recovery  Data quality  Performance  User Interface

 Pengujian Sistem  Functionality  User interface  State  Transactions  Data Quality  Operations  Capacity and Volume  Reliability, availability, and stability  Error/disaster handling and recovery  Stress  Performance  Date and time handing  Localization  Networked and distributed environments  Configuration options and compatibility  Security  Environment  Power input, consumption, and output  Shock, vibration and drop  Installation, cut-over, setup, and initial configuration  Documentation and packaging  Maintainability  Alpha, beta and other live tests Memeriksa dan Melengkapi Daftar (Checking and Completing Your List) Untuk memeriksa dan melengkapi daftar dapat memanfaatkan sumber daya berikut:  Peer Review Peer review adalah rekan kerja dalam satu tim yang dapat diminta bantuannya untuk melakukan evaluasi atau memberikan pendapat mengenai daftar yang dibuat.  Bersumber dari Internal Pakar dari internal bisa terdiri dari pemasaran, penjualan, help desk, business analyst, dimana mereka biasa berhubungan dengan konsumen dan mengetahui keinginan dari konsumen terhadap produk.  Bersumber dari Eksternal Sumber informasi eksternal bisa didapatkan dari majalah-majalah, hasil survey terhadap konsumen. Sehingga bisa didapatkan apa yang menjadi harapan dari konsumen terhadap suatu produk.

  • System Function and Feature : Deskripsi dari fungsi sistem yang akan ditest
  • Potential Failure Modes-Quality Risk: Setiap fungsi dan fitur mengidentifikasikan tipe failure apa yang anda tentukan
  • Ptential Effect of Failure: Setiap kegagalan dapat berefek ke 1 atau banyak cara, fokus pada yang berefek secara umum
  • Critical ?: Apakah efeknya critical bagi user?
  • Severity : Jika skala 1-5 maka akan dibagi menjadi :
    1. Loss of Data, hardware damage or a safety issues
    2. Loss of functionality with no workaround
    3. Loss of functionality with a workaround
    4. Partial Loss of functionality
    5. Cosmetic or trivial
  • Potential failure : List semua kemungkinan yang menimbulkan kegagalan
  • Priority : Skala 1 sd 5:
    1. Complete loss of system value
    2. Unacceptable loss of system value
    3. Possibly acceptable reduction in system value
    4. Acceptable reduction is system value
  1. Negligible reduction in system value
  • Detection Method
  • Likelihood : Dampaknya bagi user dengan skala 1 sd 5
  1. Certain to affect all users
  2. Likely to impact some users
  3. Possible impact on some users
  4. Limited impact to few users
  5. Unimaginable in actual usage
  • RPN( Risk Potential Number) : From 1 (Most dangerous quality risk) to 125 ( Least dangerous quality risk)
  • Recommended Action
  • Who/When
  • Reference : Seperti spesifikasi produk dan dokumen yang dibutuhkan
  • Action Results

4. APA YANG DAPAT ANDA UJI?

Jadwal, Sumber Daya dan Anggaran Gambar 1.7 mengambarkan mengenai hubungan antara Fitur, Jadwal, Biaya dan Kualitas. Tanda panah yang berputar searah jarum jam mengindikasikan perbaikan selama tahapan perencanaan. Perbaikan ini menyeimbangkan antara fitur, jadwal, biaya dan kualitas. Ketika proses implementasi dimulai (tahap pengujian), fitur diatur menjadi lebih kaku, jadwal tidak dapat diubah, dan anggaran meningkat.

Estimasi Sumber Daya dan Merencanakan Anggaran (Estimating Resource and Creating a

Budget)

Berikut ini adalah sumberdaya yang dibutuhkan dalam proses pengujian, dimulai dengan

kategori yang umum:

Staf (Staffs): kategori ini termasuk di dalamnya adalah karyawan tetap, kontraktor dan konsultan. Perangkat Pengujian (Test Tools): adalah perangkat-perangkat yang dibutuhkan dalam proses pengujian, dalam pengujian perangkat lunak, perangkat pengujian yang dibutuhkan antara lain: code coverage analyzers, scripting utilities, GUI test automation system.

Fasilitas dan Pengeluaran Tambahan (Facilities and overhead): yang termasuk dalam kategori ini adalah biaya perjalanan, ruang laboratorium, perangkat komputer dan perangkat jaringan lainnya. Lingkungan Pengujian (Test Environment): ketegori ini termasuk didalamnya perangkat keras, perangkat lunak, contoh rekayasa, dan prototipe eksperimental. Laboratorium Eksternal (External Labs): kategori ini digunakan jika dibutuhkan pengujian lingkungan, kinerja, dan kebutuhan lainnya.

Negosiasi Proyek Pengujian (Negotiating a Livable Test Project)

Pada saat melakukan negosiasi dengan Manajemen mengenai program pengujian yang dilakukan

akan ada beberapa pertanyaan yang muncul:

Manajemen resiko seperti apa yang akan dihadapi? Berapa lama waktu yang dibutuhkan? Berapa besar biaya yang dibutuhkan? Bagaimana dengan pengembalian Investasi?

Ketika bertemu dengan Manajemen, “bahasa” yang dipergunakan adalah “bahasa” Manajemen,

yang mencakup biaya, waktu, resiko dan keuntungan.

DAFTAR PUSTAKA

  1. Black, Rex. (200 9 ). Managing The Testing Process. 3 st^ Ed., Microsoft Press, Redmond, Washington 98052-6399 ISBN 0- 7356 - 0584 - X , chapter 1