Testing dan Implementasi Sistem (1)

Testing dan Implementasi Sistem

Silabus dan Pendahuluan
Pertemuan 1

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)
• Mahasiswa akan dapat menciptakan tim pengujian
berdasarkan kualifikasi yang dibutuhkan. (C5)


BUKU WAJIB



Black,
Bl
k R
Rex. (2002)
(2002). Managing
M
i
The
Th Testing
T ti
Process.
P
2st Ed.,
Ed
Microsoft Press, Redmond, Washington 98052-6399
ISBN 0-7356-0584-X


Referensi Lainnya
• www.rexblackconsulting.com
• l(ihat SAP)

Topik Bahasan
1.
2.
3.
4.
5.
6
6.
7.
8.
8.
9.
10.

Pendahuluan & Dasar2 Pengujian

g j
Software ((Introduction & Ch. 1))
– Pert. 1
Kualitas Perangkat Lunak (Ch. 1) – Pert. 2 & 3
Test Plan (Ch. 2) – Pert. 4
Test System Architecture, Cases, & Coverage (Ch. 3) – Pert. 5
The Bug Tracking Databases (Ch. 4) – Pertemuan 6 & 7
T t Tracking
Test
T ki Spreadsheet
S
d h t (Ch.
(Ch 5) – Pert.
P t 8
Managing the Dynamic (Ch. 6) - Pert. 9
Stocking & Managing a Test Lab. (Ch.7) – Pert. 10
Staffing & Managing Test Team (Ch. 8) – Pert. 11
Organizational Challenges for Test Manager (Ch. 9) – Pert. 12
Distributing a Test Project (Ch. 10) – Pert. 13


PENDAHULUAN

TIK










Mahasiswa akan dap
pat mendefinisikan p
pengertian
g
p
pengujian
g j

dan
implementasi perangkat lunak. (C1) TIK-1
Mahasiswa akan dapat menerangkan peranan tahap pengujian dan
implementasi
p
dalam siklus hidup
pp
pengembangan
g
g sistem p
perangkat
g
lunak. (C2) TIK-2
Mahasiswa akan dapat menjelaskan pentingnya pengelolaan proses
pengujian.
p
g j
((C2)) TIK-3
Mahasiswa akan dapat menyebutkan sumber daya dan alat-alat
bantu yang diperlukan untuk mengelola dan melaksanakan proses

pengujian.
p
g j
((C1)) TIK-4
Mahasiswa akan dapat menjelaskan strategi pengujian t(est
granularity) yang akan menentukan kedalaman tingkat fokus
pengujian.
g j
((C2)) TIK-5
Mahasiswa akan dapat menguraikan fase tingkatan pengujian. (C2)
TIK-6

Pengujian Perangkat Lunak
(Software Testing)

Pengujian (Testing)
• Pengujian perangkat lunak (Software testing) adalah
proses untuk mengukur kualitas dari perangkat lunak
yang dikembangkan.
• Kualitas

K lit perangkat
k t lunak
l
k ((software
ft
quality)
lit ) mengukur
k
seberapa baik sistem perangkat lunak dirancang (quality
of design),
g ) dan tingkat
g
kesesuaian p
perangkat
g
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?

“Software bugs,
g or errors... ...cost the
U.S. economy an estimated $59.5
billion annually...more than a third of
these costs
costs, or an estimated $22.2
$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 p
process of executing
gap
program
g
or system with the intent of finding errors” *

or
• ”Any
”A activity
ti it aimed
i d att evaluating

l ti an attribute
tt ib t or
capability of a program or system and determining that it
meets its required
q
results” **

* Glenford Myers, The art of software testing
** William Hetzel, The Complete Guide to Software Testing

When to stop testing?


Complete
p
testing
g of a system
y
is g
generally

y unfeasible ((too
expensive)
• Testing normally stops:
– when
h resources are exhausted
h
t d 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?

Implementasi Perangkat Lunak
(System Implementation)

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 company works with
an old software system
system, it may want to use a new system
which is more efficient, has more work capacity etc. So
then a new system needs to be adopted, where after it
can be used.

Tahap Pengujian & Implementasi dalam
Siklus Hidup Pengembangan Sistem
(Testing & Implementation Phases in SDLC)

Traditional SDLC
(1) Systems Investigation

An eight-stage
A
i ht t
systems
t
development life cycle
(SDLC)

(2) Systems Analysis
(3) Systems
S t
Design
D i
(4) Programming
(5) Testing

(6) Implementation
(7) Operation
(8) Maintenance
Go Back to a previous Stage or Stop

17

Testing & Implementation Phases in SDLC


Testing
g ((Pengujian)
g j )
– Checks to see if the information system will produce the expected and
desired results under certain conditions



m
I p
plementation ((Implementasi)
p
)
– 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 off and the new systems is
turned on at a certain point in time
• Pilot
Pil t conversion:
i
i t d
introduces
th
the new system
t
iin one partt off the
th
organization
• Phased conversion: introduces components of the new system in
stages

Purpose of test management
• To devise and apply
pp y an effective and economic test
strategy
• Key elements:
– Test planning
– Test specifications
– Test execution
– Test monitoring and reporting
– System evaluation

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
Diperlukan untuk pengelolaan proses pengujian.

The Resources You Need
• A practical test lab
• Test Engineers and Technician
• Contractors and Consultants
• External test Labs and Vendors
Diperlukan untuk menjalankan proses pengujian.

Dasar Sistem Pengujian
• Suatu pengujian yang akan dilakukan harus mempunyai
fokus yang jelas.
• Ada 3 pertanyaan yang harus dijawab sebelum
melakukan
l k k suatu
t pengujian:
ji
– What you might test ?
– What you should test ?
– What you can test ?
• Jawaban -> membantu menentukan fokus pengujian
yang dilakukan.
• Fokus pengujian yang jelas akan menentukan kualitas
d i sistem
dari
i t
yang di
diuji.
ji

1 What you might test?
1.
Usaha Pengujian yang Diperluas
(The Extended Test Effort)

Usaha Pengujian yang Diperluas




Dalam suatu proyek pengembangan perangkat keras
maupun perangkat lunak, sudah banyak proses
pengujian yang dilakukan di luar organisasi.
Ad 2 pandangan
Ada
d
yang di
digunakan
k untuk
t k menilai
il i
bagaimana kelompok diluar organisasi pengujian formal
berkontribusi p
pada suatu p
proses p
pengujian:
g j
1. Test Granularity : level of focus of a test
2. Test Phases : Jenis pengujian yg dilakukan dalam
berbagai macam tahapan pengujian.

Test Granularity



Refers to the fineness or coarseness of a test’s focus
C be thought off as running along a spectrum ranging ffrom
Can
structural to behavioural test

Structural Test
• Structural test find bugs in low level operations such as
those that occur down at the levels of lines of code,
database schemas, chips, subassemblies, and
interfaces.
interfaces
• Structural tests are based onhow a system operates

Who did the structural test?
• Expert Programmers can be good structural testing
• Testers develop most structural test by looking at the
code and data structures

Behavioural Test





Behavioural tests are often used to find bug
gs in high-level
g
operations, at the level of features, operational profiles, and
customer scenarios
They
y are functional tests based on what a system
y
should do
Behavioral testing involves a detailed understanding of the
application domain, the business problem being solved, and the
mission the system
y
serves

Who did the behavioral test?




Testers who understand the desig
gn of the system,
y
at least at a high
g
level, so that they can effectively find bugs common to that type of
design.
In addition to understand some of the technolog
gical issues
surrounding the system under test, behavioral testers must
understand the special behavioral test techniques that are most
effective at finding such bugs

What is Good Behavioral Test?
• Structured
• Methodical
• Often repeatable sequences of tester-created conditions

Behavioral testing is the primary test technique for
most independent test organizations

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
th system
the
t
• Well-known form: Beta Testing

Test Phases
• Unit Testing
• Component or Subsystem Testing
• Integration or Product Testing
• String Testing
• System Testing
• Acceptance or User Acceptance Testing
• Pilot Testing

Benefit of Phased Test Approach






Structural Testing can build p
product stability
y
Structural testing using scaffolding or stubs can start early
You can detect bugs earlier and more efficiently
You can gather better metrics and use best
best-practice
practice techniques in
your testing effort
Phases provide real and psychological milestones against which
you can gauge the "doneness"
doneness of testing and thus the project

Test Phase Sequencing