330 likes | 654 Views
PENGUJIAN SISTEM. Asas pengujian sistem. Objektif pengujian unit dan integrasi adalah untuk memastikan kod telah mengimplementasikan rekabentuk. Pengujian sistem: objektif yang sangat berbeza memastikan sistem melaksanakan apa yang pelanggan kehendaki. Sumber-sumber ralat perisian.
E N D
Asas pengujian sistem • Objektif pengujian unit dan integrasi adalah untuk memastikan kod telah mengimplementasikan rekabentuk. • Pengujian sistem: objektif yang sangat berbeza memastikan sistem melaksanakan apa yang pelanggan kehendaki
Sumber-sumber ralat perisian • Ralat mungkin berlaku di dalam kod, tetapi sekiranya kod tersebut tidak pernah dilarikan atau tidak dilarikan cukup lama untuk menghasilkan masalah, maka kita tidak akan dapat melihat kegagalan perisian tersebut • Ralat perisian boleh dimasukkan dalam keperluan, rekabentuk, komponen kod atau dalam dokumentasi semasa pembangunan atau penyelenggaraan
Analisis keperluan Incorrect, missing or unclear requirements Incorrect or unclear translation Rekabentuk sistem Incorrect or unclear design specification Rekabtk program Incorrect or unclear design specification Misinterpretation of system design Implementasi program Misinterpretation of program design Incorrect documentation Incorrect syntax or semantics Pengujian unit Incomplete test procedures New faults introduced when old ones corrected Pengujian sistem Incomplete test procedures Penyenggaraan Incorrect user documentation Poor human factors New faults introduced when old one corrected Changes in requirements
Proses pengujian sistem • Beberapa langkah di dalam pengujian sistem • Pengujian FUNGSI (FUNCTION) • Pengujian PRESTASI (PERFORMANCE) • Pengujian PENERIMAAN (ACCEPTANCE) • Pengujian PEMASANGAN (INSTALLATION)
Keperluan perisian yang lain SpesifikasiKeperluan pelanggan Keperluan fungsian sistem Persekitaran pelanggan Ujian FUNGSI Ujian PRESTASI Ujian PENERIMAAN Ujian PEMASANGAN Sistem yang berfungsi Perisian yang disah, dinilai Sistem yang diterima Modul yang dintegrasikan SISTEM DIGUNAKAN!
Setiap peringkat mempunyai fokus yang berlainan dan kejayaan setiap peringkat bergantung kepada objektifnya • Objektif proses: • Ujian fungsi: menyemak sistem yang telah diintegrasikan itu melakukan fungsi sebagaimana yang telah dispesifikasikan oleh keperluan • Ujian prestasi: membandingkan komponen yang telah diintegrasikan dengan keperluan bukan fungsian sistem
Verified system: sistem telah beroperasi mengikut apa yang perekabentuk ingini. • Seterusnya kita bandingkan apa yang dikehendaki oelh pengguna dengan melihat semula dokumen definisi keperluan • Validated system: kita telah mengesahkan keperluan telah dipenuhi.
Ujian penerimaan: ujian yang dilakukan oleh pelanggan untuk memastikan ia telah memenuhi keperluan mereka yang mungkin berbeza daripada kefahaman perekabentuk • Kadangkala dijalankan pada persekitaran sebenar • Ujian pemasangan: dijalankan untuk membenarkan pengguna untuk menggunakan fungsi sistem .
Pengurusan konfigurasi • Konfigurasi sistem: • Sekumpulan komponen sistem yang dihantar kepada pelanggan tertentu. • Pengurusan konfigurasi: • Membangunkan dan menguji konfigurasi yang berlainan. • Versi: • Konfigurasi bagi sistem tertentu • Perisian diuji dan digunakan, ralat mungkin ditemui dan perlu penambahbaikan new release
Pengujian regrassi: • Mengenalpasti ralat baru yang mungkin timbul apabila kita membetulkan yang telah sedia ada. • Diaplikasikan kepada versi baru/new release untuk mengesahkan sistem masih berfungsi seperti asal. • Kawalan pertukaran: • Pasukan pengurusan konfigurasi bekerja rapat dengan pasukan pengujian untuk kawal semua aspek pengujian.
Pasukan Pengujian • Bebas daripada staf implementasi • Biasanya adalah bekas analis, pengaturcara atau perekabentuk • Penguji profesional: • Menguruskan dan menjalan pengujian • Terlibat dari peringkat mula, merekabentuk pelan pengujian dan juga test cases. • Fokus pada pembangunan, kaedah dan juga prosedur pengujian
Analist • Terlibat di dalam definisi asal keperluan dan juga spesifikasi memahami masalah pelanggan • Perekabentuk sistem • Memahami apa yang telah dicadangkan sebagai penyelesaian dan juga kekangan penyelesaian • Pengguna • Paling baik untuk menilai isu yang berkaitan dengan kesesuian, kemudahan untuk menggunaka sistem dan juga faktor-faktor kemanusiaan yang lain
Pengujian Fungsi • Tujuan dan peranan: • Setiap fungsi boleh dikaitkan dengan komponen yang melaksanakannya • Sesetengah fungsi mungkin mengandungi keseluruhan sistem • Thread: satu set tindakan yang berkaitan dengan fungsi-fungsi • Dijalankan dalam situasi yang terkawal • Membandingkan persembahan sebenar sistem dengan keperluan
Pengujian Persembahan • Tujuan dan Peranan: • Persembahan sistem diukur dengan objektif persembahan yang ditetapkan oleh pelanggan di dalam keperluan bukan fungsian • Direkabentuk dan diuruskan oleh pasukan pengujian, hasilnya diperolehi daripada pelanggan • Jurutera perkakasan juga mungkin sebahagian daripada pasukan pengujian
Jenis-jenis ujian persembahan • Ujian ketahanan • Volume test • Configuration test • Compatibility test • Regression test • Security test • Timing test • Environmental test • Quality test • Recovery test • Maintenance test • Documentation test • Human factors test
Reliability, Availability and Maintainability • Isu yang paling kritikal di dalam pengujian persembahan ialah untuk memastikan kebolehpercayaan (reliability), kesediaadaan (availability) dan juga kebolehselenggaraan (maintainability) • Menggunakan pengukuran secara tidak lansung untuk menganggarkan ciri-ciri sistem
Software reliability(kebolehpercayaan) • Kebarangkalian sistem akan beroperasi tanpa kegagalan dibawah keadaan tertentu dalam satu tempoh masa. • Diukur berdasarkan masa larian dan bukannya masa nyata • Software availability(kesediaadaan) • Kebarangkalian sesuatu sistem beroperasi dengan jayanya mengikut spesifikasi pada satu masa yang dikehendaki. • Kesediaadaan diukur pada masa tertentu (at points of clock time) dan bukannya masa nyata
Software maintainability (kebolehselenggaraan) • Probability for a given condition of use, a maintenance activity can be carried out within a stated time interval and using stated procedures and resources.
Empat peringkat yang berbeza bagi mengukur kegagalan: • Catastrophic: kegagalan yang mungkin menyebabkan kematian atau kehilangan sistem • Critical: kegagalan yang mungkin menyebabkan kecederaan yang teruk atau kerosakan sistem yang major menyebabkan “mission loss” • Marginal: kegagalan minor yang menyebabkan ‘delay’, loss of availability ataupun mission degradation. • Minor: kegagalan yang tidak serius tapi menyebabkan penyelenggaraan tidak teratur
Pengujian Penerimaan • Bila pengujian fungsi dan pengujian prestasi selesai, kita pasti bahawa sistem telah memenuhi kesemua keperluan yang telah dispesifikasikan semasa peringkat awal pembangunan perisian • Langkah seterusnya adalah untuk mendapatkan pengesahan daripada pengguna.
Tujuan dan peranan • Sebelum ini, pembangunan telah merekabentuk test cases, dan juga mengawal semua pengujian yang dilakukan. • Dalam peringkat ini, pengguna akan melakukan pengujian dan menerangkan kes-kes yang akan diuji.
Tujuan • Membolehkan pelanggan dan pengguna menentukan sekiranya sistem yang dibangunkan memenuhi keperluan dan juga jangkaan mereka. • Biasanya ditulis, dijalankan dan dinilai oleh pengguna. • Pembangun hanya akan membantu apabila dari segi menjawab soalan-soalan berbentuk teknikal.
Jenis-jenis pengujian penerimaan • Terdapat tiga cara bagaimana pengguna boleh menilai sistem • Benchmark test (pengujian tanda aras) • Pilot test (pengujian pilot) • Parallel test (pengujian selari)
Benchmark test • Pelanggan menyediakan satu set ‘test cases’ yang mewakili keadaan tipikal dimana sistem akan beroperasi apabila dipasang. • Pelanggan akan menilai prestasi sistem untuk setiap test case. • Dilaksanakan dengan pengguna sebenar atau satu kumpulan khas yang menggunakan fungsi sistem • Biasanya penguji telah biasa dengan keperluan dan boleh menilai prestasi sebenar
Pilot test • Memasang sistem pada asas pengeksperimenan • Pengguna akan menggunakan sistem seolah-olah ia telah dipasang. • Bergantung kepada perjalanan sistem setiap hari untuk menguji kesemua fungsi • Pelanggan biasanya menyediakan beberapa senarai fungsi yang akan dicuba oleh setiap pengguna secara bersama di dalam prosedur harian • Lebih tidak formal dan tidak berstruktur
Parallel testing • Digunakan sekiranya sistem baru akan menggantikan sistem lama atau sebahagian daripada fasa pembangunan • Sistem baru akan beroperasi secara selari dengan versi terdahulu • Pengguna akan secara tak lansung akan menjadi biasa dengan sistem yang baru.
Hasil…. • Pengguna akan memberitahu keperluan mana yang: • Perlu diubah • Perlu dibuang • Dikaji semula • Etc… • Staf pengurusan konfigurasi akan mengenalpasti perubahan ini dan merekodkan kesan perubahan terhadap rekabentuk, implementasi dan pengujian
Ujian Pemasangan • Peringkat terakhir dengan memasang sistem pada tempat pengguna • Sekiranya ujian penerimaan telah dilakukan di tempat pengguna, maka ujian pemasangan tidak perlu dilakukan • Tetapi sekiranya keadaan berbeza, maka perlu buat ujian tambahan.
Langkah: • Konfigurasi sistem kepada persekitaran pengguna • Letakkan beberapa peranti yang sesuai kepada pemprosesan utama dan bangunkan komunikasi dengan sistem lain. • Peruntukkan fail dan capaian pada fungsi dan data yang sesuai.
Ujian ini memerlukan kita bekerja dengan pelanggan untuk menentukan apakah ujian yang diperlukan • Ujian ini fokus pada dua perkara: • Kelengkapan sistem yang dipasang • Pengesahan ciri-ciri fungsian dan bukan fungsian yang mungkin beri kesan pada keadaan ‘site’ • Bila pelanggan puas hati, ujian adalah LENGKAP dan sistem akan dihantar.
Automated System Testing • Simulasi • Benarkan kita untuk menumpukan dalam menilai sebahagian sistem sambil menunjukkan ciri-ciri lain sistem. • Simulator • Menunjukkan kepada sistem semua ciri-ciri peranti atau sistem tanpa perlu adanya peranti atau sistem secara nyata • Eg: flight simulator