ALM-測試

你有沒有碰過這些問題?

為什麼要一直改需求?不能把需求都定下來嗎?

Ruddy老師說過的話,一位信仰敏捷的人,是會認清這個事實:
「你無法凍結需求,正如你無法凍結市場、競爭、知識、進化或者成長一樣。」

改了A功能後,B功能不能動了?改A壞B

維護前人留下的專案,不安感很重

除了主機要放乖乖之外,程式碼也要擺個平安符

平安就是福

平安就是福

進退兩難
了解前人的程式碼不難,難的是你不知道是否會引發出意料之外的副作用

進退兩難
了解前人的程式碼不難,難的是你不知道是否會引發出意料之外的副作用

總是要到上線前一刻才發現程式有問題,無法立即反應
http://www.lifeparty.idv.tw/blog/archives/308

a

找不到錯誤,你認為沒有問題但是結果一直不對

用錯方法,除錯所花費的時間會是你開發的兩倍時間以上

用錯方法,除錯所花費的時間會是你開發的兩倍時間以上

所以…
需求改來改去,PM下班,我加班
久而久之,形成對立

不寫測試的推託說詞

為什麼覺得不容易執行

測試寫了,還是沒有辦法滿足使用者的需求

心理障礙,不習慣改變、害怕、質疑

不知道如何開始

主管不挺

測試VS不測試

測試VS不測試

其實你一直都在寫測試

開發階段,你可能會這樣做...

需求異動時,你可能會這樣做

把UI打開,將所有的按鈕都按過一遍,下次需求異動的時候,在手動按過一遍

好花時間、好麻煩阿,最後,只針對那個需求按A按鈕

結果:
A功能改好了,但BCD功能壞掉了,可怕的是BCD壞了你還不知道....

以前的測試方法做不到

你誤會了,F5是偵錯,不是測試

你以為你在開發,其實是在創造臭蟲...

不要用臆測的方法來除錯

使用案例

用使用案例來開發的好處

為什麼用使用案例會減少整體開發時間

使用案例能取代以往的文件嗎

開發人員最討厭的事

軟體工程

測試驅動開發
(Test-driven development,TDD)

行為驅動開發
Behavior-driven development,BDD)

補測試的時機

我發現以下幾個情況,都是寫新測試碼的好時機:

在程式裡輸出訊息找錯誤:與其花時間寫 print、看輸出訊息、再回頭砍掉 print,不如寫個 unit test,之後能持續受惠。

執行 debugger:同上,你還是得花時間設中斷,一步步看訊息,不如寫個 unit test,之後能持續受惠。

不知錯誤在那,該如何進行下一步:這表示一次貪心實作太多功能,把目標縮小,一步步補 unit test 吧。

甚麼情況下不要寫測試

不要測,好爽,是哪個案子,我要加入。

以下情境不要寫測試
Survey API、POC

無法預測結果的

亂數

圖片

非對稱式加密

測試涵蓋率

涵蓋率越高,發現缺陷的可能性更大

沒有用需求,而是用無意義的糟糕測試達到100%的涵蓋率,所以,一昧的提高涵蓋率並不能解決問題

不要為了測試而測試

測試涵蓋率不是唯一指標

不是用使用案例數量當指標

為什麼會測試不好寫

物件相依性太高

物件設計能力太差