Testing dan Implementasi Sistem Informasi
TESTING DAN IMPLEMENTASI I.S. ?
Silabus Pendahuluan dan Dasar-dasar Pengujian Software Pengembangan Perangkat Lunak Perancangan Perangkat Lunak Pengkodean Perangkat Lunak Dasar-dasar Pengujian Perangkat Lunak Teknik-teknik Pengujian Perangkat Lunak Pengujian Berorientasi Objek Strategi Pengujian Perangkat Lunak Mengukur Produktivitas dalam Pengembangan Perangkat Lunak Pengimplementasi Sistem Memelihara Sistem
PENGUJIAN PERANGKAT LUNAK (SOFTWARE TESTING)
PENGUJIAN (TESTING) Pengujian perangkat lunak (Software testing) adalah proses untuk mengukur kualitas dari perangkat lunak yang dikembangkan. Kualitas perangkat lunak (software quality) mengukur seberapa baik sistem perangkat lunak dirancang (quality of design), dan tingkat kesesuaian perangkat lunak dengan rancangan yang telah dibuat (quality of conformance). Standar internasional yang digunakan untuk mengevaluasi kualitas perangkat lunak adalah ISO 9126 yang mendefinisikan karakteristik perangkat lunak yang berkualitas.
WHY TEST SOFTWARE ?
NIST (National Institute of Standards and Technology), 2002 Why software testing ? “Software bugs, or errors... ...cost the U.S. economy an estimated $59.5 billion annually...more than a third of these costs, or an estimated $22.2 billion ... could be eliminated by an improved testing ...” NIST (National Institute of Standards and Technology), 2002
Why find bugs in software early? A software defect left unfixed until late in the development cycle costs 80 to 1000 times more to fix than it would if it was dealt with earlier Gartner Inc.
Purpose of software testing ”Software Testing is the process of executing a program or system with the intent of finding errors” * Or Any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results” ** * Glenford Myers, The art of software testing ** William Hetzel, The Complete Guide to Software Testing
When to stop testing? Testing normally stops: So, how do we know this? ” Complete testing of a system is generally unfeasible (too expensive) Testing normally stops: when resources are exhausted or when the software meets the requirements or when the benefit of continued testing cannot justify the added testing costs So, how do we know this?
Perangkat Lunak (Software)
Perangkat Lunak Definisi Perangkat Lunak adalah : menurut Ian Sommerville, Produk perangkat lunak adalah sistem perangkat lunak beserta dokumentasinya yang menjelaskan prosedur penyiapan dan penggunaan perangkat lunak tersebut. Menurut Pressman, instruksi-instruksi yang jika dieksekusi akan memberikan layanan-layanan atau fungsi seperti yang diinginkan struktur data yang diperlukan oleh suatu program untuk memanipulasi informasi dokumen-dokumen yang mendeskripsikan penggunaan suatu program.
Karakteristik Perangkat Lunak Menurut Pressman , ada beberapa karakteristik perangkat lunak yang membedakan dengan perangkat keras : Perangkat lunak adalah suatu produk yang lebih menekankan pada kegiatan rekayasa (engineering) dibandingkan kegiatan manufacturing (rancang bangun di pabrik). rumit. Perangkat lunak bukanlah produk yang dapat usang atau rusak untuk kemudian dibuang, seperti halnya produk perangkat keras Yang dapat terjadi adalah produk-produk perangkat lunak tersebut tidak dapat melayani beberapa kebutuhan yang dikehendaki pemakainya, disebabkan berkembangnya kebutuhan-kebutuhan baru. perlunya dilakukan perubahan- perubahan pada perangkat lunak tersebut
Lanjutan Most software is custom-built rather than being assembled from existing components Kebanyakan perangkat lunak tidak dibangun dari perangkat lunak-perangkat lunak yang sudah ada Pembangunan aplikasi baru kebanyakan dimulai dari awal, dari tahap analisis sampai tahap pengujian kini paradigma baru mulai dikembangkan, yaitu konsep reuseability
Lanjutan Reusability : Perangkat lunak dapat digunakan kembali untuk proyek pengembangan perangkat lunak di masa mendatang. Hal ini berfungsi untuk menghemat sumber daya dalam membangun perangkat lunak yang baru, memperpendek masa pengembangan perangkat lunak serta menyediakan perangkat lunak yang lebih berkualitas. Kualitas perangkat lunak akan lebih terjamin karena telah dilakukan pendeteksian kesalahan pada perangkat lunak aslinya. Ketika perangkat lunak memiliki kriteria ini maka dapat dikatakan bahwa perangkat lunak memenuhi faktor Reusability. Contoh : Aplikasi SAP dapat dikembangkan di proyek pengembangan software berikutnya untuk kebutuhan perusahaan.
Kualitas Perangkat Lunak Ukuran kualitas perangkat lunak dilihat dari atribut antara lain : Maintainability, yaitu tingkat kemudahan perangkat lunak tersebut dalam mengakomodasi perubahan-perubahan Independability, ketidakbergantungan perangkat lunak dengan elemen-elemen sistem lainnya atau sistem secara keseluruhan. Artinya kegagalan elemen lain tidak mempengaruhi performansi perangkat lunak Efficiency , menyangkut waktu eksekusi Useability , yaitu atribut yang menunjukkan tingkat kemudahan pengoperasian perangkat lunak
Perangkat Lunak terbagi menjadi 4 kategori : Operating Sistem (Sistem Operasi) Database Middleware Application
Sistem Operasi (OS) Sistem operasi merupakan bagian dari perangkat lunak yang berfungsi sebagai penghubung antara komponen hardware (perangkat keras) dengan aplikasi yang dijalankan diatasnya. Sistem operasi mengelola akses dari program-program ke memori utama, unit logika aritmatika, dan bagian- bagian lain dari perangkat keras.
Klasifikasi sistem operasi berdasarkan End-User Interface: Command Driven: seluruh perintah pada sistem operasi diketikkan pada prompt perintah atau dieksekusi melalui script file (misal: DOS, UNIX atau XENIX) Graphical User Interface (GUI): pengguna akhir menggunakan mouse atau alat penunjuk yang lain untuk memilih obyek yang mewakili suatu instruksi spesifik (misal: Windows 95, IBM –OS/2, MAC-OS)
Perkembangan Sistem Operasi Perkembangan sistem operasi banyak dipengaruhi oleh perkembangan perangkat keras terutama kemampuan dari prosesor. Maka pengelompokan sistem operasi berdasarkan lebar bit data yang bisa ditangani oleh prosesor, 8-bit, 16-bit, 32-bit Microsoft Windows NT, IBM OS/400, Sun Solaris 64-bit seperti DIGITAL UNIX, Open VMS, Windows 8
Database Secara definisi, basis data adalah koleksi data yang saling berhubungan dan memililiki arti dan terorganisir secara rapi. Data tersebut harus dapat diakses dengan urutan (order) yang berbeda-beda secara logikal dengan cara yang relatif mudah.
Middleware Dalam dunia teknologi informasi, terminologi middleware adalah istilah umum dalam pemrograman komputer yang digunakan untuk menyatukan, sebagai penghubung, ataupun untuk meningkatkan fungsi dari dua buah progaram/aplikasi yang telah ada. Perangkat lunak middleware adalah perangkat lunak yang terletak diantara program aplikasi dan pelayanan- pelayanan yang ada di sistim operasi.
Fungsi Middleware Menyediakan lingkungan pemrograman aplilasi sederhana yang menyembunyikan penggunaan secara detail pelayanan-pelayanan yang ada pada sistem operasi . Menyediakan lingkungan pemrograman aplikasi yang umum yang mencakup berbagai komputer dan sistim operasi. Mengisi kekurangan yang terdapat antara sistem operasi dengan aplikasi, seperti dalam hal: networking, security, database, user interface, dan system administration.
Applikasi Aplikasi perangkat lunak dapat dibedakan atas tiga katagori, yaitu : Personal Packaged Software, Workgroup Computing, Enterprise Applications.
Personal Packages Software Personal Packaged Software, adalah perangkat lunak yang diintegrasikan dg PC untuk kepentingan yang personal. Yang termasuk dalam katagori ini adalah sebagai berikut: Accounting, Communication, Desktop database, Desktop Publishing, Graphic/Draw and Paint, Graphics/presentation, Information Management, Games/Entertainment,
Workgroup Computing Berdasarkan Workgroup Computing, adalah perangkat lunak yang memiliki fungsi workgroup (kolaborasi) dalam suatu lingkungan kerja. Messaging system: Workgroup conferencing: Workgroup e-forms: Workgroup email: