Testing-pertemuan4

advertisement




Fokus pada faktor Fungsionalitas dan spesifikasi Perangkat Lunak
Fokus pada informasi domain
Tidak membutuhkan pengetahuan mengenai,alur internal, struktur
Software Under Test
Bukan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan
yang melengkapi untuk menemukan kesalahan lainnya






Fungsi – fungsi yang salah atau hilang
Kesalahan Interface
Kesalahan dalam struktur data
Kesalahan dalam akses database eksternal
Kesalahan performa
Kesalahan inisialisasi dan terminasi






Bagaimana validitas fungsionalitasnya diuji?
Jenis input seperti apa yang akan menghasilkan kasus uji yang baik?
Apakah sistem sensitif terhadap nilai input tertentu?
Bagaimana batasan-batasan kelas diisolasi?
Berapa rasio data dan jumlah data yang dapat di toleransi oleh sistem?
Apa akibat dari kombinasi spesifik data pada sistem operasi?





Menganalisa kebutuhan dan spesifikasi perangkat lunak
Pemilihan jenis input yang mungkin menghasilkan output yang benar
Pengujian dilakukan dengan input-input yang benar-benar telah
diseleksi
Pembandingan output yang dihasilkan dengan output yang diharapkan
Menentukan fungsionalitas yang harusnya ada pada perangkat lunak
yang diuji

Blackbox Testing dapat dilakukan di setiap
level pembangunan sistem

Kelebihan
◦ Dapat memilih subset test yang secara efektif dan efisien dapat menemukan
cacat
◦ Membantu meminimalkan testing cost

Kelemahan
◦ Tester tidak yakin sepenuhnya atas perangkat lunak yang telah diuji










Equivalence Partitioning
Boundary Value Analysis/Limit Testing
Comparison Testing
Sample Testing
Robustness Testing
Behavior Testing
Requirement Testing
Performance Testing
Endurance Testing
Cause-Effect Relationship Testing

Divide the input domain into classes of data for which test cases can
be generated.

Attempting to uncover classes of errors.

Based on equivalence classes for input conditions.

An equivalence class represents a set of valid or invalid states

An input condition is either a specific numeric value, range of
values, a set of related values, or a boolean condition.

Equivalence classes can be defined by:
 If an input condition specifies a range or a specific value, one valid and
two invalid equivalence classes defined.
 If an input condition specifies a boolean or a member of a set, one valid
and one invalid equivalence classes defined.

Test cases for each input domain data item developed and executed.

Requirements of the subprogram to be tested (initial&final state)
◦ The subprogram takes an integer input in the range
[-100,100]
◦ The output of the subprogram is the sign of the input value (the value 0 is
considered positive)

Two valid equivalence class
◦ The input range [-100,0] which contains the subset of integer, will produce negative
sign as an output
◦ The input range [0,100] will produce positive sign

Two invalid equivalence class
◦ The integers strictly less than -100
◦ The integers strictly more than -100



If a condition concerning the input data specifies a range of
values (e/g: the counter can take values 1 to 999), define a
valid equiv. Class [1,999] and two invalid equivalence class
(counter < 1, and counter > 99).
If a condition concerning the input data specifies the number
of values (a thing can contain 1 to 6 name), define a valid
equivalence class and two invalid equivalence classes (no
name and more than 6 names)
If a condition concerning the input data specifies a set of
values and the CSU tested processes each value differently
(e/g: BUS, TAXI, TRUCK, TRAIN), define a valid equivalence
class for each value and an invalid equivalence class (e/g
MOTORCYCLE).

If an input condition is expressed by a sentence containing
‘must be’ (e/g the first character must be a letter), define a
valid equivalence class ( a letter) and an invalid equivalence
class ( not a letter)

Requirements
◦ Given three values, represent the length of side of triangle, determine if it
is equilateral, isosceles and scalene

Three valid equivalence class
◦ 3 equal values positive
◦ 3 positive values and 2 which are equal and the sum of two is greater than
the third value
◦ 3 positive values and the sum of two values is greater than the third value

Two invalid equivalence classes
◦ 2 positive values and a negative/zero
◦ 3 positive values such that the sum of two is equal/less

Large number of errors tend to occur at boundaries of the input
domain.

BVA leads to selection of test cases that exercise boundary values.


BVA complements equivalence partitioning. Rather than select any
element in an equivalence class, select those at the ''edge' of the
class.
Examples:
◦ For a range of values bounded by a and b, test (a-1), a, (a+1), (b-1), b,
(b+1).
◦ If input conditions specify a number of values n, test with (n-1), n and
(n+1) input values.
◦ Apply 1 and 2 to output conditions (e.g., generate table of minimum and
maximum size).
◦ If internal program data structures have boundaries (e.g., buffer size, table
limits), use input data to exercise structures on boundaries.
Download