Learn Python in 30 min - 4cmj
1
‧ 設計一個可以執行的 binary:SimpleTest
‧ 支援設定檔
‧ 控制測試
‧ 記錄結果
6
‧ 設計一個可以執行的 binary:SimpleTest
‧ 支援設定檔 控制測試參數
‧ 控制測試
‧ 記錄結果
7
‧ 設計一個可以執行的 binary:SimpleTest
‧ 支援設定檔
‧ 控制測試 決定執行哪些測試
‧ 記錄結果
8
‧ 設計一個可以執行的 binary:SimpleTest
‧ 支援設定檔
‧ 控制測試
‧ 記錄結果 儲存結果
9
‧ Functional SPEC 已經有大架構了:三個大功能
‧ 開發流程?
‧ Top-Down
‧ Bottom-Up
10
‧ Day 0
‧ 建議先寫開始的進入點 (執行的 binary)
‧ 設計所有可能的功能
‧ 確定這是你要的
12
‧ 接下來,讀取設定檔
‧ 格式有很多種:config / JSON / XML / YAML
‧ 挑自己喜歡的,反正 Python 都有支援
‧ 這也是說 Python 不支援的不要挑 >.^
20
‧ 要控制測試項目:你就要決定怎樣控制
‧ For 迴圈不錯? (也就是用 List)
‧ 但是測試都有名稱啊。。。
‧ 想要名稱當 Key 又想要存一堆東西? Dict
24
‧ 所以需要有一個物件 (至少是 Dict)
‧ 紀錄目前所有的測試
‧ 當 SimpleTest 執行的時候,選擇執行
‧ 但是我很想自動,不想手動加測試項目
25
‧ 使用 from testcases import *
‧ 這樣就可以撈所有 testcases 下的 物件
‧ 同理,也可以 from testcases import Test
‧ dir(Test) 列出所有能力
‧ Package 資料夾下一定要有 __init__.py
‧ 裡面 import 所需要的測試 case
27
‧ 這樣只要寫拼命寫 Test Case
‧ 用 Load Package 的方式拿到所有測試 case
‧ 接下來又改寫原本的 SimpleTest
29
‧ 執行流程為何?
‧ User 決定執行指令 (設定檔 / 測試項目)
‧ 確定設定檔、測試項目是否有效
‧ 開啟 (記錄) 檔案,傳遞測試項目
‧ 測試每個指定的項目
37
‧ 執行流程為何?
‧ User 決定執行指令 (設定檔 / 測試項目)
‧ 確定設定檔、測試項目是否有效
‧ 開啟 (記錄) 檔案,傳遞測試項目
‧ 測試每個指定的項目
38
‧ 執行流程為何?
‧ User 決定執行指令 (設定檔 / 測試項目)
‧ 確定設定檔、測試項目是否有效
‧ 開啟 (記錄) 檔案,傳遞測試項目
‧ 測試每個指定的項目
39
‧ 執行流程為何?
‧ User 決定執行指令 (設定檔 / 測試項目)
‧ 確定設定檔、測試項目是否有效
‧ 開啟 (記錄) 檔案,傳遞測試項目
‧ 測試每個指定的項目
40
‧ Ref
‧ https://docs.python.org/2/library/optparse.html
‧ http://pyyaml.org/wiki/PyYAMLDocumentation
51
Thanks for your attention
52