System Acceptance Testing

Embed Size (px)

Citation preview

System Acceptance Testing

Sistem Acceptance Test

Bertujuan untuk menguji apakah sistem sudah sesuai dengan apa yang tertuang dalam spesifikasi fungisonal sistem (validation), Test akan dilakukan oleh pengembang dan hasil akan dinilai oleh pengguna, Terdiri dari dua tahapan: Sebelum pengiriman dan setelah instalasi, Melibatkan semua aspek sistem: hardware, software aplikasi, environment software, tempat, dan operators

Test Dokumentasi Test

Filosofi Test Plan Test specifications Test logs Test summary Commissioning Report Certificate of Acceptance

Test Filosofi Untuk

meyakinkan bahwa sistem sudah memiliki: Keamanan dan keselamatan dalam operasional Kehandalan, Dapat dirawat secara cost-effective, Dapat dimodifikasi untuk menyesuaikan

dengan perubahan kebutuhan operasional

Test Plan

Merupakan dokumentasi yang menjelaskan jadwal untuk pre-delivery dan site acceptance test Jadwal test: Urutan Test yang menyatakan kaitan antara test satu

dengan yang lainnya dan masing-masing test tersebut sesuai dengan salah satu kebutuhan user Test Method -> spesifikasi test Resource provision: mendefinisikan pembagian tanggung jawab dan waktu untuk setiap resource test

Test Plan (2)

Prosedur umum pengujian: menspesifikasikan keseluruhan prosedur untuk melakukan pengaturan dan set-up pengoperasian acceptance test. Prosedur mencakup: Supervisi dan inviligator-> konfirmasi terhadap

prosedur pengetesan yg dilakukan oleh supervisi dan approver Jadwal dan Lokasi: prosedur dan tanggung jawab untuk mengatur jadwal dan tempat pengujian Perubahan perencanaan: prosedur ketika terjadi perubahan jadwal

Test Plan (3) Kegagalan test: prosedur yg hrs dilakukan

ketika terjadi kesalahan spt: jumlah pengulangan , penyesuaian kapan dilakukan test setelah modifikasi Hasil test: prosedur utk mendokumentasi, menyimpulkan dan mereview hasil pengujian Kriteria kelengkapan test: mendefinisikan kriteria sukses kelengkapan test untuk predelivery dan site acceptance test.

Spesifikasi Test

Setiap test yg akan dilakukan harus dispesifikasikan secara detail oleh pengembang dan disetujui oleh user. Spesfikasi tsb terdiri dari: Judul dan referensi tunggal Tujuan yang secara spesifik sesuai dengan Functional

Requirement Lokasi pengujian Syarat Pengujian: mis.: nilai marginal input, supplies, dan lingkungan yang digunakan Konfiguasi Test: versi dan isu hardware, software, test dan bantuan simulasi

Spesifikasi Test (2) Spesifikasi input dan output Detail prosedur operasional pengujian Hasil yang dinginkan dan batasan utk

penerimaan (dlm model data numerik / check list event, informasi sec. Garfis) Format untuk merekam hasil, details kesalahan dan instruksi utk melakukan test ulang, perekaman terhadap retensi dan analisis

PrePre-Delivery Test

Dilakukan melalui simulasi terhadap tempat yang implementasi sistem. Hal penting yang dilakukan dlm melakukan pre-delivery test: Syarat utk memulai pengujian: konfiramsi terhadap

kebenaran data, dokumen, software aplikasi dan test khusus atau software simulasi, dan ketersediaan lingkungan yg sesuai, pelayanan dan personal yg cocok, Hardware dan software: pembuatan standard atau issue level HW dan SW yg akan digunakan dlm pengujian Preliminary HW test: melakukan pengujian performance-acceptance HW Test Plan

PrePre-delivery Test (2) Prosedur Test Test Log: Log semua operasi dan kejadian selama test

(yg terencana maupun tidak) termasuk full detail insiden, error, failure, retest, restart. System diagnostic: pendeteksian dan diagnosis fault yg digunakan hrs tervalidasi (variasi fault dan kondisi outof-range) Functional Testing: functional testing yg menggunakan sistem software hrs comprehensive. Simulasi inputs dan respon hrs serealistik mungkin sesuai dg kondisi tempat.

PrePre-delivery Test (3) Test Summary: lsiting semua kegagalan test

(termasuk pengulangan), kejadian yg tidak dapat dijelaskan dan non-conformances thd Functional test Test Failure: aksi utk meresolve failure dan masalah yg mucul selama pengujian, Kejelasan pengiriman,

Site Acceptance Test

Semua pengujian pada pre-delivery sudah dilakukan dan diterima. Hal tambahan yang dilakukan : Delivery check: pengecekan terhadap kerusakan HW,

SW dan dokumnetasi selama pengiriman, Test Hardware: tidak terdapat kerusakan selama pengimpanan dan pengiriman, sudah instal dg baik, beroperasi dg baik di lingkungan tempat yg akan diinstal (listrik, ruangan, dll) Modifikasi pre-delivery test: semua modifikasi sebagai konsekuensi dr masalah yg akan muncul selama predelivery test hrs dijadikan sebagai test tambahan

Site Acceptance Test (2) Pengujian terhadap semua peralatan Pendukung kebutuhan: jadual pengujian di site: Test validasi HW Test HW dengan hubungan ke site Fault validation testing: respon out-ot limit input Functional testing: pengujian functional system yg komprehensif Extended running

Site Acceptance Test (3) Aspek

lain yg hrs diperhatikan:

Training staf yg akan mengoperasikan sistem Training staf yg akan merawat sistem Kebutuhan lainnya untuk tuning system, mis.:

max throughput, max. efisiensi, minimum cost Pembuktian lainnya spt sistem alarm, keselematan, keamanan, dan back-up

Pengambil alihan dan Penerimaan Pengambil

alihan (takeover) user setuju bahwa peralatan sudah sesuai dengan kebutuhan yang ditambahkan dengan garansi utk periode tertentu terbebas dr kesalahn Penerimaan (acceptance) adalah user setuju bahwa software/aplikasi sudah sesuai dengan kebutuhan

Best Practice Testing

Basic Practice: Functional Specifications menggambarkan fungsi

keseluruhan sistem shg keuntungannya adalah aktifitas pengujian dapat dilakukan secara paralel dengan proses pengembangan code. Reviews dan Inspection: melakukan Reviews dan inspeksi (debugging) terhadap kode sumber. Kriteria formal entry dan exit setiap proses pengembangan sistem dilakukan insoeksi terhadap parameter entry dan exit. Functional test variations: jumlah test cases yg dibuat biasanya bervariasi. Variasi adalah kombinasi kondisi input tertentu untuk menghasilkan konidisi output yg spesifik.

Basic Practice (2) Multi-platform testing: pengujian pada semua

platform mesin. Internal Betas: pengujian yg dilakukan oleh sejumlah user tertentu sebelum dilakukan pengiriman. Automated test execution: meminimalkan jumlah kerja manual pada saat pengujiaan sehingga memperoleh nilai coverage yang lebih tinggi. Test tool (oracle) yg digunakan memverifikasi operasi dan log kesalahan,

Foundational Skenario User: membuat skenario user yang

menguji fungisonalitas aplikasi, Pengujian Usabilitas: tidak saja melakukan pengujian usabilitas, tetapi juga menyediakan suatu metode feetback untuk meningkatkan user experience shg terbentuk image kualitas yg baik.

Foundational (2) Requirements dalam perencanaan test.

Kebutuhan(user requirements) adalah parameter yg digunakan dalam pengetesan, dimana sistem yg dikembangkan hrs sesuai dengan kebutuhan user tsb, Sehingga dlm merancang test, kebutuhan user harus sudah diketahui dg jelas. Automated test generation: Almost 30% of the testing task can be the writing of test cases -> need a automatically test tools.

IncrementalKedekatan antara Tim penguji dan pengembang sehingga dapat mengoptimalkan proses pengujian, Code coverage : Konsep Code coverage berbasiskan pada notasi struktural code. Code coverage adalah metrik yg numerik yang mengukur elemen code (brach, statement, path dan data) yg sudah diujikan. Penggunaan tool pengujian code coverage dapat membantu mempercepat proses pengujian Automated environment generator (Drake): automated generate of various environment (more operating systems, more versions, and code that runs on multiple platforms) Tools DRAKE

Incremental (2)

Testing untuk membantu pengiriman sesuai dengan permintaan. Menguji proses pengiriman spt e-commerce, dimana tingkat interaksi dengan pelanggan merupakan faktor yg sangat kompetitif. State task diagram menggambarkan operasi fungsional suatu aplikasi atau modul dalam bentuk state diagram. Keuntungannnya adalah memungkinkan pembuatan test cases secara otomatis atau membentuk metrik coverage lebih denkat dengan dekomposisi aplikasi.

Incremental(3)Memory resource failure simulation: utk menemukan bug software yaitu loss memory yang disebabkan oleh lemahnya pengaturan heap atau banyaknya garbage collection. Terdapat tool yang dapat menguji memory failure dan melihat kekurangan memory. Statistical testing. Metode pengujian statistik ini mengukur waktu interfailure selama pengoperasian sistem untuk mengestimasi kehandalan sistem. Suatu proses pengembangan yg baik akan menunjukkan mean time yg cenderung meningkat setelah setiap bug diperbaiki.

Incremental (3) Check-in tests for code: Idenya adalah untuk

menghubungkan antara automatic test program (biasanya regression test) dengan sistem change control. Artinya setiap dilakukan perubahan code, maka dilakukan regression test. Minimizing regression test cases dengan melihat code coverage yang dihasilkan, dan menyaring test cases ke suatu minimal set.

Incremental (4)

Instrumented versions for MTTF (mean Time Test Failure) dimana hasil pengujian beta test yang mengirim feedback ke pengembang memiliki beberapa keutungan: sebagai kontrol kualitas produk, mengukur mean time between failure utk produk yg sama yg dilakukan oleh user yg berbeda, meningkatkan kinerja diagnosis sistem. Benchmark trends menggunakan banyak disiplin dari beberapa area. Hal ini menunjukkan beberapa model dari beberapa pakar pengembang sistem. Bug bounties: memberikan rewards bagi penguji dalam hal menemukan bug dlm software,

Kesalahan Klasik dalam Proses Pengujian

Peranan Testing: siapa yang melakukan pengujian layanan team testing dan bagaimana mengujinya? Planning the Testing Effort: Bagaimana seharusnya pengorganisasian team work? Personnel Issues: siapa yang harus melakukan test? Tester at Work: perancangan, penulisan dan perawatan individual tests. Technology Rampant: quick technological untuk hard problems.

Peranan dari Penguji

Memikirkan tim penguji bertanggung jawab untuk menjaga kualitas, Memikirkan bahwa tujuan pengujian adalah untuk menemukan bugs. Thinking that the purpose of testing is to find bugs. Not finding the important bugs. Not reporting usability problems. No focus on an estimate of quality (and on the quality of that estimate). Reporting bug data without putting it into context. Starting testing too late (bug detection, not bug reduction)

Generating the Test Case from Use Case

Use cases is visually requirements description is based on UML (Unified Modeling Language).

Pembentukan Test Case Pembentukan

test case berdasarkan basic flow (sistem berjalan dg normal) dan alternate flow (alternatif jalannya sistem).

Contoh Flow Normal

: Logon -> Select Create Schedule -> Obtain Course Information -> Select Course -> Submit Schedule -> Display Completed Course Alternate Flow: Unidentified Student; Quit at anytime; Unfulfilled Prerequisite, Course Full, Schedule Conflict; Course Catalog Unavailable; Course Registration is Closed.

Use Case ScenarioScenario 1 Basic Flow Scenario 2 Basic Flow Alternate Flow 1 Scenario 3 Basic Flow Alternate Flow 1 Alternate Flow 2 Scenario 4 Basic Flow Alternate Flow 3 Scenario 5 Basic Flow Alternate Flow 3 Alternate Flow 1 Scenario 6 Basic Flow Alternate Flow 3 Alternate Flow 1 Alternate Flow 2 Scenario 7 Basic Flow Alternate Flow 4 Scenario 8 Basic Flow Alternate Flow 3 Alternate Flow 4

ThreeThree-step process for generating test cases from a fully-detailed use fullycase:1. 2.

3.

For each use case, generate a full set of use-case scenarios. For each scenario, identify at least one test case and the conditions that will make it "execute." For each test case, identify the data values with which to test.

Step One: Generate Scenarios

Read the use-case textual description and identify each combination of main and alternate flows -- the scenarios -- and create a scenario matrix.

Scenario Name 1: Successful Registration 2: Unidentified User 3: User quits 4: Course Catalog Unavailable 5: Registration Clossed 6: Cannot Enroll

Starting Flow Basic Flow Basic Flow Basic Flow Basic Flow Basic Flow Basic Flow

Alternate A1 A2 A4 A5 A3

Step Two: Identify Test Cases Two:Id RC1 Scenario 1: Successful Registration Stud. Id Pass word V V Course Prereq. Course Schedule Test Result Selected Fulfilled Open Open V V V V Schedule and Confirmation Number Displayed Err. Msg.: Back To Login Login screen appearedErr. Msg.: back to step 2

RC 2 RC 3 RC 4

2: Unidentified student 3: valid user quits 4: course registration system unavailable 5: registration closed 6: Coure Full 7: Pre-req. Not fulfilled 8: Schedule Conflict

I V V

N/A V V

N/A N/A N/A

N/A N/A N/A

N/A N/A N/A

N/A N/A N/A

RC 5 RC 6 RC 7 RC 8

V V V V

V V V V

N/A V V V

N/A V I V

N/A I V V

N/A V V I

Err. Msg.: back to step 2 back to step 3 back to step 4 back to step 4

Step Three: Identify Data Values to Test to

substitute actual data values for the Is and Vs