Minggu, 31 Maret 2013

Tugas Makalah 2 Sistem Berorientasi Objek


setelah tadi saya memposting tugas makalah SBO mengenai Pengertian Software Komputer, skrg saya akan memposting makalah SBO yang kedua yaitu tentang Pengujian Software. oke silahkan disimak, semoga bermanfaat bagi kita semua. :)

PENGUJIAN SOFTWARE

Pengujian software haruslah didefinisikan dalam proses rekayasa perangkat lunak atau software engineering. Sejumlah strategi pengujian software telah diusulkan dalam literatur. Semuanya menyediakan developer software dengan template untuk pengujian dan semuanya memiliki karakteristik umum:
  • Testing dimulai pada level modul dan bekerja keluar kearah integrasi pada sistem berbasiskan komputer
  • Teknik testing yang berbeda sesuai dengan poin-poin yang berbeda pada waktunya
  • Testing diadakan oleh software developer dan untuk proyek yang besar oleh group testing yang independent
  • Testing dan Debugging adalah aktivitas yang berbeda tetapi debugging harus diakomodasikan pada setiap strategi testing
Pengujian Software adalah satu elemen dari sebuah topik broader yang sering diartikan sebagai Verifikasi dan Validasi (V&V)
  • Verifikasi : menunjuk ke kumpulan aktifitas yang memastikan bahwa software mengimplementasi sebuah fungsi spesifik.
  • Validasi : menunjuk ke sebuah kumpulan berbeda dari aktivitas yang memastikan bahwa software yang telah dibangun dapat di-trace terhadap kebutuhan customer.

Defenisi V&V meliputi banyak aktifitas SQA, termasuk review teknis formal, kualitas dan audit konfigurasi monitor performance, tipe yang berbeda dari pengujian software study feasibility dan simulasi.
  • Metode software engineering menyediakan dasar dari mutu yang mana yang akan dipakai.
  • Metode Analysis, design and Construction berupa tindakan untuk meningkatkan kualitas dengan menyediakan teknik yang seragam dan hasil yang sesuai dengan keinginan.
  • Metode Formal Technical Reviews menolong untuk memastikan kualitas kerja produk merupakan hasil konsekuensi dari setiap langkah software engineering.
  • Metode Measurement diberlakukan pada setiap elemen dari konfigurasi software.
  • Metode Standards and Procedures membantu untuk memastikan keseragaman dan formalitas dari SQA untuk menguatkan dasar “filosofi kualitas total”.
  • MetodeTesting menyediakan cara terakhir dari tingkat kualitas mana yang dapat dicapai dan dengan praktis dapat mengetahui letak error.

Langkah-langkah Pengujian Software
Dalam pengujian software terdapat 4 langkah yaitu:
  • Unit testing-testing per unit yaitu mencoba alur yang spesifik pada struktur modul kontrol untuk memastikan pelengkapan secara penuh dan pendeteksian error secara maksimum
  • Integration testing – testing per penggabungan unit yaitu pengalamatan dari isu-isu yang diasosiasikan dengan masalah ganda pada verifikasi dan konstruksi program
  • High-order test yaitu terjadi ketika software telah selesai diintegrasikan atau dibangun menjadi satu –tidak terpisah-pisah
  • Validation test yaitu menyediakan jaminan akhir bahwa software memenuhi semua kebutuhan fungsional, kepribadian dan performa.

Kriteria dari Testing yang telah selesai
Ada beberapa criteria dari pengujian tersebut yang memang dapat dikatakan selesai. Yang diantaranya ialah:
  • Dengan menggunakan model statisitik dan teori software reliability, model dari kegagalan software-yang tidak terdeteksi selama testing-sebagai fungsi dari waktu eksekusi dapat dikembangkan
  • Sebuah versi dari model kegagalan yang disebut logarithmic Poisson execution-time model.

Test Unit (Test Level Komponen)

Pengujian unit: Komponen individual yang diuji secara independen untuk memastikan kualitasnya. Fokusnya untuk tidak menutup error pada desain dan implementasi, meliputi:
·         struktur data pada sebuah komponen
·         logika program dan struktur program pada sebuah komponen
·         interface komponen
·         fungsi dan operasi dari sebuah component
·         Penguji/tester unit: pengembang dari komponen.

Test Integrasi

Test Integrasi : Sebuah group dari component dependent diuji bersama untuk memastikan kualitas dari unit integrasinya. Merupakan teknik sistematik untuk membangun struktur program pada saat melakukan testing untuk mencari error. Secara obyektif untuk mengambil modul unit test dan membangun struktur program yang telah dirancang oleh desainnya. Fokusnya untuk meng-uncover error pada:
·         Desain dan konstruksi arsitektur software
·         Fungsi-fungsi yang terintegrasi atau operasi pada level sub-system
·         Interface dan interaksi
·         Integrasi resource dan/atau integrasi lingkungan
·         Penguji integration: pengembang dan/atau test engineer.

Strategi Pengujian Integrasi

Dalam strategi pengujian integrasi terdapat 2 pendekatan, yang diantaranya:
1.    integrasi non-incremental
2.    integrasi incremental

Integrasi non-incremental :
Big Band, menggabungkan (atau mengintegrasi) semua bagian dalam sekali.
·         Keuntungan: Sederhana
·         Kerugian:
o    sulit untuk men-debug, tidak mudah untuk mengisolasi error
o    tidak mudah untuk memvalidasi hasil test
o    mustahil untuk membentuk sebuah sistem terintegrasi impossible

Integrasi incremental:
Mengintegrasi sistem tahap demi tahap(atau bagian demi bagian) dalam sebuah pesanan yang didesain dengan baik. Tiga metode penting:
1.    Top-down
2.    bottom-up
3.    Sandwich

Integrasi Top-down
Modul-modul diintegrasi dengan memindahkan downward melalui struktur kontrol. Modul subordinate ke modul kontrol utama digabung ke sistem dalam cara depth-first atau breadth-first. Proses integrasi(lima langkah) :
1.    Modul kontrol utama digunakan sebagai sebuah test driver, dan stubs disubstitusi untuk  semua modul secara langsung ke modul kontrol utama.
2.    Stub subordinate digantikan sekali satu waktu dengan modul actual.
3.    Test terkonduksi sebagai tiap modul diintegrasi.
4.    Pada pelengkapan tiap kumpulan test, stub lainnya diganti dengan modul real.
5.    Pengujian regresi dapat dikonduksi.

Integration top-down pros dan cons :
·         biaya kostruksi stub
·         fungsi kontrol utama dapat diuji lebih cepat.

Integrasi Bottom-Up
Modul pada level terbawah diintegrasi pertama, kemudian dengan menggerakkan keatas melalui struktur kontrol. Proses integration(lima langkah):
1. Modul low-level dikombinasikan ke cluster yang menunjukkan sebuah sub-function software spesifik.
2.   Sebuah driver ditulis untuk meng-coordinate input dan output test case.
3.   Test cluster diuji.
4.   Driver dipindah dan cluster digabungkan bergerak ke atas dalam struktur program.

Integrasi bottom-up pros dan cons:
·         tidak ada biaya stub
·         perlu pengujian driver
·         tidak ada sistem yang dapat dikontrol hingga langkah terakhir

Regression Testing
Merupakan aktivitas yang membantu untuk memastikan sebuah perubahan (yang berkaitan dengan testing atau penjelasan lain) tidak menghasilkan perilaku yang tidak diharapkan atau error tambahan. Regression tes terdiri dari 3 kelas, yaitu:
·     Sebuah Contoh yang mewakili tes yang akan menguji semua fungsi software
·   Tes tambahan yang berfokus pada fungsi software yang tampak yang akan berubah akibat perubahan lain
    ·     Tes yang berfokus pada komponen software yang telah berubah

Validation testing. Uji Validasi : Software yang berintegrasi diuji berdasarkan pada kebutuhan untuk memastikan bahwa kita memiliki produk yang benar. Fokus-nya adalah untuk meng-uncover error pada:

o    Input/output sistem
o    Informasi fungsi sistem dan data
o    Interface sistem dengan bagian eksternal
o    User interface
o    Perilaku dan performance sistem

Uji Sistem
Uji sistem: Sistem software diuji keseluruhan. Ini memverifikasi semua elemen secara langsung untuk memastikan bahwa semua fungsi dan performance sistem diterima dalam lingkungan target. Terbagi menjadi 5 bagian yaitu :
  • Recovery Testing : sistem tes yang menekan software untuk gagal dengan cara yang bervariasi dan memverifikasi perbaikan sendiri dengan baik
  • Security Testing : usaha untuk memverifikasi mekanisme perlindungan yang dibuat dalam sistem apakah akan melindunginya dengan semestinya.
  • Stress Testing : didesain untuk menghadapi program dengan situasi abnormal.
  • Performance Testing : didesain untuk menguji performa software ketika bekerja dalam konteks pengintegraian sistem.
  • Pengujian instalasi : didesain untuk menguji prosedur instalasi dan software pendukungnya

Rencana Uji
Rencana uji berhubungan dengan mengeset standar untuk pengujian proses dibanding penggambaran pengujian produk. Test plan/rencana uji terdiri atas:
·         standar untuk proses pengujian
·         resource yang diperlukan (hardware, software dan engineer)
·         jadwal pengujian (pengujian task dan milestones)
·         uji item (apa yang harus diuji)
·         prosedur recording test (hasil test harus secara sistematis direkam)
·         constraint
Test planning adalah sebuah dari suatu test manager. Sebuah test plan adalah output dari perencanaan.
Debugging
·  Gejalanya mungkin sebagai hasil dari masalah pemilihan waktu dibanding masalah proses
·    Kemungkinan sulit secara akurat mereproduksi kondisi input
·    Gejalanya mungkin terjadi dalam waktu yang dekat berkelanjutan
·   Gejalanya mungkin berkaitan dengan penyebab yang didistribusikan melewati sejumlah task yang berjalan pada prosesor yang berbeda.

Test Issues pada Dunia Nyata
·         Pengujian software sangat mahal.
·         Bagaimana mendapat pengujian secara otomatis?
Pengujian software lainnya:
·         Pengujian GUI
·         Pengujian Software Berorientasi Object
·         Pengujian Komponen dan Pengujian Berbasis Komponen Software
·         Pengujian Fitur spesifik Domain
·         Pengujian Sistem Berbasis Web

Daftar Pustaka
www.enikusuma.wordpress.com/2010/09/24/pengujian-software/
www.okkieraya.blogspot.com/2010/06/pengujian-object-oriented-pengujian.html
www.ahmadarifin4ka18.blogspot.com/2010/06/pengujian-object-oriented-pengujian.html

Tidak ada komentar:

Posting Komentar