技術債就是一種債,只要是債都要連本帶利還

技術債就是一種債,只要是債都要連本帶利還

【不是只有本金】 相信大家在開發軟體產品時,都會提到技術債(Technical Debt)這個詞,大家都知道這個債總有一天要還,但是很容易忘了「利息」這件事,以為借 $100 只要還 $100, 但其實並不是。 事實是,你還要償還隨著時間進行「複利成長」的利息,因而很容易讓人不知不覺就碰到償債能力不足,導致破產的狀況。 【為什麼會產生技術債】 會產生技術債的原因有很多,其中一個原因是「想要展現超出自己目前能力範圍的東西」,就像有些人會有車貸、房貸的道理一樣。 【技術債中的利息是什麼】 我把技術債分成兩種:房貸跟高利貸 1%...

How to Integrate Robot Framework with TestRail

一直都是使用 Robot Framework 來進行自動化的 UAT,但因為完整的 UAT 還包括了手動測試的部份,因此在 UAT 中 Test Case 的管理上就比較麻煩一點,可能完整的 test case 是存在 excel 裡頭,再由開發人員手動填入 Robot Framework 的測試結果。這樣真的太低級了,這不但浪費時間、易出錯,而且很難管理啊,所以必需有一個更好的管理方式。為了解決這個問題,我們導入了 TestRail。TestRail 是一套相當好用的 Test Case / Test Plan 管理系統,而且...

Boost.ScopeExit

在C++中RAII是很常用的手法,但在一些情況下要多花不少時間去包裝,在Boost中有提供了 ScopeExit (http://www.boost.org/doc/libs/1_57_0/libs/scope_exit/doc/html/index.html),在一些應用下會比正規的 RAII 更加好用。 以 Boost.ScopeExit 官方範例來看,它希望在 addPerson() 中如果有任何一行程式碼失敗了,可以做到 strong guarantee,因此要把 aPerson 從 一_persons中...

當 Qt 碰上 Google Test

Qt 原本就已經提供了 QTest 可以用來開發單元測試,但整體感覺還是沒有 google test 完整,因此實務上我們還是使用 google test 來進行單元測試。Google test 搭配 Qt 一般來說有二點要處理: 1. Qt Signal 2. Event LoopQt Signal因為你的 slots 沒辦法用 MOCK_METHOD 製造出來,或著說QObject::connect 無法連結到 MOCK_METHOD 做出來的偽slot...