2. SmokeTest
Prepare Test
Environment
FVT
SLD / FR
Test Plan
Bug Fix
SVT/TVT/PT RT
Dev
SQA
Code
Freeze
Developer:
• SLD: System Level Design (Architect)
• FR: Function Requirement (Architect)
• CLD: ComponentLevel Design (Comp. Owner)
• DCUT: Code Level Design, Coding, and Unit Test (PG)
• SDC: Small Design Change
Prototype
(Alpha Release)
Time
Beta Release
RC
(Release Candidate)
GA
(General Availability)
SoftwareDevelopmentProcess
Build/CI
EvaluateSchedule
PrepareBuild/CI
Kickoff
QA/Tester/SDET:
Test Plan: dependson SLD (QA Lead)
Test Spec: depends on CLD (QA ComponentOwner)
FVT: Functional Verification Test
SVT: System Verification Test
• Platform / Browser
• Performance / Stress Test
TVT: Translation Verification Test
PT: Performance Test
RT: Regression Test – rerun FVT: Zero Defect
CI: ContinuousIntegration
ART: Automation Regression Test
Test Spec
High Level
Requirement
Boss
Marketing
Customer
SDC
CLD
EvaluateSchedule
Release Engineering:
CI: ContinuousIntegration
Build Process
Release Process
Design,Coding, and Unit Test
Test Spec Review
2
3. SDC
FVT SVT/TVT/PT
SmokeTest
Prepare Test
Environment
FVTTest Plan SVT/TVT/PT RTSQA
Time
Test Spec
Design, Coding, and Unit Test
Test Spec Review
SLD / FRDev
Code
Freeze
CLD Time
SLD: System Level Design
1. 定義產品需求
2. 產品規格
3. 應用範圍 – See SVT
FR: Function Requirement / Feature
1. 功能需求 / 特色
2. Resource and Schedule
Test Plan
1. Review SLD / FR
2. Resource and Schedule
3. Test Plan Document
3
4. FVT SVT/TVT/PT
SmokeTest
Prepare Test
Environment
FVTTest Plan SVT/TVT/PT RTSQA
Time
Test Spec
Design, Coding, and Unit Test
Test Spec Review
SLD / FRDev
Code
Freeze
CLD Time
CLD: Component Level Design
1. 依照 FR 所需, 描述功能的流程細節
2. 如何單元測試 (Unit Test)
3. 測試建議 (Functional Verification Test)
4. 設定與參數 (Configurable)
5. 其他: 影響的 Component, API, Performance … etc
Test Spec
1. Review CLD with Developer
2. Steps, verification point (VP)
3. Test spec review - developer
圖比表好
表比文好
白紙黑字
追蹤記錄
4
11. FVT SVT/TVT/PT
SmokeTest
Prepare Test
Environment
FVTTest Plan SVT/TVT/PT RTSQA
Time
Test Spec
Design, Coding, and Unit Test
Test Spec Review
SLD / FRRD
Code
Freeze
CLD Time
Build/CI
DCUT: Design, Coding, and Unit Test
1. Code level design: structure, configuration, pattern
2. Revise CLD and FR
3. Build procedure (co-work with release engineer)
4. Unit Test
5. Configurable and Installable
Preparation:
1. Installation and configuration
2. Scope / combination / platform
3. Test program
Start daily build
11
15. FVT SVT/TVT/PT
SmokeTest
Prepare Test
Environment
FVTTest Plan SVT/TVT/PT RTQA
Time
Test Spec
Design, Coding, and Unit Test
Test Spec Review
SLD / FRDev
Code
Freeze
CLD Time
Prototype
(Alpha Release)
Build/CI
1. Tech Preview (TP)
2. Marketing Demo
3. SDC: Small Design Change
15
16. FVT SVT/TVT/PT
SmokeTest
Prepare Test
Environment
FVTTest Plan SVT/TVT/PT RTSQA
Time
Test Spec
Design, Coding, and Unit Test
Test Spec Review
SLD / FRDev
Code
Freeze
CLD Time
FVT: Functional Verification Test, 依據 Test Spec 執行
Bug track and resolve: Team Room / Mantis
ER: Execution Record, 測試的執行紀錄
Code change practice: 避免side effect
Daily / Nightly Build
16
17. 如何有效的錯誤報告
• 寫得清楚是錯誤報告的基本. 如果程式師看
不懂你的意思, 報告有寫等於沒寫.
– 要明確
– 要詳細
– 要小心代名詞
– 閱讀自己寫的東西
如何有效地報告錯誤(How to Report Bugs Effectively by by Simon Tatham)
英文版: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
繁體中文版: http://www.chiark.greenend.org.uk/~sgtatham/bugs-tw.html
簡體中文版: http://www.chiark.greenend.org.uk/~sgtatham/bugs-cn.html
Putty 作者
17
18. 提問的智慧
• 提問之前: 讀手冊, FAQ, google
• 使用含義豐富, 描述準確的標題 標題很
重要
• 精確描述,信息量大
• 話不在多
提問的智慧(How To Ask Questions The Smart Way by Eric S. Raymond)
原文版: http://www.catb.org/esr/faqs/smart-questions.html
中文版: http://mis.ndhu.edu.tw/docu/question.htm
18
20. ReportTemplate-English
[Precondition] -- optional
Precondition for this issue.
[How to reprocedure the problem]
1. install APP form AppStore
2. open miSecurity with 886929168168/12345678
3. goto video view, and click the active device
[Expected result]
The video should be transferred immediately.
[Actual result]
The exception occurs.
[Spec and CLD] -- optional
Spec P.53: Title ...
20
30. FVT SVT/TVT/PT
SmokeTest
Prepare Test
Environment
FVTTest Plan SVT/TVT/PT RTSQA
Time
Test Spec
Design, Coding, and Unit Test
Test Spec Review
SLD / FRDev
Code
Freeze
CLD Time
Beta Release
1. In other words is prototype
2. Tech preview (TP)
3. Marketing demo
30
31. FVT SVT/TVT/PT
SmokeTest
Prepare Test
Environment
FVTTest Plan SVT/TVT/PT RTSQA
Time
Test Spec
Design, Coding, and Unit Test
Test Spec Review
SLD / FRDev
Code
Freeze
CLD Time
SVT: System Verification Test
• Platform:
• Android: 2.3.x, 3.x, 4.x
• iOS: 4.3, 5.x, 6.x
• Browser: IE, FF, Chrome ….
31
48. FVT SVT/TVT/PT
SmokeTest
Prepare Test
Environment
FVTTest Plan SVT/TVT/PT RTSQA
Time
Test Spec
Design, Coding, and Unit Test
Test Spec Review
SLD / FRDev
Code
Freeze
CLD Time
• Full FVT, Automation, Zero bug
• Code Freeze
• Next Phase Preparation – SLD/FR ready
SLD / FR CLDCurrent Phase
Next Phase
48
58. SmokeTest
Prepare Test
Environment
FVT
SLD / FR
Test Plan
Bug Fix
SVT/TVT/PT RT
Dev
SQA
Code
Freeze
Prototype
(Alpha Release)
Time
Beta Release
RC
(Release Candidate)
GA
(General Availability)
SoftwareDevelopmentProcess
Build/CI
EvaluateSchedule
PrepareBuild/CI
Kickoff
Test Spec
High Level
Requirement
Boss
Marketing
Customer
SDC
CLD
EvaluateSchedule
Design,Coding, and Unit Test
Test Spec Review
Developer & SQA
以外的, 是啥鬼?
Release Engineering:
Build Process
Release Process
58
61. StandardBuildProcess
SVN Build scripts
Build Site
Notify resultCheck out
Developer: provides procedure and
toolchain & libraries
Release engineer: complete build
scripts and configuration
ALWAYS check out full source tree.
It’s for SW All members.
61
82. Development and TestingRD dept
Sales / IT
Release
Time
SoftwareProductOperation
IT: Deployment Sales / RMA
FR
Development and Testing ReleaseFR
Maintain Release Maintain Release
Phase 1 Phase 2
Maintenance Team
82