書評 提公升軟體質量的必經之路

2021-04-14 03:13:16 字數 2173 閱讀 9057

軟體是多個」人」長期構思,協同作業下的成果,不可能不出錯。若沒有配置相當的人力物力資源,分階段把關測試,將隨著系統規模漸大而逐漸失去控制的能力。

@小標:被疏忽的一環

筆者在赴製造業授課時,看到偌大的辦公大樓內,整個樓層的品保(qa)專業人員,使用華麗的軟硬體,針對製造流程上的瑕疵缺點做各種的良率分析,但該企業的 mis 開發卻沒有測試人員的配置。換句話說,為支援品保所成立的軟體團隊,在開發軟體時,本身沒有品保的支援。

投資出錢的企業老闆們往往不清楚軟體開發的困難與複雜,一般大眾也充滿著對軟體工業的誤解。如筆者任職顧問的報業集團,其建立了首屈一指的編審制度,企業內全盛時期,有八到十位軟體工程師花費近兩年的時間,開發給上千位編輯使用的系統環境,為得就是對上千位記者所撰寫的文字內容嚴格把關。

但沒有軟體專業人員為系統開發把關,讓筆者斗膽做個對照,若程式設計師撰寫程式**如同記者撰寫文稿,則我們沒有測試工程師如同編輯來編審與校稿,也就是沒有 code review與測試。軟體開發團隊也缺乏如編輯們對整份報紙的版面編排與改稿,也就是沒有軟體的重構(refactoring)。甚至對程式**的錯誤追蹤和版本控管都還不如編輯們對文稿修改所提追蹤功能之要求。

換句話說,每個產業都有其專業,卓越企業的管理階層對該公司之品管一定都有嚴格的標準,如本書第九章所描述的全面質量管理(tqm total quality management)。但對支援品管的資訊系統本身之品管卻由於無知而導致漠視。

既然全面質量管理是大大小小的」計畫(plan)、執行(do)、檢查(check)、處理(act)」等 pdca 迴圈流程,沒道理提公升公司競爭力的資訊系統沒有」檢查」。而純由腦力合作建構的資訊系統又沒有容易施行與監督的標準步驟(sop),則更應該強化軟體測試,以提公升質量。

軟體測試在國內往往是被忽略的一環,光從筆者對書籍中專有名詞的翻譯感到陌生可作為乙個指標 ,因為專有名詞的翻譯是約定俗成的,若大家朗朗上口,且對定義清楚明了,代表該技術在此已經落地生根行之有年。反之,則代表大家還在啟蒙階段,雖然美國早在上個世紀 70 年代就已經建構理論,近年更提出開發與測試人員的比例最少 3 比 1 的要求(本書中描述微軟的開發與測試人員視專案的不同,比例是 1比 1.5 到 1 比 3,也就是乙個程式撰寫人員配置三個測試人員)。

而我曾經和國內一家軟體開發商的美籍品管工程師聊天,他說他在美國曾待過四家公司,不管規模如何,沒有一家公司沒有專業的品保人員。但他在台灣沒看過具專業品保流程與品保工程師的軟體公司或 mis 部門。

@小標:建構體系

軟體生命週期中,大分有分析、設計、開發、測試、上線、維護,若越晚發現問題,修正錯誤所付出的代價越大。任何階段的工作與產出皆有可能出錯,因此如「以測試驅動開發(test-driven development tdd)」方**所提倡的,在分析的初始,應該就同時撰寫測試案例(test case),亦及以測試來驗證對需求的了解程度,並規範接下去的設計與開發不至於偏離。

也就是在分析時期,要撰寫如何測試是否符合使用者需求的檔案,在設計時期,要提出模組與架構間整合測試的方式,以確認架構與介面定義的正確性。而在開發時期,同時撰寫單元測試,以驗證個別程式**的正確性。同時,說明檔案的正確性也要一併測試。讓 v&v(verification and validation)的精神貫穿整個開發過程,時時驗證(verification)是在做使用者需要的產品,並確認(validation)把事情做對。

軟體測試理論從 1970 年代建構至今,已經自成體系。隨著 iso、cmmi、agile 的盛行,不管是 cmmi 的 support process areas,或是 agile 的 tdd、pair programming,都規範了軟體質量的基本要求,確保質量的構成要素,以及實踐的方向。或許,這是當今軟體專案管理人員不可或缺的常識。

瀏覽書中所架構的測試定位與流程讓自己一身冷汗,忝為教人做軟體的講師或顧問,自認稍有涉獵軟工中的測試環節,但從未在心中建立出一套完整的測試架構。或許是疏於找尋,滿足於浮面的知識,以往總以人力資源不足,專案時間短促等理由自欺欺人,而讓測試流於形式。

當我們永遠陷在資源不足的窘境中時,如何拿捏資源分配應是首要問題。而不是把不熟的領域直接割捨。若心中沒有整個測試的輪廓,如何能夠取捨該做多少?

@小標:軟體測試之定位

書中提出對軟體測試定位的認知,或許值得你參考:

@書名:軟體測試理論與實作

@飛思科技產品研發中心 編著

@博碩文化出版

@售價:520元

書評 提公升軟體質量的必經之路

2006年06月18日 13 20 00 軟體是多個 人 長期構思,協同作業下的成果,不可能不出錯。若沒有配置相當的人力物力資源,分階段把關測試,將隨著系統規模漸大而逐漸失去控制的能力。小標 被疏忽的一環 筆者在赴製造業授課時,看到偌大的辦公大樓內,整個樓層的品保 qa 專業人員,使用華麗的軟硬體,...

書評 提公升軟體質量的必經之路

軟體是多個 人 長期構思,協同作業下的成果,不可能不出錯。若沒有配置相當的人力物力資源,分階段把關測試,將隨著系統規模漸大而逐漸失去控制的能力。小標 被疏忽的一環 筆者在赴製造業授課時,看到偌大的辦公大樓內,整個樓層的品保 qa 專業人員,使用華麗的軟硬體,針對製造流程上的瑕疵缺點做各種的良率分析,...

書評 提公升軟體質量的必經之路

軟體是多個 人 長期構思,協同作業下的成果,不可能不出錯。若沒有配置相當的人力物力資源,分階段把關測試,將隨著系統規模漸大而逐漸失去控制的能力。小標 被疏忽的一環 筆者在赴製造業授課時,看到偌大的辦公大樓內,整個樓層的品保 qa 專業人員,使用華麗的軟硬體,針對製造流程上的瑕疵缺點做各種的良率分析,...