讓使用者可以在 system、user、local 等不同層級自訂組態的設計很常見,例如 Git 就是將組態分為 3 個層級(後者可以覆寫前者)- system (/etc/gitconfig
)、global (~/.gitconfig
) 及 local (.git/config
)。
在 Python 中 ConfigParser
提供相關的支援,只要搭配 readfp()
與 read(filenames)
就可以實作出類似的機制。
Testing with KK
分類: Programming
讓使用者可以在 system、user、local 等不同層級自訂組態的設計很常見,例如 Git 就是將組態分為 3 個層級(後者可以覆寫前者)- system (/etc/gitconfig
)、global (~/.gitconfig
) 及 local (.git/config
)。
在 Python 中 ConfigParser
提供相關的支援,只要搭配 readfp()
與 read(filenames)
就可以實作出類似的機制。
上一篇有大略介紹 JUnit 3.8.2 的使用方法,這一篇就來稍微介紹 JUnit 4.x 的大略使用。
JUnit 是一個 Java 語言的 Unit Test Framework,它由 Kent Beck 和 Erich Gamma 建立。
最近的 2 個大版本是 JUnit 3.8.2 和 JUnit 4.x,理應介紹 JUnit 4.x 的用法,但因為目前 JUnit 3.8.2 的使用還算大宗,且 JUnit 3.8.2 的版本也比較好入門,這篇就稍微介紹 JUnit 3.8.2 的大略使用。 繼續閱讀 “Unit Test Framework – JUnit 3″
在測試過程中,我們常常透過終端機執行指令,來完成一些事情。這些常用的指令,久了可能會忘,我們可以提供一個整合的介面,方便大家使用。
另外,現有自動化測試已經包含了一連串的 test case。有時我們不需要跑一整套,只需要跑部分的 test case。這時如果有一個介面可以方便提供勾選,指定要執行的 test case,會方便很多。除此之外,測試結果可以直接匯總後顯示在 UI 介面上,會比較直覺。基於這樣的需求,我們可以透過 wxPython 做一個有 UI 介面的測試工具包,幫助工作效率提升。
我們選擇使用 wxFormBuilder 來輔助我們設計 wxPython 程式的介面。
使用在台灣販售的 Samsung 手機(搭載「三星 中文輸入法」)搭配 Android UiAutomator 都會遇到一個問題: setText(String) 時會有字串錯位問題。
原因:Samsung 手機自己的 Samsung 中文輸入法鍵盤在使用 Android UiAutomator setText(String) 時會有字串錯位問題。
繼續閱讀 “在 Samsung 裝置使用 Android UiAutomator 的 setText(string) 會出現 string 內的字元錯位"
在 Windows 內使用 1.7.0_51 以上的 JDK 版本執行 Jenkins slave node 時會遇到安全異常(SecurityException),完整 Error message 如下:
參考網址:最棒的程式碼,不是程式碼
會寫程式跟會寫 " 好 " 的程式是不一樣的 ,所以我們除了要透過多看別人的程式碼後不斷改進 ,不斷學習。
然後當自己的撰寫程式碼時,可讀性很重要,要讓自己看的懂,也要讓別人看得懂。
參考網址:實戰敏捷開發 Practices of an Agile Developer (4) 程式篇
這篇文章主要是在講幾個可以提升程式可讀性的重點。
我曾經在某個版上看到有個研究所的學生寫了一段程式碼,說這是他研究後最有效率的寫法,但是大家都看不太懂。
所以當寫一段很厲害但是沒人看得懂的程式時,這樣之後要修改 bug 或是新增功能時,只會讓下一個人花很多時間在瞭解程式碼,如果當一開始寫的時候就以可以讓人家容易明白為目標,那之後就可以輕鬆許多。
裡面提到為避免累積技術債務,可「善用設計與重構」和「堅持定期腳本審查」,讓我們的測試控管在安全範圍內。
繼續閱讀 “自動化測試的有效性&維護"
內文提到程式複雜度可能會使 bug 密度增高,且讓解 bug 的難度增加。
欲降低程式複雜度的原則是把握「清晰思考」和「清晰表達」。
善用模組化設計,可隔離、獨立一段程式碼的邏輯,讓它變得好測、好驗證。
如此程式碼也變得易讀、易維護。
我們也可把握以上原則,讓我們的測試程式清晰而優雅。
今天看到一個好用的 python 除錯工具:PuDB