Software testing adalah proses menganalisis kesalahan - kesalahan yang mungkin terjadi dalam pengembangan perangkat lunak, untuk mendeteksi perbedaan yang terjadi antara software dengan kebutuhannya apakah terjadi bug atau tidak juga untuk mengevaluasi fitur dari software tersebut. Hal ini seharusnya dilakukan selama proses pengembangan software
Software testing merupakan bagian dari verifikasi dan validasi.
1. Verifikasi
- Mengevaluasi sistem untuk memastikan apakah produk yang dikembangkan sudah memenuhi kondisi seperti yang telah ditetapkan pada fase awal.
2. Validasi
- Mengevaluasi sistem pada akhir proses pengembangan untuk memastikan apakah produk yang
dikembangkan sudah memenuhi spesifikasi kebutuhan.
- Memastikan apakah fitur dalam software sudah memuaskan kebutuhan pelanggan
Ada dua metode dasar dalam software testing
1. Black box testing
Disebut juga dengan fungsional testing. Testing ini hanya sebatas pengujian terhadap fitur - fitur dalam
software. Biasa digunakan untuk validasi
2. White box testing
Disebut juga dengan struktural testing. Testing ini dilakukan dengan melihat langsung kedalam modul
untuk meneliti kodingan dari software dan menganalisis apakah ada kesalahan atau tidak. Biasa
digunakan untuk verifikasi
Ada enam tipe dari software testing :
1. Unit Testing
- Testing terhadap hardware atau software dari unit - unit yang berhubungan
- White box testing
- Spesifikasi : desain dan struktur koding
- contoh : tester akan menulis beberapa kode testing yang akan memanggil methode dengan parameter
tertentu dan memastikan hasilnya seperti yang diharapkan
2. Integrasi testing
- Pengujian dimana komponen software, hardware atau keduanya sudah menyatu dan sudah diuji to
mengevaluasi interaksi dari 2 hal tersebut
- Memverifikasi bahwa unit sudah menyatu ketika dihubungkan dengan basis koding yang lebih besar
- Black dan white box testing
- desain level rendah - tinggi
3. Fungsional & sistem testing
- Fungsional testing memastikan spesifikasi fungsional dalam kebutuhan terpenuhi
- Sistem testing melibatkan penempatan program baru kedalam lingkungan lingkungan yang berbeda - beda
untuk memastikan dapat bekerja pada lingkungan pelanggan dengan berbagai versi dan tipe sostem
opereasi
- Black box testing
- Spesifikasi : desain level tinggi, spesifikasi kebutuhan
4. Acceptance testing
- Testing Formal yang dilakukan untuk memastikan apakah sistem memenuhi kriteria apa tidak dan agar
pelanggan tahu apakah software dapat diterima oleh sistem
- Kriteria dari sistem harus memuaskan agar diterima oleh pelanggan
- Black box testing
- Spesifikasi kebutuhan
5. Regression testing
- Tes ulang sistem untuk verifikasi jika modifikasi yang dilakukan tidak menyebabkan effect yang tidak
diinginkan dan sistem masih sesuai dengan spesifikasi kebutuhan
- Dilakukan disemua siklus testing setelah terjadi perubahan yang signifikan (memperbaiki bug)
- Black dan white box
- Setiap perubahan dari dokumentasi, desain level tinggi
6. Beta Testing
- Testing melibatkan potensial user dan beta tester
- User mengisntal software dan menggunakannya, dan selanjutnya memberikan laporan dari setiap error
yang ditemukan selama penggunaan kepada pengembang
- Black box testing
Pengembangan software yang berkualitas itu sangat baik dan merupakan masalah penting bagi industri software.
Tantangan dalam mengembangkan software yang berkualitas
a) Akurasi data / informasi
- Sistem informasi rumah sakit
- sistem informasi untuk tujuan militer
b) Security
- Sistem perbankan
- Sistem informasi Pemerintahan
c) Kecepatan akses, bergantung pada :
- Desain database
- daerah pengguna (kapasitas bandwidth)
Rencana Pengembangan dan Perencanaan kualitas yang baik seharusnya :
- Menjadi dasar bagi proposal yang sudah diperiksa dan sudah terupdate
- Sudah lebih lengkap dibandingkan dengan proposal yang baru disetujui (jadwal, sumber daya, estimasi,
dan pengembangan evaluasi resiko)
- Sudah mencakup subject tambahan dari proposal yang disetujui
Rencana Pengembangan dan Perencanaan kualitas yang baik dibutuhkan untuk :
- Penjadwalan perkembangan aktivitas (waktu penyelesaian, pendanaan, sumber daya)
- Penyelesaian resiko
- kontrol proyek
Elemen - elemen dari rencana pengembangan antara lain :
1. Produk daru proyek
2. Interface proyek
3. Metode dan alat untuk mengembangkan proyek
4. Standar pengembangan software dan prosedurnya
5. Pemetaan dari proses pengembangan proyek
6. milestone proyek (dokumen, koding, laporan)
7. Penyusunan staff proyek (pembentukan tim, kepala tim dll)
8. Fasilitas pengembangan (software, hardware, dan kebutuhan lainnya)
9. Pengembangan resiko
10.Metode kontrol
11.Estimasi pengeluaran
Tugas pengembang apabila diabaikan dapat meningkatkan kemungkinan kegagalan proyek. Contoh :
1. Kesenjangan teknologi
2. Kekurangan staff
Elemen dari perencanaan kualitas, antara lain :
1. Kualitas tujuan
2. Meninjau rencana kegiatan
- ruang lingkup kegiatan
- tipe kegiatan
- jadwal (prioritas)
- rincian prosedur yang ingin diterapkan
- pihak yang bertangjawab
3. Perencanaan software testing
- Unit atau sistem yang akan di tes
- Jenis testing yang akan digunakan
- Jadwal testing
- prosedur
- pihak yang bertanggung jawab
4. Rencana penerimaan tes dari software yang dikembangkan
5. Susunan Manajemen
Sistem SQA terdiri dari 6 komponen antara lain :
1. Pre-Project Components
Tujuannya untuk meningkatkan langkah persiapan sebelum memulai project. Hal - hal yang perlu dilakukan deperti mereview kontrak, rencana pengembangan proyek dan perencanaan kualitas proyek. Kontrak review terdiri dari beberapa aktivitas :
a) Mengklarifikasi kebutuhan pelanggan
b) Mereview jadwal proyek dan mengestimasi resource
c) Evaluasi dari tenaga kerja profesional
d) Evaluasi resiko
Masalah yang sering terjadi pada rencana pengembangan proyek :
a) Jadwal
b) Resource yang dibutuhkan (manusia, software dan hardware)
c) Evaluasi resiko
d) Masalah organisasional
d) Metode proyek, alat pengembangannya
Masalah yang terjadi pada perencanaan kualitas proyek :
a) kualitas dari tujuan proyek (dapat diukur)
b) Kriteria untuk memulai dan mengakhiri setiap stage dari proyek
c) Daftar perencanaan review dan test termasuk jadwal untuk verifikasi dan validasi aktivitas proyek
2. Project Life Cycle Activities Assessment
Terdiri dari dua stage :
- Pengembangan siklus hidup
Tujuannya untuk menganalisa desain dan program error. Komponennya dibagi menjadi :
a) Review desain
b) Expert opinion
d) Software testing
e) Pemenuhan kualitas dari sub kontraktor dan pelanggan
- Pengerjaan dan Pemeliharaan. Tujuan untuk meningkatkan fungsi pemeliharaan
3. Infrastructure Error preventation and improvement
Tujuan utamanya adalah :
- Mencegah kesalahan software
- Mengurangi tingkat kesalahan software
- Meningkatkan Produktifitas
Termasuk:
- Prosedur dan instruksi kerja
- Template dan ceklist
- Pelatihan staff, pelatihan ulang dan sertifikasi
- Pencegahan dan pembenaran tindakan
- Pengaturan management
- Kontrol dalam pendokumentasian
4. Software Quality Management
Management komponen SQA, termasuk dalam :
- Pengontrolan progres proyek (pemeliharaan, kontrak)
Berfokus pada: penggunaan resource, jadwal, manajemen resiko, dan biaya.
- Software quality metrics
Mengukur banyaknya aspek dari kualitas software
- Software quality cost
5. Standardization, certification & SQA System Assessment
Tujuannya untuk :
- Pemanfaatan pengetahuan profesional
- Meningkatkan kordinasi dengan organisasi lain yang berhubungan dengan kualitas sistem
- Evaluasi dan pengukuran dari pencapaian kualitas sistem organisasi
6. Organizing for SQA - The Human Components
Tujuan utamanya adalah :
- Inisiasi dan mendukund implementasi dari komponen SQA
- Mendeteksi penyimpangan dari procedure dan metode SQA
- Menyarankan perbaikan
Organisasi SQA dasar meliputi :
- Manager
- Staff testing
- Para unit SQA dan praktisi yang tertarik pada software quality
1. Software Process Quality Metrics
- Error Density Metrics
- Calculation
- Software Failure Measures
- Error Counted Measures
- Formula
- Code Error Density
- Development Error Density
- Weighted Code Error Density
- Weighted Development Error Density
- Weighted Code Errors per Function point
- Weighted Development Errors per Function point
- Error Severity Metrics
- Formula
- Average Severity of Code Error
- Average Severity of Development Error
- Formula
- Formula
- Formula
- HD Calls Density Metrics
- Formula
- Severity of HD Calls Metrics
- Formula
- Average Severity of HD Calls
- Success of the HD Services
- Formula
- HD Service Success
- HD Productivity Metrics
- Formula
- HD Effectiveness Metrics
- Formula
- HD Efectiveness
- Software System Failures Density Metrics
- Formula
- Software System Failures Severity Metrics
- Formula
- Average Severity of Software System Failures
- Failures of Maintenance Services Metrics
- Formula
- Maintenance Repeated Repair Failure
- Software System Availability Metrics
- Formula
- Formula
Reza Putra Jawara 5209100037 - Terry Oktora 5209100043
Rancang Bangun Aplikasi Berbasis Web Peringatan Lowongan Pekerjaan Menggunakan SMS Gateway
Adapun fungsi penting didalam telepon genggam yang bisa digunakan untuk mendapatkan informasi lowongan pekerjaan, yaitu dengan menggunakan fitur SMS (Short Message Service) atau disebut dengan layanan pesan pendek. Para pencari kerja bisa mendapatkan informasi dengan mendapatkan pesan melalui SMS tentang informasi lowongan pekerjaan. Untuk mewujudkan hal tersebut diperlukan sebuah proses pembuatan perangkat lunak yaitu menggunakan aplikasi berbasis web menggunakan SMS gateway. Metode yang digunakan untuk menyelesaikan pembuatan aplikasi ini adalah UPM (Unified Process Model) yang terdiri dari empat tahapan yaitu : tahap awal (inception), tahap perluasan (elaboration), tahap konstruksi (construction),dan tahap transisi (transition). Proses ini didokumentasikan menggunakan standar Ready SET sehingga sangat membantu dalam proses pengembangan aplikasi.
Dengan adanya Aplikasi Berbasis Web Peringatan Lowongan Pekerjaan Menggunakan SMS Gateway ini, dapat memberikan peringatan kepada pencari pekerjaan tentang status lowongan pekerjaan secara cepat akurat, dan berkualitas.
Usability
Merupakan effort (usaha) yg dibutuhkan untuk mempelajari, mengoperasikan, menyiapkan input & mengintepretasi kan output program.
Pada program Rancang Bangun Aplikasi Berbasis Web Peringatan Lowongan Pekerjaan Menggunakan SMS Gateway penerapan usability dapat dilihat pada :
- Rancangan antarmuka aplikasi user friendly dengan pengguna.
- Adanya fasilitas searching untuk memudahkan pengguna mencari data lebih cepat.
Testability
Merupakan usaha yg dibutuhkan untyk menguji program untuk menjamin telahh dijalankannya program yg diharapkan. Testability merupakan persyaratan yang berhubungan dengan operasi perangkat lunak termasuk diagnosa otomatis yang dilakukan oleh sistem perangkat lunak sebelum memulai sistem, untuk mengetahui apakah semua komponen dari sistem perangkat lunak berfungsi dengan baik dan untuk mendapatkan laporan tentang kesalahan yang terdeteksi.
Pada program Rancang Bangun Aplikasi Berbasis Web Peringatan Lowongan Pekerjaan Menggunakan SMS Gateway peneraan testability dapat dilihat dari sudah adanya bab uji coba dan evaluasi sistem, disana sudah terdapat beberapa scenario untuk uji coba. Antara lain :
- Gambaran sistem
- Tujuan uji coba
- Lingkungan uji coba
- Scenario uji coba proses mengelola master data
- Scenario uji coba proses mengelola reminder
- Scenario uji coba proses pembuatan informasi lowongan pekerjaan
- Scenario uji coba proses pembuatan resume
- Scenario uji coba proses pendaftaran lowongan pekerjaan
- Scenario uji coba proses penentuan status job seeker
Kesimpulan
Menurut kelompok saya tugas akhir yang berjudul Rancang Bangun Aplikasi Berbasis Web Peringatan Lowongan Pekerjaan Menggunakan SMS Gateway telah sukses menerapkan Software Quality factor dalam hal Usability dan Testability.
Referensi
- Software Quality Assurance: From Theory to Implementation, Daniel Galin
- Usability dan Testability pada Rancang Bangun Aplikasi Berbasis Web Peringatan Lowongan Pekerjaan Menggunakan SMS Gateway