Purpose: "Provide you some concepts and techniques related to Quality Assurance of software systems"
Quality Assurance
Focus on correctness aspect of Quality
QA activities: testing & many others
QA Classification:
QA as dealing with defects
QA with Verification and Validation
(V&V)
QA in Defect Centered View
How to deal with defects:
Prevention
Removal (detect them first)
Containment
QA as dealing with defects (cont)
Preventing fault injection
Error blocking (error ≠> fault)
Error source removal
Removal of faults (pre: detection)
Inspection: faults discovered/removed
Testing: failures trace back to faults
Failure prevention and containment
Fault tolerance techniques (local failure ≠>
global failure)
Reduce failure impact => Safety assurance
QA as dealing with defects (cont)
Fig above: QA as barriers
Dealing with errors, faults, or failures
Removing or blocking defect sources
Preventing undesirable consequences
Defect Prevention Techniques
Education and Training
Early Requirement Validation
Configuration Management
Education and Training
Error source elimination
Focus on following areas:
Product and domain knowledge
Development process knowledge
Technology and tools knowledge
Early Requirement Validation
Workshops
Involving various stakeholders in the identification of
requirements
Achieve better results than interviewing stakeholders because
everyone is present in the workshop at the same time
Prototype
Validate some aspect of the requirements
Developers gain valuable feedback on their interpretation of
requirements early in a project
IKIWISI
Configuration Management
Documents: identifying a documents and controlling
changes to the document
Source Code:
Identify
Revision
Versions of sources that intended to satisfy a different set of
environments
Baselines
Change control
Executable Code: assembling and releasing versions for
the entire system to its users
Defect Reduction Techniques
Static test: verify products without execution
Review:
Online
Offline
Inspection
Dynamic test: verify product with execution
Unit Test
Integration Test
System Test
User Acceptance Test
Testing
When to test?
From the coding phase up to post-release
support
Unit testing, component testing, integration
testing, system testing, acceptance testing, beta
testing, etc.
What to check?
External specifications (black-box)
Internal implementation (white/clear-box)
Testing technique
Equivalent partitioning
Boundary value analysis
Decision table
State transition testing
Criteria: when to stop?
Coverage of specs/structures
Reliability => usage-based testing
Defect Containment Techniques
Fault tolerance technique
Fault present but removal impractical
Fault tolerance => contain defects
FT: break fault-failure link
Recovery blocks: repeated executions
N-version programming: N copies – the same functionality running in parallel
Safety assurance and failure containment technique
Extending FT idea for safety: fault tolerance to failure “tolerance”
Safety related concepts:
Safety: accident free
Accident: failure with severe consequences
Hazard: precondition to accident
translate
Hôm nay đọc gì
-
Purpose: 1 Understand CAR and CAR process 2 Responsibilities of DPC, DP Teams 3 How to conduct Causal Analysis meeting and identify prev...
-
I. Quy trình quản lý bug I.1 Vòng đời bugs I.2 Trạng thái bugs 1. NEW bug vừa được post lên hệ thống. bugzilla request email đến thàn...
Nhãn
automation testing
bài toán về phân tích giá trị biên
bai-tap-viet-tc-giao-dien
blackbox-testing
bugzilla
checklist
cong-cu-test-hieu-nang
GUI
hacker
jira
jmeter
kiem thu phan mem
kiem-thu-phan-mem-cho-nguoi-moi
kỹ thuật khai thac lỗ hổng xss
manual testing
mau-viet-test-case
quan-ly-bug-trong-mot-du-an-nhu-the-nao
sai-lam-hoc-tester
Sql injection
tao-kich-ban-dang-nhap-bang-selenium-ide
usability testing