Jumat, 20 Juni 2014

Software Testing

SOFTWARE TESTING
OVERVIEW AND FUNDAMENTAL

  A. Basic Knowledge Software Development
            Testing dan implementasi sistem merupakan bagian dari SDLC (system Development Life Cycle). SDLC (System Development Life Cycle) atau siklus hidup pengembangan sistem adalah metodologi umum dalam siklus pengembangan sistem, dan merupakan penyusunan suatu sistem yang baru untuk menggantikan sistem yang lama dengan atau memperbaiki sistem yang sudah ada.


            SLDC (System Development Life Cycle) adalah pola yang dibuat dalam mengembangkan sistem perangkat lunak, yang terdiri dari beberapa tahap yaitu: Tahap Inisiasi (Initiation Phase), Tahap desain (Design Phase), Tahap Implementasi  (Implementation Phase),  transition phase dan control phase. Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak.


     1. Initiation Phase
      Tahap ini adalah tahap pengumpulan informasi sebanyak-banyaknya dan sedetail-detailnya yang terkait dengan  requirement client maupun proses bisnis yang terjadi dalam aplikasi serta tahap kesepakatan dalam penentuan jadwal proyek (schedule) dan harga software aplikasi.
      2. Design Phase
     Tahap ini adalalah tahap pembuatan diagram-diagram seperti class, activity, maupun sequence diagram, DFD dan juga ERD dari sistem yang akan dikembangkan. Selain itu pada tahap ini juga dibuat pemodelan database dan juga interface dari sistem.
     3. Implementation Phase
    Tahap implementsi terdiri dari sebagai berikut
·   Design : User Requirement, screen.
·   Development : coding and execution
              Pada fase ini programmer mulai melakukan coding sesuai dengan informasi yang dihasilkan dari fase desain dengan bahasa pemrograman yang sudah ditentukan.
·   Testing : unit test, system test, integration test, user acceptance test (UAT)
               Tujuan utama dari fase ini adalah mencari error atau bug sebanyak-banyaknya dari program yang sudah dikembangkan dengan harapan aplikasi yang diserahkan kepada client sudah terjamin bebas eror dan proses bisnis yang diharapkan juga benar-benar tercapai. Beberapa metode yang umum digunakan adalah Black Box and White box.
·   Implement : Preparation, Go – Live, support so on
      4. Transition Phase
      Setelah sistem yang sudah dianggap lulus dari tahap testing akan diserahkan ke pihak client yang juga akan melakukan pengecekan sistem (user acceptance test), terkait dengan pengoperasian aplikasi.
      5.    Control Phase
        Tahap ini adalah tahap terakhir yang biasanya ada didalam SDLC. Pada fase ini, aplikasi sudah berjalan di pihak client. Jadi tahap pengontrolan dilakukan oleh tim maintenance pihak client selama masa garansi sudah habis.

             B. Testing Based on Practice
·         Unit Test
Unit test merupakan proses pengujian properties secara detail pada setiap sifat, fungsi dasar, aliran data layar dan lain-lain. Contohnya: Seorang tester itu harus mengetes secara keseluruhan mulai dari pengecekan form data pribadi apakah sudah betul dan juga menguji apakah fungsi tombol, fungsi penyimpanan dan fungsi lainnya sudah berjalan dengan baik atau belum.
·         System Test    
System Test merupakan proses pengujian secara detail mengenai aliran bisnisnya, fungsi utama dan fungsi pola pikir si pengguna akhir mengenai sistem atau aplikasi yang sedang dibangun. Contohnya: Entity Relationship Diagram (ERD) each function such as 1 to many, flow process, so on.
·         Integration Test
Integration test merupakan proses yang menguji mengenai hubungan sistem dengan sistem atau aplikasi lain. Contohnya: sebuah online shop pasti akan terintegrasi dengan bank untuk sistem pembayarannya.
·         User Acceptance Test
User acceptance test merupakan pengujian yang dilakukan oleh pengguna akhir (end user). Pada tahap ini si end user melakukan pengecekan secara langsung  dari fungsi- fungsi aplikasi, bagaimana cara mengoperasikan aplikasi tersebut serta aliran bisnisnya dll. Tahap testing ini dilakukan untuk menstimulasi penggunaan nyata dari suatu aplikasi pada lingkungan yang sebenarnya. Contohnya si vendor pengembang aplikasi akan meminta end user untuk melakukan pengecekkan terhadap aplikasi yang sedang dibangunnya sebelum sistem tersebut diterapkan.

            C.  Implantation of System Based on Practice
·               Preparation: Go-Live check List
Pada tahap persiapan ini dilakukan pengecekan satu per satu semua tugas yang diperlukan sebelum Go – Live seperti mempersiapkan server, buku manual, aliran pendukung, rencana  terhadap kemungkinan yang terjadi (contingency plan) dll.
·               Go-Live Judgement
Mendengarkan keputusan dari project Manager dan owner untuk jadi mengaktifkan atau tidak (go – live or not) sistem tersebut berdasarkan pada tahap persiapan  tepatnya kelengkapan semua tugas sebelum Go – Live.
·               Post Go-Live Support
Meluncurkan aplikasi baru termasuk  dukungan oleh “front end” dan “back end”.
·                Closing
Melakukan prosedur penutupan proyek (sign off project closed).
·               Handover to Maintenance
Tahap ini dilakukannya transfer pengetahuan dari “Tim Proyek” developer kepada tim maintenance pengguna sistem.

           D.    Source
     Modul Mata kuliah testing dan implementasi sistem, Mohammad Lili

Tidak ada komentar:

Posting Komentar