Menu Bar

Friday, 24 April 2015

What is a Requirement?

Key Definitions :
  • The As-Is system is the current system and may or may not be computerized
  • The To-Be system is the new system that is based on updated requirements
  • The System Proposal is the key deliverable from the Analysis Phase

The goal of the analysis phase is to truly understand the requirements of the new system and develop a system that addresses them -- or decide a new system isn’t needed. The System Proposal is presented to the approval committee via a system walk-through. Systems analysis incorporates initial systems design. Requirements determination is the single most critical step of the entire SDLC.

Requirement is...

  • A statement of what the system must do 
  • A statement of characteristics the system must have
  • Focus is on business user needs during analysis phase
  • Requirements will change over time as project moves from analysis to design to implementation

Requirement Types :
- Functional Requirements
  • A process the system hast to perform
  • Information the system must contain
- Nonfunctional Requirements
  • Behavioral properties the system must have : Operational, Performance, Security, Cultural and political.
Documenting Requirements :
- Requirements definition report
  • Text document listing requirements in outline form
  • Priorities may be included
- Key purpose is to define the project scope: what is and is not to be included.

Basic Steps of Determining Requirements :
- Understand the “As-Is” system
- Identify improvement opportunities
- Develop the “To-Be” system concept
- Techniques vary in amount of change
  • Business Process Automation (BPA) – small change
  • Business Process Improvement (BPI) - moderate change 
  • Business Process Reengineering (BPR) – significant change
- Additional information gathering techniques are needed as well

Project Management

Project management is the process of planning and controlling the development of a system within a specified timeframe at a minimum cost with the right functionality. A project manager has the primary responsibility for managing the hundreds of tasks and roles that need to be carefully coordinated.
Four Key Steps in Managing Projects :
  • Identifying project size
  • Creating and managing the workplan
  • Staffing the project
  • Coordinating and controlling project activities
Identifying Project Size
Project Manager’s Balancing Act - Project Management involves making trade-offs…

Modifying one element requires adjusting the others.

Project Estimation
  • The process of assigning projected values for time and effort
  • Sources of estimates (Methodology in use, Actual previous projects, Experienced developers)
  • Estimates begin as a range and become more specific as the project progresses
Creating The Workplan
Identifying Tasks :
  • Methodology (Using standard list of tasks)
  • Top-down approach (Identify highest level tasks, Break them into increasingly smaller units, Organize into work breakdown structure)
List of all tasks in the work breakdown structure, plus :
  • Duration of task
  • Current task status
  • Task dependencies
  • Key milestone dates
Tracking Project Tasks :
  • Gantt Chart (Bar chart format, Useful to monitor project status at any point in time)
  • PERT Chart (Flowchart format, Illustrate task dependencies and critical path)
example :
  • Tracking Tasks Using Gantt Chart


  • Tracking Tasks Using PERT Chart



Staffing The Project
Staffing Attributes
  • Staffing levels will change over a project’s lifetime
  • Adding staff may add more overhead than additional labor
  • Using teams of 8-10 reporting in a hierarchical structure can reduce complexity
Controlling Project Activities
CASE Tools :
CASE Components :


Standards Examples :
  • Formal rules for naming files
  • Forms indicating goals reached
  • Programming guidelines
Documentation :
  • Project binder
  • Table of contents
  • Continual updating
Managing Risk :
  • Risk assessment
  • Actions to reduce risk
  • Revised assessment
Classic Mistakes :

  • Overly optimistic schedule
  • Failing to monitor schedule
  • Failing to update schedule
  • Adding people to a late project

Thursday, 23 April 2015

System Development Life Cycle

Many failed systems were abandoned because analysts tried to build wonderful systems without understanding the organization. The primarily goal is to create value for the organization. 
The systems analyst is a key person analyzing the business, identifying opportunities for improvement, and designing information systems to implement these ideas. It is important to understand and develop through practice the skills needed to successfully design and implement new information systems.

PROJECT PHASES
  • Planning (Why build the system? How should the team go about building it?)
  • Analysis (Who uses system, what will it do, where and when will the system be used?)
  • Design (How will the system work?)
  • Implementation (System delivery)
PROCESSES AND DELIVERABLES


Planning
  • Identifying business value
  • Analyze feasibility
  • Develop work plan
  • Staff the project
  • Control and direct project
Analysis
  • Analysis strategy
  • Gathering business requirements
  • Requirements definition use cases
  • Process modeling
  • Data modeling
Design
  • Design selection
  • Architecture design
  • Interface design
  • Data storage design
  • Program design
Implementation
  • Construction (Program building, Program and system testing)
  • Installation (Conversion strategy, Training plan, and Support plan)

Wednesday, 22 April 2015

Fungsi Dasar Sistem Komputer

Pada prinsipnya terdapat 4 fungsi dasar sistem komputer, yaitu :
  1. Fungsi Operasi Pengolahan Data (Data Processing)
  2. Fungsi Operasi Penyimpanan Data (Data Storage)
  3. Fungsi Operasi Pemindahan Data (Data Movement)
  4. Fungsi Operasi Kontrol (Control)
Penjelasannya :
  • Komputer harus dapat memproses data. Representasi data di sini bermacammacam, akan tetapi nantinya data harus disesuaikan dengan mesin pemrosesnya. Dalam pengolahan data,
  • Komputer memerlukan unit penyimpanan sehingga diperlukan suatu fungsi Penyimpanan data. Walaupun hasil komputer digunakan saat itu, setidaknya komputer memerlukan media penyimpanan untuk data prosesnya.
  • Dalam interaksi dengan dunia luar sebagai fungsi Pemindahan data diperlukan antarmuka (interface), proses ini dilakukan oleh unit Input/Output (I/O) dan perangkatnya disebut peripheral. Saat interaksi dengan perpindahan data yang jauh atau dari remote device, komputer melakukan proses komunikasi data. 
  • Fungsi Pengendalian juga dilakukan oleh komputer, baik pengendalian internal dalam komputer itu sendiri maupun pengendalian eksternal , yaitu pengendalian peralatan lain.
Adapun gambar diagram fungsi dasar sistem komputer dapat dilihat sebagai berikut :


Ada 4 bagian pada gambar diagram fungsi dasar sistem komputer, yang diantaranya adalah :
  1. Data Movement Apparatus merupakan  “interface” untuk pemindahan data
  2. Data Storage Facility merupakan unit penyimpan data
  3. Data Processing Facility merupakan unit untuk pemrosesan data
  4. Control Mechanism merupakan pengendali utama fungsi komputer


Adapun alur dari fungsi dasar sistem komputer tersebut ialah :

  • Data diambil dari Storage oleh Control 
  • Control memberikan ke bagian Processing untuk diolah
  • Hasil olahan pada bagian Processing kemudian disimpan kembali ke Storage sebagai sebuah “result”
  • Data diambil dari Data Movement Apparatus oleh Control 
  • Control memberikanya ke bagian Processing untuk diolah
  • Hasil olahan pada bagian Processing kemudian disimpan ke Storage sebagai sebuah “result”    Sebaliknya…… Data dari Storage diambil oleh control utk diolah, setelah itu hasilnya ke Data Movement Apparatus



  • Data dari Data Movement Apparatus dipindahkan oleh Control untuk di “save”  ke Memory Storage
  • Sebaliknya , data dari memory Storage dipindahkan oleh Control untuk di “write” ke Data Movement Apparatus

Data yang berasal dari Data Movement Apparatus oleh Control kemudian di kirim kembali ke bagian Data Movement Apparatus yang lain 

Konsep Arsitektur Komputer

Arsitektur Komputer adalah bagian yang lebih cenderung pada kajian atribut–atribut sistem komputer yang terkait dengan seorang programmer. Contohnya, set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O. Berikut ini merupakan struktur dan fungsi komputer :
Struktur
   adalah susunan yang menggambarkan hubungan antar komponen dalam sebuah sistem.
  Contoh
  - Sebuah komputer memiliki struktur CPU, Main Memory , I/O   dan Bus
  - Sebuah Magnetic Disk memiliki struktur alamat yang terdiri dari Track dan Sector .
Fungsi
    adalah operasi yang bisa dilakukan oleh komponen komponen sebuah sistem, Contoh:
  -Komputer memiliki fungsi Pemrosesan Data, Pemindahan Data, Penyimpanan Data dan Pengendalian.


Dari konsep arsitektur komputer terdapat empat struktur utama yaitu :

  1. Central Processing Unit (CPU), berfungsi sebagai pengontrol operasi komputer dan pusat pengolahan fungsi – fungsi komputer. 
  2. Main Memory , berfungsi sebagai penyimpan data.
  3. I/O, berfungsi memindahkan data dari/ke lingkungan luar atau perangkat lainnya.
  4. System Interconnection, berfungsi sebagai  sistem yang menghubungkan CPU, memori utama dan I/O.
Adapun diagram struktur dasar komputer dapat dilihat pada gambar berikut ini :



Sedangkan berikut ini penjelasan singkat CPU dan Control Unit dari konsep arsitektur komputer:

CPU - terdapat 3 bagian struktur dasar pada CPU yaitu :
  1. Control Unit, berfungsi untuk mengontrol operasi CPU dan mengontrol komputer secara keseluruhan.
  2. Arithmetic And Logic Unit (ALU), berfungsi untuk membentuk fungsi fungsi pengolahan data komputer.
  3. Register, berfungsi sebagai penyimpan internal bagi CPU.


Control Unit - terdapat 3 bagian pada control unit yaitu :
  1. Squencing Logic , adalah bagian yang berfungsi untuk menangani  sinyal-sinyal pengendali, seperti sinyal: Clock , Read/Write , Interrupt Request
  2. Register & Decoder, adalah bagian yang berfungsi untuk melakukan “decoding” atau penterjemahan sandi instruksi agar dapat segera di eksekusi.
  3. Control Memory adalah bagian yang digunakan oleh Control Unit untuk menyimpan parameter parameter pengendalian.

Tuesday, 17 February 2015

Tentang Waktu

Kalian tahu waktu? pernah melihatnya? menggenggamnya? merasakannya? tidak bukan? kenapa kita harus menunggu waktu untuk menjawab semuanya? apa kalian pernah berfikir kalau waktu tidak berpihak pada kalian? atau waktu sedang menguji kalian? atau mungkin waktu itu tidak ada? atau mungkin waktu yang diharapkan tak kunjung datang? atau waktu itu sudah lewat?

Monday, 30 September 2013

Perahu Kertas


Perahu kertasku kan melaju, membawa surat cinta bagimu. Kata-kata yang sedikit gila, tapi ini adanya. Perahu kertas mengingatkanku betapa ajaibnya hidup ini, mencari-cari tambatan hati. Kau sahabatku sendiri. Hidupkan lagi mimpi-mimpi (cinta-cinta) cita-cita, yang lama ku pendam sendiri. Berdua ku bisa percaya. Ku bahagia kau telah terlahir di dunia, dan kau ada di antara milyaran manusia. Dan ku bisa dengan radarku menemukanmu, tiada lagi yang mampu berdiri halangi rasaku cintaku padamu…
Maudy  Ayunda

Wednesday, 24 July 2013

"Seburuk apapun masalalu seseorang, masa depannya masih suci.."
Mario Teguh

Sunday, 23 June 2013

"Jangan ada yang mengganggu duniaku. Jangan pernah melihat masalaluku, ini aku sekarang. Apa adanya..."
Dyah Puteria Wati

Wednesday, 15 May 2013

"Kita tidak harus tahu orang lain butuh kita atau tidak, yang terpenting kita ada untuk mereka.."
Rêveur
"Tuhan, berilah aku ketenangan untuk dapat menerima hal-hal yang tidak dapat diubah, keberanian untuk mengubah hal-hal yang bisa diubah, dan kebijaksanaan untuk mengetahui perbedaanya.."
Reinhold Niebuhr
"Waktu terlalu lambat bagi mereka yang menunggu, terlalu cepat bagi mereka yang takut, terlalu lama bagi mereka yang berduka, terlalu pendek bagi mereka yang bersukacita, tetapi bagi mereka yang mengasihi, waktu itu adalah keabadian.."
Henry Van Dyke

Monday, 28 January 2013

Sunday, 20 January 2013

"Terkadang sesuatu yang kita harapkan itu tidak sesuai, tapi justru dia adalah yang terbaik diantara yang lain.."
Skay Nugraha

Friday, 18 January 2013

Volume Testing

   Volume testing atau pengujian volume termasuk kedalam non-fungsional test, yang sering digunakan secara bergantian. Dimana pengujian volume ini mengacu kepada pengujian aplikasi perangkat lunak dengan sejumlah data. Jumlah data yang didapat bisa di generic menjadi ukuran database atau bisa juga menjadi file interface yang merupakan subject untuk pengujian volume. Contoh yang dapat kita ambil jika seandainya ingin menguji aplikasi dengan ukuran database tertentu, maka kita akan memperluas database ke ukuran tersebut dan kemudian menguji kinerja aplikasi yang ada diatasnya. Contoh lain ketika terdapat persyaratan untuk aplikasi untuk berinteraksi dengan file interface (dapat berupa file seperti dat, xml, dsb.) interaksi ini mampu membaca dan / atau menulis ke / dari file. Dimana kita akan membuat file sampel ukuran yang di inginkan dan kemudian menguji fungsionalitas aplikasi dengan file tersebut untuk mengetahui kinerjanya. 
 Adapun tujuan dari pengujian volume diantaranya mencari permasalahan dengan memaksimalkan jumlah data dan menggunakan sistem kinerja yang sering digunakan untuk mengurangi besarnya data yang harus dicari, diperintahkan dan lain-lain. Pengujian prosedur pada volume testing diantaranya sistem sistem yang dijalankan dengan jumlah yang maksimum,dengan menggunakan table internal, database, file, dan lain-lain dengan syarat hardisk yang maksimal. Data yang dibutuhkan dengan panjang inputan eksternal yang maksimal, serta fungsi-fungsi penting dimana volume data dapat menyebabkan suatu masalah. 
  Hasil yang di inginkan dari volume testing yaitu tidak adanya masalah, tidak adanya penurunan kinerja yang signifikan, dan data tidak ada yang hilang. Adapum beberapa pertimbangan saat melakuakan pengujian volume diantaranya : 
  • Data yang mungkin perlu analisis profil penggunaan dan mungkin tidak sepele (sama pada Stress testing) 
  • Mengcopy data produksi 
  • Menggunakan data atau alat ekstraksi 
  • Mengetahui bahwa variasi data sangatlah penting 
  • Mengetahui memori fragmentasi sangatlah penting 
Pengujian volume harus memeriksa apakah ada permasalahan ketika menjalankan sistem yang sedang di uji dengan jumlah data yang realistis, atau bahkan yang maksimal ataupun melebihi. Pengujian volume diperlukan seperti pengujian fungsi seperti yang lainnya namun pengujian fungsi lain biasanya tidak menggunakan data dalam jumlah besar, berbeda dengan pengujian volume karena memerlukan data yang maksimal. 
  Sebuah tugas khusus pada pengujian volume yaitu memeriksa jumlah maksimum yang sesungguhnya dari data tersebut, yang mungkin dalam situasi yang sangat ekstrim. Misalnya pengolahan data pada hari besar yang harus dilakukan saat tahun baru, kampanye, waktu tenggang pajak, bencana dan lain-lain. Masalah yang sering dihadapi pun sangat beragam diantaranya hardisk yang penuh, dari database, file, buffer, counter yang dapat menyebabkan meluap. Maksimalnya jumlah data komuniasi juga menjadi perhatian pada pengujian volume. 
  Bagian dari pengujian volume adalah untuk menjalankan sistem selama beberapa waktu tertentu dengan banyak data. Hal ini dalam rangka untuk memeriksa apa yang terjadi pada buffer sementara dan untuk memeriksa timeout karena waktu yang lama pada saat mengakses. Salah satu varian utama dari test ini menggunakan volume rendah, seperti menggunakan database atau file yang kosong, mail yang kosong, tidak ada link dan lain-lain, sehingga beberapa program tidak dapat menangani ini dengan baik. Salah satu varian terakhir adalah mengukur berapa banyak ruang yang dibutuhkan oleh sebuah program. Hal yang terpenting jika program berbagi sumberdaya dengan yang lain. Semua program yang diambil bersama-sama tidak boleh menggunakan sumberdaya yang tersedia secara berlebihan. Misalnya Sistem Online : masukan cepat, tetapi belum tentu yang tercepat, dari inputan yang berbeda saluran. Hal ini dilakukan beberapa waktu untuk memeriksa apakah buffer yang sementara cenderung overflow atau mengisi, jika waktu eksistensi sedang menurun. Dengan memperhatikan saat membuat, memperbaharui, membaca, dan menghapus operasi. Hal terpenting tersebut diantaranya: 
  • Sistem database, database yang dijalankan harus sesuai dengan maksimalnya jumlah kasus. Pekerjaan yang dilakukan dengan sejumlah transaksi yang cukup besar, misalnya dimana sesuatu yang harus dilakukan untuk semua objek dalam database. Untuk menghasilkan pencarian yang kompleks maka harus memilah-milah dari banyaknya table, dengan banyaknya field yang terkait dengan objek lain, dan untuk jumlah maksimum objek tersebut yang kemungkinan besar pada nomor hasil penjumlahan. 
  • Pertukaran file, terutama file yang sudah lama. Dan memiliki penjang maksimal. Lebih lama dari panjang maksimum yang biasanya terdapat dalam nilai protocol komunikasi. Misalnya untuk protocol yang tidak di dukung oleh protocol mail. Dan juga banyaknya file, bahkan dengan kombinasi yang cikup besar. File pada email dengan jumlah yang maksimal, penjangnya file yang memungkinkan dapat masuknya buffer yang melimpah atau memicu timeout. Besar dan panjangnya timeout tripper merupakan hal yang umum pada komunikasi. 
  • Disk space, mencoba mengisi ruang disk dimana-mana agar ada backup. Periksa apa yang terjadi jika tidak ruang sebelah kiri yang lebih banyak dan bahkan data yang berlebih yang dimasukkan ke dalam sistem. 
  • File system, nomor maksimal file untuk file sistem dan / atau panjang maksimum. 
  • Memori internal, minimum jumlah memori yang tersedia (terpasang). Banyaknya program yang dibuka pada saat bersamaan, setidaknya pada platform klien. 
Adapun poin-poin umum pada pengujian volume adalah : 
  • Periksa pesan kesalahan dan peringatan, jika yang dimaksud untuk permasalahan volume, dan jika membantu dan dimengerti. 
  • Apakah ada data yag hilang? 
  • Apakah terlalu banyak sistem yang lambat? 
  • Apakah terjadi timeout? Dalam kegagalan kasus mungkin saja bisa terjadi. 
  • Jika terlihat berjalan dengan baik, data, file akhir, field, table apa semua sudah benar? 
  • Apakah data yang tersimpan salah? 
  • Apakah data yang hilang atau yang ditulis tersebut tanpa peringatan? 
Jika mengambil definisi di atas. Hal ini tentu saja di bawah non-fungsional persyaratan pengujian & pengujian kinerja. tes volume dapat (& harus) digunakan dalam pengujian komponen. Ini akan menjadi korelasi yang erat dengan kode, sehingga pada tingkat ini dapat dihubungkan ke Analisis Dinamis. Volume tes juga dilakukan (secara umum) sebagai bagian dari pengujian penerimaan oleh pengguna. Dan dapat terlihat jelas pengujian volume erat kaitannya dengan stress testing, seperti mencoba untuk mencari tahu bagaimana program akan berperilaku melampaui batas mereka ditentukan. 
  Adapun kelemahan yang ditemukan melalui tes Volume adalah jika mereka yang menggunakan program menyimpang dari yang diharapkan untuk informasi volume tertentu. Dengan demikian, teknik perbankan akan diuji untuk kesalahan dalam volume yang jauh lebih besar dari informasi, bahwa program ritel kecil. Sebuah kantong yang hanya memanifestasikan dirinya di atas meja dengan satu juta catatan tidak relevan dengan program ritel, namun akan dijemput oleh penguji dari bank. Informasi yang dapat dipercaya tentang bagaimana program akan berperilaku sangat penting. Selama banyak booming dotcom web-situs yang diluncurkan tanpa mengetahui apa efek akan bahwa backend database tumbuh secara eksponensial. Dari hal tersebut biasanya akan terdapat banyaknya kecelakaan yang tidak diharapkan. 
  Masalah yang ada pada saat pengujian volume ialah : 
  • Menghasilkan fragmentasi memori cukup sulit 
  • Relational integritas data yang dihasilkan 
  • Kunci dinamis 
  • Data harus mengikuti profil users 
Pihak yang terkait dalam pengujian volume diantaranya developer dan seluruh pelanggan serta users setelah semua selesai dilakukan pengujian volume, Test dapat outsourcing ke laboratoriim pengujian yang mengkhususkan kedalam pengujian kinerja. 
   Adapun yang terpenting adalah bahwa tes yang akan dijalankan, pada beban puncak, untuk jangka waktu yang sama dengan atau lebih besar dari durasi produksi yang diharapkan dari beban puncak. 

Kesimpulan 
Volume testing (pengujian volume) dilakukan terhadap efisiensi di aplikasi. Jumlah data yang besar di proses melalui aplikasi (yang sedang di uji) untuk memeriksa keterbatasan ekstrem dari sistem. Pengujian sebuah sistem (software atau hardware) untuk serangkaian pengujian dengan volume data yang diproses adalah subjek dari pengujian, seperti sistem yang dapat menangkap sistem pengolahan transaksi penjualan real-time atau dapat memperbaharui basis data atau pengembalian data (data retrieval). Pengujian volume akan memastikan batas-batas fisik dan logis untuk sebuah kapasitas sistem dan memastikan apakah batasan dapat diterima untuk memenuhi proyeksi kapasitas dari pengolahan bisnis organisasi.

Sumber:
http://testinglink.in/topics/what-is-volume-testing
http://www.onestoptesting.com/volume-testing/
http://www.loadtest.com.au/types_of_tests/volume_tests.html

Installation Testing

   Installation Testing merupakan jenis pekerjaan jaminan kualitas dalam suatu industry perangkat lunak yang berfokus pada apa yang pelanggan perlu lakukan untuk menginstal dan mengatur perangkat lunak yang baru berhasil dibuat. Proses pengujian mungkin penuh, sebagian atau upgrade install / proses uninstall. 
  Test ini biasanya dilakukan oleh para Insinyur pengujian perangkat lunakdalam hubungannya dengan menajer konfigurasi. Pelaksanaan pengujian biasanya disefinisikan sebagai pengujian yang menempatkan versi di kompilasi kode ke dalam pengujian atau lingkungan pra-produksi, dari yang mungkin atau tidak mungkin tidak mungkin berkembang ke dalam produksi. Ini umumnya terjadi diluar lingkungan developer perangkat lunak untuk membatasi korupsi kode dari rilis masa depan lainnya yang mungkin berada pada jaringan pembangunan. 
   Pendekatan instalasi sederhana adalah dengan menjalankan program instalasi, kadang-kadang disebut paket perangkat lunak. Paket perangkat lunak ini biasanya menggunakan program setup yang bertindak sebagai pembungkus multi-konfigurasi dan yang memungkinkan perangkat lunak yang akan diinstal pada berbagai mesin dan / atau lingkungan operasi. Setiap konfigurasi yang mungkin harus menerima tingkat yang tepat dari pengujian sehingga dapat dilepaskan kepada pelanggan dengan percaya diri. 
   Dalam sistem terdistribusi, terutama di mana perangkat lunak yang akan dilepaskan ke lingkungan target sudah hidup (seperti situs operasional) instalasi (atau perangkat lunak penyebaran seperti yang kadang-kadang disebut) dapat melibatkan perubahan skema database serta instalasi software baru. Deployment rencana dalam keadaan seperti itu dapat mencakup kembali-out prosedur yang penggunaannya ditujukan untuk memutar kembali lingkungan target jika penyebaran tidak berhasil. Idealnya, rencana penyebaran itu sendiri harus diuji dalam suatu lingkungan yang merupakan replika dari lingkungan hidup. Faktor yang dapat meningkatkan kebutuhan organisasi seperti latihan adalah kebutuhan untuk menyinkronkan data dalam lingkungan deployment pengujian dengan bahwa dalam lingkungan hidup dengan gangguan minimal untuk hidup operasi. 
   Jenis implementasi dapat mencakup pengujian proses yang terjadi selama installasi atau upgrade dari aplikasi multi-tier. Jenis pengujian umumnya dibandingkan dengan gladi resik atau bahkan bisa disebut dengan “dry run”. 
  Pada saat Installation test ada beberapa factor yang mempengaruhi tahapan test, diantaranya : 
  • Apa platform dan sistem operasi yang mendukung ? 
  • Bagaimana mendistribusikan perangkat lunaknya ? 
  • Installasi testing untuk platform yang berbeda 
  • Proses menginstall dapat berbeda untuk platform yang berbeda, ini bisa jadi untuk GUI Windows atau barisan perintah biasa untuk Unix Box.  
Hal utama yang harus dicari adalah file config yang digunakan untuk installasi. Setiap perubahan yang dibuat pada file konfigurasi harus memiliki efek yang tepat pada setiap instalasi. Installasi bergantung pada beberapa komponen lain seperti database, server dan lain-lain. Setiap kasus yang di uji harus dicatat secara khusus untuk mengatasi hal ini. 
   Adapun beberapa kasus yang sering terjadi pada saat proses installasi diantaranya adalah memory yang tidak cukup, ruangan installasi, yang sebagian besar ditutupi oleh bagian pengujian. 
   Insinyur pengujian harus memastikan bahwa pesan yang tepat diberikan kepada pengguna dan installasi dapat terus memenuhi memory dan ruangan. Insinyur pengujian harus akrab dengan teknologi installer dan jika memang memungkinkan maka mencoba untuk mengeksplorasi cacat yang ada atau pembatasan intaller itu sendiri. 
   Kasus khusus harus ditulis bagaimana perangkat lunak di distribusikan, diantaranya jika perangkat lunak didistribusikan menggunakan format CD fisik maka kegiatan pengujian harus mencakup hal-hal berikut : 
  • Uji kasus yang harus di eksekusi dari gambaran ISO, karena jika mendapatkan CD fisik tidak mungkin 
  • Uji kasus harus ada untuk memerikas urutan CD yang digunakan 
  • Uji kasus harus ada untuk penanganan CD yang rusak atau gambar. 
Jika kasus uji didistribusikan melalui internet, maka yang harus di perhatikan dalam kasus pengujian tersebut ialah : 
  • Jaringan kecepatannya yang buruk dan koneksi yang rusak 
  • Firewall dan keamanan yang terkait 
  • Ukuran dan perkiraan waktu yang dibutuhkan 
  • Concurrent Installation / Download 
Kesimpulan 
Installation testing adalah salah satu bagian terpenting dari kegiatan testing (pengujian). Installasi adalah interaksi pertama user dengan menggunakan produk, dan sangat penting untuk memastikan bahwa user tidak memiliki permaslahan dalam menginstal perangkat lunak.

Sumber :

Monday, 14 January 2013

Dream Light

Berikan aku cahayamu.
Disetiap gelapnya kehidupan yang sedang aku tapaki,
selangkah demi selangkah.
Aku mulai rapuh,
tanpa cahayamu aku tak mampu.
Cahaya yang selalu memberiku harapan,
tetaplah menjadi cahaya harapanku.
Jangan melebur, cahaya harapanku.
Mimpiku, cahaya harapanku.
Setiap saat aku selalu berharap.
Bisa menggenggam erat harapan.
Mimpiku, cahaya harapanku.
Jangan pernah tinggalkan aku dalam gelapnya kehidupan. 
Bersama cahaya harapanku, mimpiku.

"Kekayaan itu tidak dilihat dari apa yang kita miliki sekarang, tapi dari hati"
Rêveur

Sunday, 2 December 2012

Performance Testing

Definisi 
      Performance Testing merupakan proses menentukan kecepatan atau efektivitas, jaringan program computer, perangkat lunak atau perangkat. Proses ini dapat melibatkan test kuantitatif yang dilakukan di laboratorium, seperti mengukur waktu respon atau jumlah MIPS (Millions of Intructions per Second) pada fungsi sistem. Atribut kualitatif seperti kehandalan, skalabilitas dan interoperabilitas juga dapat dievaluasi. Performance Testing sering dilakukan dalam hubungannya dengan stress testing.
Performance Testing dapat memverifikasi bahwa sistem memenuhi spesifikasi diklaim oleh produsen atau vendor. Proses ini dapat membandingkan dua atau lebih perangkat atau program dalam hal parameter seperti kecepatan, kecepatan transfer data, bandwidth, throughput, efisiensi atau keandalan. 
Performance Testing juga dapat digunakan sebagai alat bantu diagnostik dalam menemukan kemacetan komunikasi. Seringkali sistem akan bekerja jauh lebih baik jika masalah ini diselesaikan di satu titik atau dalam komponen tunggal. Misalnya, bahkan komputer tercepat akan berfungsi buruk di Web hari ini jika koneksi terjadi di hanya 40 sampai 50 Kbps (kilobit per detik). Lambatnya kecepatan transfer mungkin dapat juga disebabkan pada hardware, tetapi juga dapat berhubungan dengan masalah perangkat lunak, seperti : 
  • Terlalu banyak aplikasi yang berjalan pada waktu yang sama 
  • Sebuah file yang rusak pada WEB browser 
  • Adanya eksploitasi keamanan 
  • Perangkat lunak Anti-virus 
  • Adanya malware aktif pada harddisk 
Performance Testing yang efektif dapat dengan cepat mengidentifikasi masalah kinerja perangkat lunak yang terkait.

Metode 
Pada performance testing ada dua metode yang digunakan, diantaranya : 
1. Plannig Session 
  • Pentingnya user (pengguna), tasks dan lingkungan yang ada untuk mewakili pengujian dari konteks penggunaan yang dimaksudkan. 
  • Memilih tugas yang terpenting dan kelompok pengguna yang akan di uji (misalnya yang sering dan yang peling penting). 
  • Memilih pengguna yang dapat mewakili masing-masing kelompok pengguna. 3 – 5 pengguna yang cukup untuk mengidentifikasi masalah. 8 atau lebih pengguna masing-masing tipe yang diperlukan untuk pengukuran kehandalan. 
  • Dari planning tersebut maka dapat menghasilkan scenario tugas dan input data serta petunjuk penulisan bagi pengguna (yang memberitahu pengguna apa yang harus dicapai, bukan bagaimana melakukannya). 
  • Dengan adanya planning session dapat memungkinkan adanya waktu untuk memeberikan instruksi, menjalankan test, menjawab kuisioner dan wawancara pasca test. 
  • Mengundang depelover untuk mengamati sesi jika memang memungkinkan. Alternatifnya untuk merekam sesi dan depelover dapat menunjukan masalah yang ada pada users. 
  • Dua administrator biasanya dibutuhkan untuk berbagi kegitan mengajar dan wawancara pengguna, peralatan video operas(jika memang digunakan), mencatat masalah, dan berbicara kepada setiap pengamat. 
  • Bila memungkinkan dapat menggunakan satu ruangan untuk pengujian, dihubungkan oleh video ke ruangan lain untuk observasi. 
  • Jika langkah-langkah kebutuhan diperlukan, amati user tanpa harus membuat komentar. 
  • Jika langkah ini tidak diperlukan, user akan meminta untuk menjelaskan interpretasi mereka dari masing-masing isi layar dan mereka akan meminta untuk membuat pilihan. 
2. Running Session 
  • Bersifat ramah kepada user, dan memberikan intruksi tugas yang jelas. 
  • Jangan memberikan petunjuk atau bantuan kecuali jika user tudak dapat menyelesaikan tugasnya. 
  • Amati setiap interaksi dan mencatat permasalahan yang dihadapi. 
  • Mengatur waktu penugasan 
  • Pada akhir sesi meminta user untuk mengisi kuisoner berapa puasnya mereka. 
  • Mewawancara user untuk mengkonfirmasi mereka adalah wakil dari kelompok pengguna yang dituju untuk mendapatkan pendapat umum, dan untuk bertanya tentang masalah-masalah spesifik yang dihadapi. 
  • Menilai hasil dari tugas untuk akurasi dan kelengkapan. 
Types
  1. Load Testing (pengujian beban) merupakan bentuk sederhana dari performance testing. Load testing biasanya dilakukan untuk memahami perilaku sistem agar sesuai dengan yang diharapkan. Pada load testing dapat menjadi patokan yang diharapkan user pada aplikasi untuk melakukan transaksi tertentu dalam suatu set durasi waktu. Test ini akan memberikan waktu respon dari semua transaksi bisnis yang penting. Jika umumnya database, server dan lain-lain juga dipantau maka test sederhana ini dapat menuju kearah aplikasi perangkat lunak yang macet dengan sendirinya. 
  2. Stress Testing biasanya digunakan untuk memahami batas kapasitas dalam sistem. Jenis test ini dilakukan untuk mengetahui ketahanan sistem dalam beban yang ekstrim dan membantu administrator untuk menentukan apakah sistem akan berjalan dengan baik jika arus beban diatas maksimum yang diharapkan. 
  3. Endurance Testing (soak testing / pengujian daya tahan) biasanya dilakukan untuk menentukan apakah sistem dapat dipertahankan dari beban secara terus menerus. Selama test daya tahan,penggunaan memori dipantau untuk mendeteksi kebocoran potensial. Namun sering sekali penurunan kinerja tidak diperhatikan. Artinya untuk memastikan waktu respon yang baik adalah saat kegiatan berlangsung daripada di awal pengujian. Yang pada dasarnya melibatkan penerapan beban yang signifikan terhadap kinerja sistem untuk jangka panjang. Tujuannya adalah untuk menemukan bagaimana sistem berprilaku pada saat penggunaan berkelanjutan.  
  4. Spike Testing dilakukan secara tiba-tiba meningkatkan jumlah atau beban yang dihasilkan oleh user dengan jumlah yang sangat besar dan mengamati perilaku sistem. Tujuannya adalah menentukan apakah kinerja akan rusak, sistem akan gagal, atau akan mampu menangani perubahan dramatis pada beban. 
  5. Configuration Testing dilakukan untuk menentukan dampak dari perubahan konfigurasi untuk komponen kinerja dan perilaku sistem. Contoh umum dalam bereksperimen dengan metode yang berbeda dari load- balancing.  
  6. Isolation Testing merupakan test yang tidak unik untuk suatu pengujian kinerja, tetapi melibatkan pengulangan dalam pelaksanaan test yang mengakibatkan masalah sistem. Sehingga Isolation testing sering digunakan untuk mengisolasi dan mengkonfirmasi kesalahan domain. 
Output 
Performance Testing menghasilkan daftar masalah users, yang dikategorikan sangat penting untuk memilih peramsalahan yang ada (use post-it-notes to sort the problems), dan gambaran tentang jenis masalah yang dihadapi. Mengatur pertemuan dengan Project Manager dan Depelover untuk membahas apakah dan bagaimana setiap masalah bisa diperbaiki. Jika langkah-langkah telah diambil, maka saatnya untuk merangkum kuisioner kepuasan user, pembagian waktu tugas dan efektifitas (akurasi kelengkapan) tindakan. Jika yang diperlukan sudah lengkap, Common Industry Format menyediakan struktur yang baik.  

Benefits 
Masalah utama user yang mungkin di identifikasi dan kurang di ungkapkan pada saat pengujian formal, missal masalah yang berkaitan dengan keterampilan khusus dan harapan users. Tidakan dapat di peroleh untuk efektivitas users dan kepuasan users. 

Kesimpulan 
Performance Testing merupakan evaluasi users dengan sistem yang ketat dibawah kondisi yang sangat realistis, untuk mengidentifikasi permasalahan user dan membandingkan langkah-langkah seperti tingkat keberhasilan, waktu penugasan dan kepuasan user dengan persyaratan.

Sumber : 
http://www.onestoptesting.com/performance-testing/
http://en.wikipedia.org/wiki/software_performance_testing/

Tuesday, 13 November 2012

Model Bisnis Umum E-Commerce

Didalam bisnis E-Commerce terdapat beberapa Model Bisnis Umum, diantaranya :
  1.             Direct to customer, yaitu melakukan penjualan melalui hubungan yang terjalin secara langsung antara perusahaan dengan pelanggannya
  2.             Full-service Provider, yaitu menyediakan berbagai fasilitas dan jasa (sumber daya) yang dibutuhkan oleh perusahaan lain dalam menjalankan operasi bisnisnya
  3.            Whole of Enteprise, yaitu menawarkan fasilitas satu pintu (single point of contact) kepada pelanggan yang membutuhkan pelayanan tertentu yang melibatkan banyak pihak (perusahaan)
  4.             Intermediaries, yaitu menjadi perantara (broker) dari berbagai jenis keperluan (berdasarkan data, informasi, segemen industri, komunitas, dsb)
  5.             Shared Infrastructure, yaitu menawarkan penyewaan terhadap berbagai infrastruktur teknologi informasi, meliputi database, aplikasi, perangkat keras, dan jaringan
  6.          Virtual Community, yaitu memanfaatkan komunitas yang ada di dunia maya untuk berbagai keperluan seperti penawaran berbagai produk dan jasa digital
  7.          Value Net Integrator, yaitu mengintegrasikan berbagai entiti atau sumber daya yang ada di internet agar produk-produk atau jasa-jasa baru yang belum pernah ada sebelumnya dapat ditawarkan kepada padar dan calon pelanggan
  8.          Content Provider, yaitu menawarkan pelayanan pembentukan dan distribusi data, informasi, knowledge(content) yang bernilai tinggi kepada pelanggan
  9.          InfoMediary, yaitu kemampuan dalam menyampaikan dan mendapatkan informasi secara cepat dengan adanya virtual community
  10.          Procurement, yaitu menawarkan jasa dalam mengurangi cost diantaranya yang berkaitan dengan biaya penyimpanan barang(inventory cost) dan biaya administrasi (overhead)
  11.          Lelang (Auction), yaitu penawaran barang dalam model lelang yang jika si penawar tertinggi yang bisa mendapatkan produk yang diinginkan
  12.          Brokerage, yaitu menawarkan jasa perantara dalam menghubungkan calon pembeli (customer) dengan pedagang (merchants)
  13.          Affiliate marketing, pengaturan dimana sebuah mitra pemasaran (perusahaan, organisasi atau individu) yang merujuk konsumen pada Web Site tertentu
  14.          Viral marketing, pemasaran mulut ke mulut dimana konsumen mempromosikan sebuah produk atau jasa kepada teman atau orang lain melalui internet.

Adapun pihak-pihak yang terlibat dalam E-Commerce, yaitu :

  1.          Members, yang merupakan domain calon konsumen maupun pelanggan tetap dari perusahaan
  2.          Content Partners, yang merupakan domain perusahaan yang memasok berbagai informasi berharga (valuable contents) yang secara langsusng maupuan tidak langsung berpengaruh terhadap proses peciptaan produk atau jasa di dunia maya
  3.          Merchants, yang merupakan domain pedagang, pemilik, atau pemasok produk atau jasa yang ditawarkan oleh perusahaan
  4.          Advertiser, yang merupakan domain entitas yang ingin memanfaatkan situs perusahaan sebagai sarana untuk pemasaran (marketing).