Silabus dan Pendahuluan
Pertemuan 1
Matakuliah : M0232/Testing dan Implementasi Sistem
Tujuan Instruksional Umum
• Mahasiswa akan dapat menerangkan peranan
tahap pengujian dan tahap implementasi pada rangkaian siklus hidup pengembangan sistem perangkat lunak. (C2)
• Mahasiswa akan dapat menghasilkan perencanaan pengujian (test plan) suatu proyek pengujian
perangkat lunak. (C3)
• Mahasiswa akan dapat menyimpulkan hasil proses pengujian yang dilakukan. (C6)
• Mahasiswa akan dapat mendesain laboratorium pengujian. (C6)
BUKU WAJIB
• Black, Rex. (2002). Managing The Testing Process. 2st
Referensi Lainnya
• www.rexblackconsulting.comTopik Bahasan
1. Pendahuluan & Dasar2 Pengujian Software (Introduction &
Ch. 1) – Pert. 1
2. Kualitas Perangkat Lunak (Ch. 1) – Pert. 2 & 3
3. Test Plan (Ch. 2) – Pert. 4
4. Test System Architecture, Cases, & Coverage (Ch. 3) – Pert.
5
5. The Bug Tracking Databases (Ch. 4) – Pertemuan 6 & 7
6. Test Tracking Spreadsheet (Ch. 5) – Pert. 8
7. Managing the Dynamic (Ch. 6) - Pert. 9
8. Stocking & Managing a Test Lab. (Ch.7) – Pert. 10
8. Stafng & Managing Test Team (Ch. 8) – Pert. 11
9. Organizational Challenges for Test Manager (Ch. 9) – Pert.
TIK
• Mahasiswa akan dapat mendefnisikan pengertian
pengujian dan implementasi perangkat lunak. (C1) TIK-1 • Mahasiswa akan dapat menerangkan peranan tahap
pengujian dan implementasi dalam siklus hidup pengembangan sistem perangkat lunak. (C2) TIK-2 • Mahasiswa akan dapat menjelaskan pentingnya
pengelolaan proses pengujian. (C2) TIK-3
• Mahasiswa akan dapat menyebutkan sumber daya dan alat-alat bantu yang diperlukan untuk mengelola dan melaksanakan proses pengujian. (C1) TIK-4
• Mahasiswa akan dapat menjelaskan strategi pengujian (test
granularity) yang akan menentukan kedalaman tingkat
fokus pengujian. (C2) TIK-5
Pengujian Perangkat Lunak
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 mendefnisikan karakteristik
Why test software?
“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 ...”
Why fnd 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
Purpose of software testing
• ”Software Testing is the process of executing a program or system with the intent of fnding
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
When to stop testing?
• 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 beneft of continued testing cannot justify the added testing costs
Implementasi Perangkat Lunak
System Implementation
• System Implementation or Adoption deals with the transfer (conversion) between an old system to a target system in an organization. So if a
Tahap Pengujian & Implementasi
dalam Siklus Hidup Pengembangan
Sistem
Traditional SDLC
(1) Systems Investigation
(2) Systems Analysis
(3) Systems Design
(4) Programming
(5) Testing
(6) Implementation
(7) Operation
(8) Maintenance
An eight-stage
systems
Testing & Implementation Phases in
SDLC
• Testing (Pengujian)
– Checks to see if the information system will produce the expected and desired results under certain conditions
• Implementation (Implementasi)
– The process of converting from the old system to the new system
– Four major conversion strategies
• Parallel conversion: the old and new systems operate simultaneously for a period of time
• Direct conversion: the old system is cut of and the new systems is turned on at a certain point in time
• Pilot conversion: introduces the new system in one part of the organization
Purpose of test management
• To devise and apply an efective and economic
test strategy
• Key elements: – Test planning
– Test specifcations – Test execution
The Tools You Need
• A thorough test plan: meramalkan dan menghindari masalah yg potensial.
• A well-engineered test system
• A state-based bug tracking database
• A comprehensive test tracking spreadsheet • A simple change management database
The Resources You Need
• A practical test lab• Test Engineers and Technician • Contractors and Consultants • External test Labs and Vendors
Dasar Sistem Pengujian
• Suatu pengujian yang akan dilakukan harus mempunyai fokus yang jelas.
• Ada 3 pertanyaan yang harus dijawab sebelum melakukan suatu pengujian:
– What you might test ? – What you should test ? – What you can test ?
• Jawaban -> membantu menentukan fokus pengujian yang dilakukan.
1. What you might test?
Usaha Pengujian yang Diperluas
• Dalam suatu proyek pengembangan perangkat keras maupun perangkat lunak, sudah banyak proses pengujian yang dilakukan di luar
organisasi.
• Ada 2 pandangan yang digunakan untuk menilai bagaimana kelompok diluar organisasi pengujian formal berkontribusi pada suatu proses
pengujian:
1. Test Granularity : level of focus of a test 2. Test Phases : Jenis pengujian yg dilakukan
Test Granularity
• Refers to the fneness or coarseness of a test’s focus • Can be thought of as running along a spectrum ranging
Structural Test
• Structural test fnd bugs in low level operations such as those that occur down at the levels of lines of code, database schemas, chips,
subassemblies, and interfaces.
Who did the structural test?
• Expert Programmers can be good structuraltesting
Behavioural Test
• Behavioural tests are often used to fnd bugs in high-level operations, at the level of features, operational profles, and customer scenarios
• They are functional tests based on what a system should do • Behavioral testing involves a detailed understanding of the
Who did the behavioral test?
• Testers who understand the design of the system, at least at a high level, so that they can efectively fnd bugs
common to that type of design.
What is Good Behavioral Test?
• Structured• Methodical
• Often repeatable sequences of tester-created conditions
Live Testing
• Live Test involve putting customers, content experts, early adopters and other end users in front of the system
• In some cases, we encourage the testers to try to break the system
Test Phases
• Unit Testing• Component or Subsystem Testing • Integration or Product Testing
• String Testing • System Testing
Beneft of Phased Test Approach
• Structural Testing can build product stability• Structural testing using scafolding or stubs can start early • You can detect bugs earlier and more efciently
• You can gather better metrics and use best-practice techniques in your testing efort