• Tidak ada hasil yang ditemukan

6B TESTINGSTRATEGY.pdf Official Site of Achmad Benny Mutiara Gunadarma University 6B TESTING STRATEGY

N/A
N/A
Protected

Academic year: 2018

Membagikan "6B TESTINGSTRATEGY.pdf Official Site of Achmad Benny Mutiara Gunadarma University 6B TESTING STRATEGY"

Copied!
15
0
0

Teks penuh

(1)

Minggu 6

(2)

Software Testing & Strategies

Software Testing & Strategies

 Software Testing Fundamentals

T ti Obj ti P i i l T t bilit – Testing Objectives, Principles, Testability

 Software Test Case Design

 White-Box TestingWhite Box Testing

– Cyclomatic Complexity

– Graph Matrices

– Control Structuring Testing

• Condition Testing

• Data Flow TestingData Flow Testing

• Loop Testing

 Black-Box Testing

– Graph-based Testing Methods

– Equivalence Partitioning Boundary Value Analysis – Boundary Value Analysis

(3)

Verification and Validation

Verification and Validation

 Software testing is one element of a broader topic that is often referred to as : Verification and Validation (V&V)

as : Verification and Validation (V&V)

 Verification refers to the set of activities that ensure that software correctly implements a specific function

correctly implements a specific function.

 Validation refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements software that has been built is traceable to customer requirements.

 Boehm [BOE81]:

Verification: “Are we building the product right?”

Verification: Are we building the product right?

Validation: “Are we building the right product?”

 The definition of V&V encompasses many of SQA activities including

 The definition of V&V encompasses many of SQA activities, including

(4)

Software Testing Organization

Software Testing Organization

 Testing objective: uncover the errors (defects) in the software, including errors in:

errors in:

– requirements from requirement analysis

– design documented in design specifications

– coding (implementation)

– system resources and system environment

h d bl d th i i t f t ft

– hardware problems and their interfaces to software

 Software testing can be considered to be (psychologically) destructive.

 Who are involving software testing?Who are involving software testing?

– developers

– testers (test engineers) in ITG

– SQA group

 Software testing organization:

Individual tester in a development team – Individual tester in a development team

(5)

Software Testing Process

Software Testing Process

V&V Targets

Unit test Code & Implementation

g

Integration

test Software Design

Validation

test Requirements

System

(6)

Unit Test (Component Level Test)

Unit Test (Component Level Test)

 Unit testing: Individual components are tested independently to ensure their quality The focus is to uncover errors in design and implementation including quality. The focus is to uncover errors in design and implementation, including

 data structure in a component

 program logic and program structure in a component

 component interface

 functions and operations of a component

 Unit testers: developers of the components.

White-box

interface input

Internal logic, data, structure input

interface Black-box

Operations and Functions with I/O

output

output

operation

(7)

Integration Test

Integration Test

 Integration test: A group of dependent components are tested together to ensure their the quality of their integration unit

their the quality of their integration unit.

 The focus is to uncover errors in:

 Design and construction of software architecture

 Integrated functions or operations at sub-system levelIntegrated functions or operations at sub system level

 Interfaces and interactions between them

 Resource integration and/or environment integration

 Integration testers: either developers and/or test engineers.

Component #1

Operations and Functions with I/O

Component #2

Operations and Functions with I/O

operation

output

operation

(8)

Integration Testing Strategies

Integration Testing Strategies

 Approaches:

non incremental integration – non-incremental integration – incremental integration

 Non-incremental integration:

Big Band - combine (or integrate) all parts at once – Big Band - combine (or integrate) all parts at once. – Advantages: simple

– Disadvantages:

• hard to debugging, not easy to isolate errorshard to debugging, not easy to isolate errors • not easy to validate test results

• impossible to form an integrated system

 Incremental integration:

– integrate the system step-by-step (or piece by piece) in an well-designed order. Three important methods:

• Top-down b tt

• bottom-up • Sandwich

– uses a top-down for upper-level modules and bottom-up for low-level modules

modules

(9)

Top down Integration

Top-down Integration

 Idea: Modules are integrated by moving downward through the control

structure structure.

 Modules subordinate to the main control module are incorporated into the system in either a depth-first or breadth-first manner.

I t ti (fi t )

 Integration process (five steps):

1. the main control module is used as a test driver, and the stubs are substituted for all modules directly subordinate to the main control module.

2. subordinate stubs are replaced one at a time with actual modules. 3. tests are conducted as each module is integrated.g

4. On completion of each set of tests, another stub is replaced with the real module.

5 regression testing may conducted

5. regression testing may conducted.

 Pros and cons top-down integration:

1. stub construction cost

(10)

Bottom-Up Integration

Bottom-Up Integration

 Idea: Modules at the lowest levels are integrated at first, then by moving upward through the control structure

upward through the control structure.

 Integration process (five steps):

1 L l l d l bi d i t l t th t f ifi

1. Low-level modules are combined into clusters that perform a specific software sub-function.

2. A driver is written to coordinate test case input and output. 3. Test cluster is tested.

4. Drivers are removed and clusters are combined moving upward in the program structure.

p g

 Pros and cons of bottom-up integration:

1. no stubs cost

1. no stubs cost

2. need test drivers

3. no controllable system until the last step

(11)

Validation Test

Validation Test

Validation test: The integrated software is tested based on requirements to ensure that we have a right product

ensure that we have a right product.

The focus is to uncover errors in:

 System input/output

 System functions and information data

 System interfaces with external parts

 User interfaces

 System behavior and performance

Validation testers: test engineers in ITG or SQA people

Validation testers: test engineers in ITG or SQA people.

System

User External interfaces

(12)

System Test

System Test

 System test: The system software is tested as a whole. It verifies all elements mesh properly to make sure that all system functions and elements mesh properly to make sure that all system functions and performance are achieved in the target environment.

 The focus areas are:

 The focus areas are:

 System functions and performance

 System reliability and recoverability (recovery test)

 System installation (installation test)

 System installation (installation test)

 System behavior in the special conditions (stress and load test)

 System user operations (acceptance test/alpha test)

 Hardware and software integration and collaboration

 Hardware and software integration and collaboration

 Integration of external software and the system

 System testers: test engineers in ITG or SQA peopleSystem testers: test engineers in ITG or SQA people.

 When a system is to be marketed as a software product, a testing process called beta testing is often used

process called beta testing is often used.

(13)

System Testing

System Testing

 Recovery testing - a system test that forces the software to fail in various ways and verifies that recovery is properly performed

various ways and verifies that recovery is properly performed.

 Security testing - to verify that protection mechanism built into a system

ill i f t t t it f i t ti

will in fact protect it from improper penetration.

 Stress testing - is designed to confront programs with abnormal conditions.

 quantity, frequency, or volume.

 Performance testing - is designed to test run-time performance of software within the context of an integrated system.

(14)

Test Planning

Test Planning

 Test planning is concerned with setting out standards for the testing process rather than describing product tests

rather than describing product tests.

 Test plan consists of the following:

 standards for the testing process

 required resources (hardware software and engineers)

 required resources (hardware, software and engineers)

 testing schedules (testing tasks and milestones)

 test items (what should be tested)

 test recording procedures (test results must be systematically recorded)

 test recording procedures (test results must be systematically recorded)

 constraints

 Test planning is a task of a test manager. A test plan is its output of the planning

planning.

Acceptance test plan

System integration test plan

Sub-system integration

test plan

(15)

Test Issues in Real World

Test Issues in Real World

Software testing is very expensive.

How to achieve test automation?????

T t it i t t d t t ti

Test criteria, test coverage, adequate testing.

Other software testing:

GUI Testing

Object Oriented Software Testing Object-Oriented Software Testing

Component Testing and Component-based Software Testing

Domain-specific Feature Testing

Referensi

Dokumen terkait

[r]

Gedung H, Kampus Sekaran-Gunungpati, Semarang 50229 Telepon: (024)

sistem finansial tersebut, yaitu sistem ERP pada modul purchase management dan integrasi dengan modul accounting , transformation yaitu transformasi integrasi

Gedung H, Kampus Sekaran-Gunungpati, Semarang 50229 Telepon: (024)

Membuat rancangan service catalogue management yang menghasilkan sebuah dokumen yang menyediakan sumber informasi tentang IT service delivery bagi bisnis dari

Kerja sama yang baik antara Ayah dan Bunda dengan pihak sekolah akan mengantarkan kesuksesan anak kita dalam meraih cita-citanya.. Untuk anak usia SMA/SMK, pendampingan

objective of this research are to design and build a website application using crowdsourcing concept and to design and build a website application with a feature that

Aplikasi steganografi yang dibuat terdiri dari 3 proses yaitu: meload image yang ingin ditambahkan pesan rahasia, menambahkan pesan ke dalam image (encode image)