[請益] 單元測試用這樣的方式進行合理嗎?
最近被分配到要去做單元測試Unit test,然後我開始研究某V公司的測試工具,討論編譯
設定、trace32等模擬器如何運行。
然後大概過一個禮拜,研究有點卡頓,因為我第一次用單元測試,而且我不是負責那個專
案的程式專寫。所以遇到一些link error有在詢問V公司解決。
這時負責這個專案的程式擔當來看我怎麼弄那麼久,然後跟我說,這個不需要設定什麼編
譯。
????!!!!我的認知單元測試不是就是動態測試的一種,怎麼可能不用做編譯的設定。
繼續詢問下他說不會直接跑在target上測,也不用到模擬器trace32,直接用一般的g++編
譯器在電腦上跑就可以了,我們只是要"測邏輯"而已。
我有點半信半疑,覺得這個方式怪怪的,我看到的單元測試就是需要模擬實機,所以會需
要用到類似trace32這種模擬器,V公司的人也是跟我們說用這個。
然後更不可思議的是,他直接拿出一包程式,不是原本的專案程式,是經過他"整理過"的
專案程式,替除掉QT、freeRTOS...等等,剩下的程式型態類似於pseudocode的形式,他
說這樣比較好編得過,然後可以測試程式邏輯。
????!!!!是這樣子?這跟已經跟我認知的單元測試不同,這跟測試的概念也相違背了吧。
測試的目的是要"拿真的東西,去模擬的環境測試",拿人為修過的程式下去測的意義是?
我現在看到單元測試的幾個點
1.屬於動態測試的一種,嵌入式系統可使用模擬器進行測試
2.改完程式當下可以馬上看到設定好的測試結果
3.好的單元測試可以能夠完全自動化
即使我是第一次接觸單元測試,我怎麼看他叫我做的方法都不可能是正確的單元測試,然
後用手動整理過的程式下去測試是哪招?
我有提出質疑,他們可能覺得,客戶就是要看報告,如果要做比較正確的單元測試之後在
其他比較簡單的機種上面執行。
我真的不知道該說什麼,因為我沒有很資深,在這方面也不是了解很多,看看各位的想法
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.43.108.100 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1756381410.A.DDC.html
→
08/28 19:51,
2周前
, 1F
08/28 19:51, 1F
→
08/28 19:52,
2周前
, 2F
08/28 19:52, 2F
→
08/28 19:57,
2周前
, 3F
08/28 19:57, 3F
→
08/28 19:57,
2周前
, 4F
08/28 19:57, 4F
→
08/28 19:57,
2周前
, 5F
08/28 19:57, 5F
推
08/28 20:00,
2周前
, 6F
08/28 20:00, 6F
推
08/28 20:02,
2周前
, 7F
08/28 20:02, 7F
推
08/28 20:44,
2周前
, 8F
08/28 20:44, 8F
推
08/28 20:51,
2周前
, 9F
08/28 20:51, 9F
→
08/28 20:51,
2周前
, 10F
08/28 20:51, 10F
→
08/28 20:51,
2周前
, 11F
08/28 20:51, 11F
推
08/28 20:53,
2周前
, 12F
08/28 20:53, 12F
噓
08/28 21:06,
2周前
, 13F
08/28 21:06, 13F
→
08/28 21:06,
2周前
, 14F
08/28 21:06, 14F
→
08/28 21:06,
2周前
, 15F
08/28 21:06, 15F
→
08/28 21:06,
2周前
, 16F
08/28 21:06, 16F
→
08/28 21:06,
2周前
, 17F
08/28 21:06, 17F
噓
08/28 21:33,
2周前
, 18F
08/28 21:33, 18F
→
08/28 21:33,
2周前
, 19F
08/28 21:33, 19F
→
08/28 22:51,
2周前
, 20F
08/28 22:51, 20F
→
08/28 22:51,
2周前
, 21F
08/28 22:51, 21F
→
08/28 22:58,
2周前
, 22F
08/28 22:58, 22F
→
08/28 22:58,
2周前
, 23F
08/28 22:58, 23F
→
08/28 22:58,
2周前
, 24F
08/28 22:58, 24F
→
08/28 23:13,
2周前
, 25F
08/28 23:13, 25F
→
08/28 23:13,
2周前
, 26F
08/28 23:13, 26F
→
08/28 23:15,
2周前
, 27F
08/28 23:15, 27F
→
08/28 23:15,
2周前
, 28F
08/28 23:15, 28F
→
08/28 23:17,
2周前
, 29F
08/28 23:17, 29F
→
08/28 23:17,
2周前
, 30F
08/28 23:17, 30F
→
08/28 23:17,
2周前
, 31F
08/28 23:17, 31F
→
08/28 23:28,
2周前
, 32F
08/28 23:28, 32F
推
08/28 23:28,
2周前
, 33F
08/28 23:28, 33F
→
08/28 23:30,
2周前
, 34F
08/28 23:30, 34F
→
08/28 23:30,
2周前
, 35F
08/28 23:30, 35F
→
08/28 23:32,
2周前
, 36F
08/28 23:32, 36F
→
08/28 23:32,
2周前
, 37F
08/28 23:32, 37F
→
08/28 23:44,
2周前
, 38F
08/28 23:44, 38F
→
08/28 23:44,
2周前
, 39F
08/28 23:44, 39F
還有 88 則推文
→
08/29 15:42,
2周前
, 128F
08/29 15:42, 128F
→
08/29 15:42,
2周前
, 129F
08/29 15:42, 129F
→
08/29 15:44,
2周前
, 130F
08/29 15:44, 130F
→
08/29 15:56,
2周前
, 131F
08/29 15:56, 131F
→
08/29 15:57,
2周前
, 132F
08/29 15:57, 132F
→
08/29 15:57,
2周前
, 133F
08/29 15:57, 133F
→
08/29 15:59,
2周前
, 134F
08/29 15:59, 134F
→
08/29 16:01,
2周前
, 135F
08/29 16:01, 135F
→
08/29 16:01,
2周前
, 136F
08/29 16:01, 136F
→
08/29 16:01,
2周前
, 137F
08/29 16:01, 137F
→
08/29 16:02,
2周前
, 138F
08/29 16:02, 138F
→
08/29 16:03,
2周前
, 139F
08/29 16:03, 139F
→
08/29 16:04,
2周前
, 140F
08/29 16:04, 140F
→
08/29 16:05,
2周前
, 141F
08/29 16:05, 141F
推
08/29 17:16,
2周前
, 142F
08/29 17:16, 142F
推
08/29 19:27,
2周前
, 143F
08/29 19:27, 143F
推
08/29 19:32,
2周前
, 144F
08/29 19:32, 144F
推
08/29 19:35,
2周前
, 145F
08/29 19:35, 145F
→
08/29 19:35,
2周前
, 146F
08/29 19:35, 146F
→
08/29 19:38,
2周前
, 147F
08/29 19:38, 147F
推
08/29 19:46,
2周前
, 148F
08/29 19:46, 148F
→
08/29 23:47,
2周前
, 149F
08/29 23:47, 149F
→
08/29 23:47,
2周前
, 150F
08/29 23:47, 150F
→
08/29 23:47,
2周前
, 151F
08/29 23:47, 151F
→
08/29 23:49,
2周前
, 152F
08/29 23:49, 152F
→
08/29 23:49,
2周前
, 153F
08/29 23:49, 153F
→
08/29 23:49,
2周前
, 154F
08/29 23:49, 154F
→
08/29 23:51,
2周前
, 155F
08/29 23:51, 155F
→
08/29 23:51,
2周前
, 156F
08/29 23:51, 156F
→
08/30 13:58,
2周前
, 157F
08/30 13:58, 157F
→
08/30 17:08,
2周前
, 158F
08/30 17:08, 158F
→
08/30 17:08,
2周前
, 159F
08/30 17:08, 159F
感謝各位大大給的建議
簡單用GPT總結如下
https://i.imgur.com/uzCXlUT.png

很感謝brucetu給的意見。我會再好好參考!
另外我要澄清一些對我的一些批評。
1.這個公司第一次導入unit test,那位資深同事雖然比我資深很多沒錯,但是他在這間
沒做過UT的公司做10幾年以上,我可以合理推測他也沒有實際做過UT,然後看到他的方式
跟我google和問ChatGPT的結果相差不少。因為我也沒有實際經驗判斷他的方法正不正確
,所以我最後想說丟上來給大家罵罵也好,了解一下實務上UT會怎麼進行
2.關於溝通的部分,我要替自己辯護一下,溝通也是要看對象看場合。我以前在前公司的
時候,覺得溝通就比這邊順利,也許那邊的人比較契合,或是說上司指令比較明確。溝通
的方式對人和在不同場合會有所不同,在這間公司我還在調整要怎麼溝通會比較順利
關於UT這件事情我整理一下我看下來的心得:
1.公司第一次要做UT,軟體部沒有說明UT的相關規劃,然後叫一個非該專案設計的工程師
來替其他開發者做UT。這點看大家的留言很多認為這公司做的不太對,好幾位大大叫我說
可以逃了....
2.看起來UT是測邏輯沒錯,但是各位大大提到事前應該要做好規劃,看到大大提到抽出邏
輯、mock等方式,確實很合理。但是我看那位前輩的實作的方式,我看程式的感覺不是那
麼經過規劃的方式...,感覺只是另外用手動複製出專案內程式,然後手動剃除其他相依
性程式,剩下接近pseudocode的東西。可能邏輯是一樣的,但是未來改動程式還要另外維
護,也很難保證中間手動改動的邏輯不會變。
3.我會再多多了解整合測試、單元測試、端對端測試之間的差異
感謝大家的留言,讓我更懂得各種軟體測試的實際方向,感謝大家!
※ 編輯: alan8656 (115.43.108.100 臺灣), 08/30/2025 19:10:17
※ 編輯: alan8656 (27.51.0.83 臺灣), 08/30/2025 19:17:07
※ 編輯: alan8656 (27.51.0.83 臺灣), 08/30/2025 19:19:24
推
08/30 22:38,
2周前
, 160F
08/30 22:38, 160F
→
08/30 22:38,
2周前
, 161F
08/30 22:38, 161F
→
08/30 22:40,
2周前
, 162F
08/30 22:40, 162F
→
08/30 22:41,
2周前
, 163F
08/30 22:41, 163F
推
08/31 01:08,
2周前
, 164F
08/31 01:08, 164F
推
08/31 15:27,
2周前
, 165F
08/31 15:27, 165F
→
08/31 15:27,
2周前
, 166F
08/31 15:27, 166F
Soft_Job 近期熱門文章
PTT職涯區 即時熱門文章