Re: [閒聊] 寫系統的人最無法忍受別人唬弄

看板Soft_Job (軟體人)作者 (沉默是金。)時間16年前 (2010/03/31 22:47), 編輯推噓14(14029)
留言43則, 11人參與, 最新討論串6/9 (看更多)
※ 引述《Ting1024 (無)》之銘言: : → TonyQ:網站都很難反覆測試啦,而且test case也很難寫。 03/31 22:26 : → TonyQ:這是個還有發展空間的領域。 03/31 22:26 : → derekhsu:T兄,其實這也不見得. 03/31 22:30 : → TonyQ:咦,樓上有沒有什麼好妙計。這問題已經苦擾我好幾年了XD 03/31 22:31 : → derekhsu:網銀有驗證碼沒錯,但難道他們沒建測試平台嗎? 03/31 22:31 : → derekhsu:測試平台的驗證碼是可以Pass的 03/31 22:31 : → derekhsu:網站其實算很容易反覆測試的,因為網站有共同的介面 03/31 22:32 : → derekhsu:不同的程式語言開發的網站,在整合/回歸測試階段 03/31 22:33 : → derekhsu:很多自動化測試工具都能完成網站的測試,甚至AJAX 03/31 22:33 : → derekhsu:但是GUI的東西,就必須要抓到Componment 03/31 22:34 : → derekhsu:能作到這樣的Tools都還滿貴的就是了 03/31 22:34 這是個值得討論的話題,我目前時間不多只能簡單帶一些意見。 我先帶一些我討論的問題背景 1.要達到自動化簡測 (純人工檢測不考慮) 2.網站的內容沒有固定格式 3.開發者(或者測試團隊)可以參與撰寫 test case ------------------------------------------------------------- GUI甚至是應用程式的邏輯測試, 其實型別檢測比較嚴謹的狀況下,unit test是比較好寫得。 以 structs+spring+hibernate 的開發為例, 測試 orm DAO 的working , 測試 action 的各個可能的結果頁面導向, js 也有 js unit可以處理, 不過因為js牽扯到頁面資訊的效果,測起來並不容易。 這都是比較不困難的,至少也是我曾經參與的專案有去試著進行過得。 目前我所看過得網站自動化簡測,其實只有失聯連結檢測, 再來就是 js unit,還有我剛說的 seleniumhq 可以模擬browser行為, 透過操作 firefox 來達到行為單元測試。 那難點在哪,第一就是有驗證碼的頁面會過不去, 因為他是模擬browser行為,所以比較棘手。 d大提到一個這個問題的常見解決方案,用測試環境造假訊息,直接讓他pass, 不過這樣的動作因為跟真實環境比起來是相對失真, 其實有時候在寫這些虛假訊息的時候也會 miss 掉很多該注意的事情, 不過相對之下這的確是一個值得去做的方法啦。 第二就是其實網站的行為很難說成功與否, 有時候是反應比較慢,有時候效果是複雜多變的, 有時候是與使用上的習慣不符,而不是內容上的錯誤。 另外就是 test case 要寫多細的問題。(這所有test類的問題都會碰到。XD) 我個人是認為 web 的功能太細了,要為他寫 Test有點不划算, 但是不寫又常常東一包西一包的。 我目前是比較傾向於設計並重複利用元件,因為反覆經過鍛鍊, 自然會有比較好的表現,而且錯誤率也會比較下降。 -- 其實這一塊真的是很困擾的,所以如果有比較好的作法真的是幫助很大。XD -- I am a person, and I am always thinking . Thinking in love , Thinking in life , Thinking in why , Thinking in worth. I can't believe any of what , I am just thinking then thinking , but worst of all , most of mine is thinking not actioning... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.218.161

03/31 22:49, , 1F
推一個
03/31 22:49, 1F

03/31 23:12, , 2F
所以Web的QA真的是挑戰^^
03/31 23:12, 2F

03/31 23:15, , 3F
這個問題我已經想很久了,真的是想不到什麼簡單的方法......
03/31 23:15, 3F

03/31 23:22, , 4F
這就跟QA的功力有關了
03/31 23:22, 4F

03/31 23:24, , 5F
沒錯,另外我個人是強烈反對自寫自測,盲點太多了。
03/31 23:24, 5F

03/31 23:25, , 6F
(我指的是正式的QA編制,個人寫完程式的自我測試還是要有。
03/31 23:25, 6F

03/31 23:25, , 7F
自寫自測只是為了防止低級錯誤... XD
03/31 23:25, 7F

03/31 23:26, , 8F
我看過有把自寫自測作為防制所有bug的公司.當時建議公司至少
03/31 23:26, 8F

03/31 23:26, , 9F
請個工讀生來幫忙按按按鈕也好,主管為了節省成本結果自己跳
03/31 23:26, 9F

03/31 23:27, , 10F
下去測。真不知道該說什麼。
03/31 23:27, 10F

03/31 23:27, , 11F
不過這就是題外話+抱怨文了就是了。後續應該不難想像。XD
03/31 23:27, 11F

03/31 23:47, , 12F
想不到連這種話題都能扯上一長串..XD
03/31 23:47, 12F

03/31 23:49, , 13F
而且就這個討論串的case, 這算是邏輯bug, 不易測出
03/31 23:49, 13F

03/31 23:49, , 14F
網銀後端會連結多個不同的主機系統, 溝通橋樑可能是
03/31 23:49, 14F

03/31 23:50, , 15F
MQ或者其他介面. 即使訊息都能正確往返, 如果沒有人為
03/31 23:50, 15F

03/31 23:50, , 16F
監測, 可能會得到格是正確的錯誤內容...
03/31 23:50, 16F

03/31 23:51, , 17F
舉個例子, 網銀一定會連結存款主機, 偏偏存款主機是
03/31 23:51, 17F

03/31 23:52, , 18F
被一堆周邊系統連結著, 比方說你寫個透過網銀轉帳的
03/31 23:52, 18F

03/31 23:53, , 19F
自動化測試劇本, 但是存款系統是另一個系統, 要先透過
03/31 23:53, 19F

03/31 23:53, , 20F
存款系統把錢存進去, 你在網銀才有錢可以轉出....
03/31 23:53, 20F

04/01 00:08, , 21F
自動的 web test 工具越來越多, 就算只是比對固定操作抓個
04/01 00:08, 21F

04/01 00:08, , 22F
工具用一用也不會花多少時間
04/01 00:08, 22F

04/01 00:36, , 23F
驗證值的部分,常見的不是先人工 Login一次,然後反覆利
04/01 00:36, 23F

04/01 00:36, , 24F
用已抓到的session cookie作後續測試嗎?
04/01 00:36, 24F

04/01 01:01, , 25F
差不多, 就是 record and replay, 還可以程式化
04/01 01:01, 25F

04/01 01:40, , 26F
04/01 01:40, 26F

04/01 01:56, , 27F
e-ATM就整個交易流程來說,如果能以自動化測試=不合格阿~
04/01 01:56, 27F

04/01 09:03, , 28F
通常會去做自動化測試的不是「整套流程」.而是各子流程
04/01 09:03, 28F

04/01 09:04, , 29F
ledia 有keyword嗎 XD
04/01 09:04, 29F

04/01 10:35, , 30F
wikipedia for "web testing" 我還用過 M$ vsts 的 webtest
04/01 10:35, 30F

04/01 10:39, , 31F
ok thanks a lot ^^~
04/01 10:39, 31F

04/01 19:59, , 32F
sazabijiang說的問題在unit test能用mock類工具處理的
04/01 19:59, 32F

04/01 20:20, , 33F
test case coverage當然是Design by contract符合80/20rule
04/01 20:20, 33F

04/01 20:30, , 34F
樓樓上,我指的是交易流程。MS曾經來我們公司對某個專案
04/01 20:30, 34F

04/01 20:31, , 35F
整合測試的自動化劇本要是涵蓋的功能模組太多時只會是場惡夢
04/01 20:31, 35F

04/01 20:34, , 36F
技術簡報兼推銷vsts,但是自動化測試能用得很開心
04/01 20:34, 36F

04/01 20:37, , 37F
表示網站被機器人模擬操弄越的越輕鬆阿...
04/01 20:37, 37F

04/01 20:46, , 38F
請問樓上不合格的理由是?有什麼風險嗎?
04/01 20:46, 38F

04/01 20:51, , 39F
類似e-ATM網站交易驗證的前提,就是只允許"真人"操作阿
04/01 20:51, 39F

04/01 21:58, , 40F
沒錯 不然驗證碼早就被
04/01 21:58, 40F

04/01 23:24, , 41F
自動化目的在檢驗系統本身,這應該是兩回事吧?確認是否真人
04/01 23:24, 41F

04/01 23:27, , 42F
應有其它機制處理,像上述的驗證碼的子系統。
04/01 23:27, 42F

04/01 23:38, , 43F
更正:自動化測試目的是取代系統已知行為的手動測試常態工作
04/01 23:38, 43F
文章代碼(AID): #1Bis1bXW (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1Bis1bXW (Soft_Job)