티스토리 뷰
구글 광고를 시험하기 위해 다듬어지지 않은 Draft Version 공개
Released draft version of the contents due to testing of Google AdSense
1. Truth
-
QA is not testing.
-
QA : a function of a project → f(QA)
-
Testing : a function of a project → f(testing)
2. Engineering Example 1 - success condition
-
When f(testing) exists in a project
-
if testing = Requirement design, then f(testing) = Acceptance Testing & Result
-
if testing = System design, then f(testing) = System Testing & Result
-
if testing = Architect design, then f(testing) = Integration Testing & Result
-
if testing = Model design, then f(testing) = Unit Testing & Bunch of test codes
3. Engineering Example 2 - failure condition
-
When f(QA) exists in a project
-
if QA = Requirement design, then f(QA) = error, (message : 요구사항 분석&기획은 품질보증할 수 있는 영역이 아닙니다.)
-
if QA = System design, then f(QA) = error, (message : 시스템 기획이나 SRS는 품질보증할 수 있는 영역이 아닙니다.)
-
if QA = Architect design, then f(QA) = error, (message : 아키텍트 설계는 품질보증할 수 있는 영역이 아닙니다.)
-
if QA = Model design, then f(QA) = error, (message : 단위 테스트 설계는 품질보증할 수 있는 영역이 아닙니다.)
4. Engineering Example 3 - how to use QA?
-
When f(testing) and f(QA) both exist in a project
-
if testing = Requirement design, then f(testing) = Acceptance Testing & Result
→ if QA = Acceptance Testing Result, then f(QA) = Go-Live meeting agenda -
(System Design과 Architect Design은 생략한다.)
-
if testing = Model design, then f(testing) = Unit test & Bunch of test codes
→ if QA = Unit test result, then f(QA) = TDD or Refactoring improvement/decision making
5. 마지막
-
이 세상에 QA를 잘하는 진리의 길은 없습니다. 개발을 잘하는 방법과 테스트를 잘하는 방법만 있습니다.