1
Verifikasi dan Validasi Perangkat Lunak (CII4S3)
Software Testing Overview
Disusun Oleh:
Sri Widowati S.T., M.T.
Rosa Reska Riskiana, S.T., M.T.I
Donny Richasdy S.T., M.T.
S1 Fakultas Informatika
2
Topik
• Basic understanding of Testing
• Levels of Software Testing
• Testing Type
• Verification and Validation
3
Capaian Pembelajaran
Mahasiswa memahami berbagai teknik pengujian perangkat lunak
4
Concept and Definition
Definition Goals
Testing can be defined as- A process of • Identify errors (when and where)
analysing a software item to detect the • Find problems in programs so they can
differences between existing and required be fixed
conditions (defects/error/bugs) and to
evaluate the features of the software
item. – ANSI/IEEE 1059 standard
5
Concept and Definition
Who does testing? Levels of Software Testing
• Software Tester • Unit/Component testing
• Software Developer • Integration testing
• Project Lead/Manager • System testing
• End User • Acceptance testing
6
Concept and Definition
When to start testing When to stop testing
• During the requirement gathering • Completion of test case execution
phase – SRS • Completion of functional and code
• Reviewing the design in design phase coverage to a certain point
– SDD • Bug rate falls below a certain level
• On completion of the code - Testing and no high-priority bugs are
identified
• Management decision
• Testing deadlines
7
Levels of Software Testing
Acceptance • Determine if test results satisfy acceptance
criteria of project stakeholder
Testing • Trace each test to stakeholder requirements
• Test integration of hardware and software
• Ensure software as complete entity complies with
System Testing operational requirements
• Trace each test to system requirements
Integration • Combine software units and test until
the entire system has been integrated
Testing • Trace each test to high-level design
• Verify implementation of each
Unit/Component
software development
Testing
• Trace each test to detailed design
8
V-Model
9
Testing Type
Testing
Program/code Acceptance
Ad Hoc System testing
testing testing
Unit test Functional test Alpha test
Non-Functional
Integration test Beta test
test
10
Kuis Testing Type
A Testing Type B Specification C General scope D Opacity E Who generally does
it?
1 Unit Testing Low Level Design
Actual Code Structure
2 Low Level Design Multiple Classes Programmers
High Level Design
3 Whole product Black Box
4 System Testing Whole product in
representative
environments
5 Acceptance Testing Requirement Analysis Customer
6 Beta Testing Ad Hoc Black Box
7 Changes, documentation, Any of the above Programmer/Tester
high level design
11
Verification and Validation
12
V and V Technique
Verification
and Validation
Dynamic Static
Technique Technique
Software Formal Informal
Testing Analysis Analysis
Symbolic
Static Analysis Walkthrough
Execution
Proof Inspection
Review
12
13
13