# 內容規劃
{%hackmd 1lpg7PuqRoaui6XyJcrylw %}
## 目標
- 身為自動化測試導入的種子, 我想學會完整的自動測試開發架構, 使得我在未來工作可以協助SQA團隊對內了解Framework 架構和TRD Library的Software架構。
- KR
- 一個月後,分享給課內新人。Simon旁聽。
- 之後在MOXA DevOps Forum分享了解到的內容。
- 身為MRC SQA, 我想要學會如何撰寫測項和Implement Code, 使得我在未來MRC 的工作中可以針對多元產品做Implement Code的修改。
- KR
- 送Merge Request到Mainline
- 身為測試者,我想要有依據的選擇可以協助開發回歸測試的自動測試開發工具,如此一來我可以用自動測試程節省手動測試者做更有價值的測試。
- KR
- 選出一個Framework
- 推進方式
- 第一輪:假投票
- 討論
- 第二論:投票
- 相對多數
- 有參與測項開發的人有投票權
- 確認Jin, Ray是否投票
## 內容規劃
### 學習
#### Week 1
- 了解測試工具與測試執行工具
- 區別自動測試框架和自動測試工具
- 分享導入自動測試開發時的評估面向
- 開發環境說明
#### Week 2
- Cucumber和Robot Framework的使用情境和要解決的問題
- Gherkin的文法,以及其欲解決的問題
- Test Case和Implement Code之間的對應關係
- Git: clone, fetch, checkout
#### Week 3
- 以Practice 1說明Implement Code的內容
- Test Case Outline/Template的寫法
- Git: commit, checkout -b
#### Week 4
- 針對Cucumber的開發規則說明
- 檔案分類、擺放
- test cases (.feature)
- enviroment
- steps
- 說明step讀取list和string block的做法
- Git: merge, fix conflicts
#### Week 5
- 針對Robot的開發規則說明
- 檔案分類、擺放
- test cases (.robot)
- variable file, resource...etc
- 說明變數使用方法。
- Git: code review
#### Week6 6/24
- 針對Robot的開發規則說明
- Library(Implement Code)
- Class-base
- Module-base
- Task
- 條件式和迴圈。
- Git: code review
### 實作
#### Week7 7/1
- logging的module與Framework結合
#### Week8 7/8
- GUI測試
#### Week9 7/15
- Docstring
- Debug
- Fixture
#### Week10 7/22
- Handle Test Excution Fail
#### Week10 7/29 回顧 & 接下來的規劃
- 回顧使用自動化測試框架的目的,以及自動化測試框架與自動化測試、CI之間的關係。
- 端到端的串連
- 使用自動化測試框架後可能的開發情境。
- 預告接下來的安排:會持續協助Router Team & SQA2課自動化測試開發合作。
- 保持交流和資訊透通(SQA2, 1, Router Team, SW 2D)讓大家再講一下話,互通一下。==分享很重要==
---
## Backlog
- Regular Expression
- cucumber的context build-in變數使用
- container image的維護
- 關於Implement Code不同寫法的比較
- Library的開發
- Jin: 控制DUT的Library架構與開發
- Betty: 控制TestCenter的Library