slide1 n.
Download
Skip this Video
Download Presentation
SOFTWARE TESTING Muhammad Yusuf Teknik Informatika – Universitas Trunojoyo

Loading in 2 Seconds...

play fullscreen
1 / 25

SOFTWARE TESTING Muhammad Yusuf Teknik Informatika – Universitas Trunojoyo - PowerPoint PPT Presentation


  • 201 Views
  • Uploaded on

SOFTWARE TESTING Muhammad Yusuf Teknik Informatika – Universitas Trunojoyo Http://yusufxyz.wordpress.com Email : yusufxyz@gmail.com. Pendahuluan. Testing merupakan suatu aktivitas yang dilakukan untuk mengevaluasi kualitas produk dengan mengidentifikasi kerusakan dan permasalahan.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'SOFTWARE TESTING Muhammad Yusuf Teknik Informatika – Universitas Trunojoyo' - ehren


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

SOFTWARE TESTING

Muhammad Yusuf

Teknik Informatika – Universitas Trunojoyo

Http://yusufxyz.wordpress.com

Email : yusufxyz@gmail.com

pendahuluan

Pendahuluan

Testing merupakan suatu aktivitas yang dilakukan untuk mengevaluasi kualitas produk dengan mengidentifikasi kerusakan dan permasalahan.

Testing software terdiri dari pembuktian dinamis (dynamic) dari jalannya program pada sekumpulan tes yang terbatas(finite), yang sesuai dan biasanya dipilih(selected) dari domain eksekusi yang tak terbatas, yang bertentangan dengan tingkah laku yang diharapkan(expected).

slide3
Dynamic : istilah ini berartibahwa testing termasuk eksekusi program pada input yang bernilai.
  • Finite : walaupun pada program sederhana, banyak kasus test yang secara teoretis memungkinkan bahwa testing yang mendalam bisa membutuhkan waktu berbulan-bulan atau bertahun-tahun untuk dieksekusi.
slide4
Selected : Banyaknya teknik testing yang diusulkan pada dasarnya berbeda dalam hal memilih sekumpulan testing, dan software engineers harus sadar bahwa kriteria pemilihan yang berbeda mungkin akan menghasilkan derajat keefektifan yang sangat besar.
  • Expected : hal yang tidak mudah untuk dilakukan adalah memutuskan apakah hasil yang diamati dari suatu eksekusi program bisa diterima atau tidak, jika tidak usaha testing akan sia-sia.
slide5
Pandangan mengenai testing software telah berkembang ke yang lebih konstruktif.
  • Testing tidak lagi dilihat sebagai aktivitas yang hanya dimulai setelah tahap membuat program selesai.
  • Testing software sekarang dipandang sebagai aktivitas yang mana harus mencakup seluruh proses pengembangan dan pemeliharaan.
  • Testing adalah cara untuk memeriksa apakah pencegahan sudah efektif atau belum dan juga untuk mengidentifikasi kesalahan
software testing fundamentals dasar dasar pengujian software
Software Testing Fundamentals (dasar-dasarPengujian Software)

Testing yang berhubungan dengan terminology

  • Kesalahan vs Kegagalan : banyak istilah yang digunakan dalam literature rekayasa perangkat lunak (software) untuk mendeskripsikan kegagalan pemakaian. Seperti kesalahan, kegagalan, error dan lainnya.

Key issues

  • Kriteria seleksi testing/criteria kecukupan testing (atau penghentian aturan): Kriteria seleksi testing adalah hal menentukan apakah sekumpulan testing kasus layak ada. Criteria seleksi dapat digunakan untuk memilih test yang layak atau tidak, termasuk untuk menentukan apakah pengujian bisa dihentikan atau tidak.
slide8
Keefektifan Testing/tujuan testing : pengujian/testing merupakan observasi sample eksekusi program.
  • Pengujian/testing untuk identifikasi kerusakan : dalam testing ini, test (pengujian) yang berhasil adalah yang menyebabkan system menjadi gagal.
  • Hal ini sangat berbeda dari testing untuk mendemonstrasikan bahwa software akan sesuai dengan spesifikasinya, atau property lain yang dibutuhkan, dimana kasus testing berhasil jika tidak ada kegagalan (yang signifikan) teramati.
test level
Test Level
  • Pengujian software biasanya dilakukan pada level yang berbeda saat proses development & maintenance.
  • Sasaran dari dilakukannya test bisa berupa sebuah modul tunggal atau kumpulan-kumpulan modul (tergantung tujuan, penggunaan, perilaku, ataupun struktur )
  • 3 Tahapan besar dalam Test secara konseptual dapat dibedakan menjadi : Unit, Integrasi, dan Sistem.
2 1 1 unit testing
2.1.1 Unit Testing
  • Unit testing menguji fungsi dalam pemisahan komponen yang diuji secara terpisah.
  • Bisa berupa subprogram yang individu atau komponen besar yang tersusun dari banyak unit yang memiliki hubungan erat.
  • Unit testing terkait dengan akses ke kode yang sedang dites serta didukung oleh debugging tools, dan bisa saja melibatkan programmeryang menulis kode.
2 1 2 integration testing
2.1.2 Integration Testing
  • Proses untuk menguji interaksi antar komponen pada software.
  • Aktivitas yang berjalan terus menerus pada setiap tahapan dimana Software Engineer/SE harus mampu berkonsentrasi di level tempat mereka mengintegrasikan.
  • Untuk software yang kecil & mudah, Incremental Integration testing lebih dianjurkan untuk menyatukan seluruh komponen dalam satu waktu, yang lebih dikenal dengan “big bang testing”
2 1 3 system testing
2.1.3 System Testing
  • Perilaku dari sebuah sistem yang utuh lebih mendapat perhatian khusus. Kegagalan fungsional harus bisa diidentifikasi terlebih dahulu selama proses unit & integration testing.
  • System testing mempertimbangkan ketepatan untuk membandingkan sistem dengan persyaratan sistem non-fungsional seperti security, speed, accuracy, reliability
2 3 1 acceptance testing
2.3.1 Acceptance Testing
  • Memeriksa perilaku sistem terhadap permintaan customer yang telah menetapkan pilihan.
  • Memastikan apakah permintaan customer telah dapat dipenuhi atau organisasi telah mengidentifikasi pangsa pasar yang cocok untuk software tersebut.
  • Ada kemungkinan melibatkan developer dari sistem.
2 3 2 installation testing
2.3.2 Installation Testing
  • Setelah melalui acceptance testing, Software diuji untuk di-install pada lingkungan yang menjadi sasaran/target.
  • Dapat dilihat sebagai system testingyang diadakan lagi menurut persyaratan konfigurasi dari hardware.
  • Juga menguji prosedur instalasi.
2 3 3 alpha beta testing
2.3.3 Alpha & Beta Testing
  • Sebelum software diluncurkan, Software diberikan kepada lingkup kecil yang bisa mewakili himpunan pengguna yang potensial untuk menggunakan software tersebut dalam rangka uji coba (trial)
  • Pengguna akan menyampaikan/melaporkan permasalahan yang dijumpai ketika menggunakan produk software.
2 3 4 conformance correctness functional testing
2.3.4 Conformance, Correctness, Functional Testing
  • Ditujukan untuk validasi atau pengesahan apakah pengamatan perilaku dari software yang sedang diuji sesuai dengan spesifikasinya.
2 3 5 reliability achievement evaluation
2.3.5 Reliability achievement & evaluation
  • Dalam membantu mengidentifikasi kesalahan, testing dimaksudkan untuk meningkatkan reliabilitas/ketahanan daya uji.
2 3 6 regression testing
2.3.6 Regression Testing
  • Pengujian kembali secara selektif dari sebuah sistem/komponen untuk membuktikan bahwa modifikasi tidak menyebabkan dampak yang tidak diharapkan.
  • Software yang sebelumnya telah lulus serangkaian tes, setelah ada modifikasi kondisinya masih tetap layak dan tidak bermasalah.
slide19
Performance testing

Ditujukan untuk membuktikan bahwa software yang

telah dibuat memenuhi persyaratan yang telah

ditentukan yakni, capacity dan response time.

  • Stress testing

Menguji software untuk bekerja di luar /melebihi

batasan kapasitasnya.

  • Back-To-Back testing

Rangkaian tes tunggal yang dilakukan pada 2 versi

implementasi dari produk software, kmdn hasilnya

dibandingkan.

slide20
Recovery testing

Menguji kemampuan restart software setelah terjadi

sebuah “bencana”

  • Configuration testing

Menganalisa software dalam berbagai spesifikasi

konfigurasi.

  • Usability testing

Mengevaluasi seberapa mudah end-user menggunakan &

mempelajari software. Seberapa efektif fungsi yang ada

dan kemampuan untuk pulih dari kesalahan yang dilakukan

oleh user.

  • Test-driven development

Meningkatkan kegunaan tes-tes sebagai pengganti untuk

sebuah persyaratan perincian dokumentasi.

test technique
Test Technique
  • Banyak teknik yang dikembangkan untuk mengungkapkan potensi kesalahan dari program.
  • Prinsipnya adalah menjadi se-sistematis mungkin dalam mengidentifikasi sebuah rangkaian yang mewakili perilaku program seperti domain input, scenario, states, dan dataflow.
  • Teknik digolongkan menjadi white box (mengandalkan informasi ttg bagaimana software telah dicoding) dan black box (mengandalkan perilaku input-output)
berdasarkan lembaga software engineer pengalaman
Berdasarkan Lembaga Software Engineer & Pengalaman
  • 3.1.1 Ad Hoc testing

Test didapat berdasar kemampuan software engineer, lembaga serta pengalaman dengan program yang serupa. Merupakan teknik yang paling praktis.

  • 3.1.2 Exploratory testing

Didefinisikan sebagai pembelajaran simultan, rancangan tes, dan eksekusi tes. Keefektifan testing bergantung pada pengetahuan SE, yang bisa didapat dari berbagai sumber : mengamati perilaku produk, kefamiliaran dgn aplikasi, jenis kegagalan & kesalahan yang mungkin terjadi, resiko yang terkait dengan produk tertentudan sebagainya.

berdasarkan spesifikasi perincian 1
Berdasarkan Spesifikasi /Perincian (1)
  • 3.2.1 Equivalence Partitioning

Domain input dibagi menjadi sebuah kumpulan dari subset/ kelas yang sebanding yang mempertimbangkan persamaan berdasar pada relasi yang spesifik & sebuah kumpulan perwakilan dari test yang diambil dari tiap kelas.

  • 3.2.2 Boundary-Value analysis

Test case dilakukan dekat dengan batasan variabel domain input yang didasari secara rasional.

Kesalahan cenderung terkonsentrasi dekat dengan nilai ekstrim dari input.

berdasarkan spesifikasi perincian 2
Berdasarkan Spesifikasi /Perincian (2)
  • 3.2.3 Decision table

Menggambarkan hubungan logika antara kondisi (input) dan aksi (output). Teknik yang berhubungan cause-effect graphing

  • 3.2.4 Finite-state Machine-based

Memodelkan sebuah program sebagai suatu finite-state machine supaya dapat menempuh state & transisi yang terjadi.

  • 3.2.5 Testing from formal spesification

Memberikan spesifikasi bahasa formal yang memperkenankan untuk derivasi otomatis dari test case secara fungsional dan menyediakan sebuah output yang direkomendasikan.

  • 3.2.6 Random Testing
berdasarkan kode
Berdasarkan Kode
  • 3.3.1 Control flow-based criteria

Kriteria meliputi seluruh statement atau block of statements dari program atau menetapkan kombinasi dari keduanya. Mengeksekusi seluruh masukan hingga akhir sesuai jalur control flow pada flowgraph.

  • 3.3.2 Data flow-based criteria

Flowgraph control dilengkapi keterangan dengan informasi tentang bagaimana variabel dalam program didefinisikan, digunakan, dan dihilangkan.

  • 3.3.3 Reference models for code-based

Struktur kontrol dari sebuah program digambarkan secara grafik dengan menggunakan sebuah Flowgraph