2008年12月3日 星期三

[筆記]如何分析問題和需求

如何分析問題和需求

發佈: 2008-4-07 13:09 | 作者: 不明 | 來源: www.sawin.com.cn | 查看: 36次 | 進入軟件測試時代論壇討論

軟件測試時代 一、提出問題

1.樹狀遍歷式尋找問題

每個問題都不是單一存在的,它都有相關問題,猶如一棵樹一樣,主問題就是主樹桿,主問題伴隨的其他問題,就是支樹桿,以次類推。首先不要怕麻煩,每當一個問題提出,必須提出儘量多的相關新問題。提出問題的方法:順藤摸瓜。

比如:寫一個通用編輯器程序,此程序為自己或別人開發其他專業編輯器打下可靠穩定的基礎。

1)問題:什麼是通用編輯器。編輯器面向的對象應該是不確定的。

2)如果數據類型不確定,我們如何確定程序編寫的對象。可以舉出一些可能的假設。假設我們將此通用編輯器用作程序源代碼編輯,那麼就應該有中斷、單步執行等設置,這導致數據不能封裝在編輯器內部,應該由後期開發指定數據結構。

3)如果是程序編輯器,關鍵字的特顯必不可少,所以顯示的屬性應該給出接口。

4)諸如關鍵字此類的是否還有其他需要特顯的,那麼,應該注意到特顯類不僅僅是一種,程序設計時,最好抽象出特顯的方法與數據結構(不管以後有多少不可預知的特顯內容)。可以深入考慮特顯接口應該如何給出,才能支持任意特顯方式,它還需要哪些信息。

5)抽象特顯類時,應該舉出儘量多的可能性,綜合考慮。

6)問題:哪些內容需要特顯。編輯器很難知道,數據類應該自己瞭解。所以,特顯內容的定義必須有一個機制讓後期開發時使用

7)問題:源代碼編輯器有自動縮排、詞法、語法分析,這些操作如何在編輯器中體現。考慮語法類接口。是否有收縮與展開操作,接口又如何。

8)又假設:後期要擴展成字處理程序。數據有文本、圖像、特殊公式編輯、段落概念、表格等。

9)送進編輯器的數據可能是一組含有控制字的數據,問題:如何獲得讓編輯器知道不同數據的不同顯示操作。編輯器肯定無法全知,所以,乾脆交給後期開發需求處理。

10)未知數據應該有:顯示方法、光標定位處理等

11)光標定位需要當前坐標,所以,必須有接口讓編輯器知道數據寬高。

12)綜合結論:應該有一個接口機制。凡特殊操作的內容,交給後期處理,但通用編輯器應該做好數據管理和傳送的工作,而這些工作,不管哪種編輯器都需要。

首先任其深入提問,雖然問題可能多得十分複雜或凌亂,但它對即將做的系統設計絕對有幫助,最好把每個問題都有一個清楚的瞭解,千萬不要急於設計系統。通過這些提問和假設,就可清楚地分析我們所作的軟件應該實現哪 些內容,哪些內容實現有難度,實現這些內容的大體方法,通用編輯器能作什麼。通過上列系列提問和解答,我們可以認為,通用編輯器僅僅是一個以行為基本編輯 單位的編輯器摸板。編輯器不僅自己有編輯操作,同時允許外部提供特殊數據對象的編輯操作,最終實現文本編輯、圖形編輯、表格編輯、公式編輯一體化。數據外 部實現,將允許後期確定內容屬性。

上述方法基本上確保了軟件有好的可靠性、擴展能力、性能、重用性和系統化。想高效率生產系列軟件,確實應該考慮的更多。

2.直接切入目標問題

直接提出軟件要完成的系列任務,通過考慮任務的實現,羅列問題,在問題的解答過程中反思任務的需求。這樣的方法可以快速設計出軟件開發方案。

仍然以通用編輯器為例:

1)編輯對象有:文本、圖形、圖像、表格等。

2)操作有:焦點移動、增加、刪除、存取盤、選擇塊、粘貼拷貝、縮進、展開收縮、書籤、中斷設置、單步執行標記等。操作有分文本、圖形圖像、表格等的操作編輯。

3)顯示:文本的不同字體風格顯示、圖形的顯示、圖像的顯示、表格等的顯示。

4)狀態設置:改寫插入、段落格式設置、標題控制、編輯器專業化的設置等

5)考慮各項功能的實現方案,發現問題。

6)如果有沒有考慮到的,增加進去。

7)經過許多的方案設計,綜合考慮和優化方案,提出最後的設計方案

8)綜合結論:程序考慮了諸多功能,通用編輯器是眾多功能的集合體,內部詳細規劃了各種類型數據的操作、顯示和排版分析。

經過一系列的方案定義,將問題逐步減少,最後獲得一個規模較大的系統設計早期方案。我們可以較早地進入系統設計,並且提前進入程序代碼級開發工作,同時逐步實現各項內容。

此方法分析需求,有助於我們儘早實現想法,同時較好地控制住程序開發方向和基本功能完成的進度。但遺憾的是提高開發速度的代價是降低程序的可靠性、擴展性和重用性。過去,我們往往覺得所作的程序基本上不能再次使用,原因就在於沒有抽象問題,尋找問題的根本解決方案。就問題實現問題的方法,忽略了深入分析問題的過程。對於針對開發某專業的應用軟件採用此方法分析需求比較合適,但對系統性強的軟件,最好採用樹狀遍歷式尋找問題的方法。

二、分析問題和需求

在沒有分析清楚問題和需求的來由就匆匆下定論是非常危險的。忽略問題和需求就可能埋下了潛在的程序或系統設計問題。我們也常常犯這樣的錯誤:由於沒有分析清楚問題和需求,結果到頭來更改系統設計。能夠提出的問題和需求,就一定要紮紮實實分析它,否則後果難料。

分 析問題和需求的能力大小與思路和經驗有關。好的思路來源於嚴謹、邏輯和跳躍的思考習慣。嚴謹要求不要放過任何一個小問題,邏輯要求思考的過程應該是一種符 合規則的推導過程,跳躍思維要求思考的路子不是一走到底而是多條路子並行著走。經驗來自於編寫調試大量程序和善於總結,要求程序員不斷地開發新程序和創造 新思路,並且敢於嘗試和接受失敗,當然還有一條重要的方面:跟蹤最新技術

如何正確分析問題,有以下幾個要素值得注意:

1.所有問題和需求都有發生的根源。

問 題和需求的表面現象總是與開發者思路切入點相關,如果切入點是狹隘的,那麼圍繞著問題和需求的分析往往侷限於自身的思路範圍,問題和需求產生的原因就很難 發覺。所以當不能理解分析問題和需求時,不妨先找一找為什麼存在這樣的問題和需求,它的存在是否合理,然後再分析理解它就不難了。思路一定要跳出慣例。

2.交替反覆分析多個問題和需求,尋找問題間的共性和特性

看似問題和需求間沒有聯繫,而且分析不清各自意義,那麼建議交替反覆分析考慮這些問題。勤能補拙,不要擔心它將花費開發者多少時間,只有開發者仔細分析問題需求,以後的工作越來越簡單明了。

3.複雜化問題,

問 題複雜化,是一個抽象問題或需求的逆過程,提出問題需求的許多可能的假設,豐富了問題需求的形式。能夠複雜化問題,本身就體現了分析問題和需求的能力。比 如:做一個加法程序,兩個數相加,返回結果。簡單的問題,但,我們一般都按兩整數加法,有時考慮了浮點加法。為什麼不是兩個複數相加,或者是兩個字符串相 加等。這是一個使用操作符重載或類模板解決的簡單例子,在這裡我的意圖是許多問題應該從更多的方面去驗證問題是否同樣存在。

4.問一問自己:問題是否能夠抽象化,繼而簡化問題。

眾 多的問題和需求變成程序代碼的過程,就是公式化問題和需求。如果像上例加法一樣,不管三七二十一,什麼樣的數據就寫一段什麼的代碼,不同類型數據間的加法 同樣又要寫一段代碼,這樣下去就寫不完了。抽象問題,簡化問題,類模板就是一個抽象問題很好的例子。在分析問題和需求的過程中,同樣採用面向對象的思維方 式去求解,會獲得一個非常滿意的需求報告。

5.問題和需求分類分主次考慮

1)軟件產品的性能指標:可靠、功能全、速度、易擴展。

易擴展:一種是產品升級換代快、系列化產品豐富。另一種是用戶的二次開發擴展產品的再生功能。

速度:表示軟件執行速度不僅要快,同時操作中的速度要均衡。

功能全:大而全不一定是不好,有能力和實力,最好做到功能儘量全。功能全直接體現軟件開發商的實力。

可靠:這是最為重要的一點,軟件首要考慮的應該是可靠。測試時,極限、異常操作都應該考慮進去。

2)問題和需求根據軟件產品的性能指標和實現難度分類:核心需求,基本功能需求,高級功能需求、組合功能需求。

核 心需求:直接影響速度、可靠、易擴展指標的好壞。比如:CAD刷屏要求速度、CAD命令行機制提高了易擴展性能、CAD內部數據結構的管理機制直接影響軟 件的可靠性。核心需求將定義出軟件的本質內容,它主要以程序設計原理為基礎,結合軟件任務需求定義數據結構和管理機制。核心需求是首先要確定下來的,是最 主要的工作。

基本功能需求:完成任務的最基本的操作功能集合,這些基本功能是軟件產品的底層處理功能,是眾多問題和需求中抽象出的共性部分,它是其他功能的基礎。基本功能需求也是非常重要的,它的好壞直接影響到後面高級功能的質量和能力。

高級功能:是眾多問題和需求中的特性部分,這些功能對某個應用是非常有用,但在另一個應用中可能沒有用。比如:CAD中的圖形計算:求面積或體積,在建築施工圖設計中沒有使用,但在計算路基方面則非常有用。高級功能的需求應該放在較次要的位置,

組 合功能:通過基本功能和高級功能組合操作後的功能。例如:CAD中的LISP語言,CAD的批命令輸入,CAD的圖塊功能等。這些借助於基本功能和高級功 能的組合功能是一種後期行為,沒有這些功能,軟件一樣可以使用,所以,這些需求開發並不需要急於實現,但一定要在核心中考慮組合機制。

總之,需求分析是導致軟件產品好壞的關鍵工作,導致軟件開發難易程度大小的絕對因數。寧可將需求分析的時間給充足一些,也不願以後在編程階段補充修改需求(雖然修改需求是不可避免的事實)。

文章來源於軟件測試時代 http://www.testage.net/

2008年10月6日 星期一

[轉載]Automated Testing:A Silver Bullet?


原始發文處:
http://blog.joycode.com/oldsidney/articles/25825.aspx


Automated Testing:A Silver Bullet?

譯註:「美國人深信月圓之夜狼人出沒。殺死狼人的唯一方法是,以銀製的子彈貫穿它的心臟。所以,There is no silver bullet 的意思是:沒有致命、有效、一擊中的的方法。」


一般在提到自動化測試時,通常會有下列的迷失:

  • 我們可以將所有的測試自動化
  • 自動化測試可以提高生產力,讓我們以更少的人力完成所有的測試
  • 測試自動化很簡單( 通常為 capture/play ),所以我們不需要任何教育訓練
  • 測試自動化可以減輕我們的工作負擔
  • 我們不需要作測試計劃就可以開始自動測試
  • 自動化測試會使原本的測試人員變成多餘的
  • 我們不需要花費時間在設計測試個案了

為了要釐清上述的迷失,就必須瞭解『什麼是自動化測試?』以及『自動化測試到底可以幫您作什麼?』,當您對自動化測試有一定程度的瞭解之後,才能真正發揮自動化測試的好處。
自動化測試不是銀質子彈 ( Silver Bullet )?
自動化測試 - 或者說是實施自動化測試的策略與工具 - 只是測試人員工具箱 ( toolbox ) 中的一把大鎯頭,在這裡我特別強調自動化測試只是工具箱中的工具,而避免提及用自動化測試來取代人工測試,因為人工測試是無法取代的。當然毫無疑問的自動化測試是很有威力的工具,只要您運用得當,工具也會為您帶來極大的好處,關鍵在於何時 ( when ) 以及如何 ( how ) 使用它。
我們有足夠的時間作完整的測試嗎?
到底我們有沒有足夠的時間可以作完整的測試?我想答案是"沒有"。因為有太多狀況要測試,例如不同的資料、平台、作業系統、設定等等,而實際的情形是,隨著交貨的時限越來越接近,分配給測試的時間總是第一優先被壓縮掉,結果專案經理與測試人員,大量刪減測試個案,甚至到最後已經刪減過的測試計劃,還是沒有足夠的時間可以完成所有測試,然後,軟體就出貨了。

有多少的軟體是經過完整的測試才出貨的?很多團隊是以下列的條件來判斷是否該出貨了:

  • 我們是否還有時間?
  • 我們是否還有預算?
  • 我們是否還有資源?
  • 我們是否還有可樂與比薩?

由於測試的工作被任意刪減,開發團隊完全不知道交付出去的軟體品質到底如何 ( 通常是品質低落 ),而最後的結果是需要花更多的成本去解決問題。當開發團隊面對這樣子兩難 ( 時程與品質 ) 的處境時,自動化測試能不能幫我們解決這樣的問題呢?讓我們繼續往下探討吧。

自動化測試可以幫助我們作什麼?

在您計劃開始導入自動化測試之前,您應該清楚瞭解自動化測試的定義,以下是一些常聽到對自動化測試的描述:
  • 在測試時完全不需要人去介入
  • 錄製測試腳本 ( script )
  • 測試工具
  • 不知道

有時候人們在解釋自動化測試時,常常只注意到測試腳本 ( script ) 的錄製或撰寫,這樣的看法真的是太小看自動化測試了。以下對自動化測試的定義是來自 Quality Engineering 社群的定義:

自動化測試就是利用策略、工具以及產出等,減少人工介入非技術性 ( unskilled )、重複性 ( repetitive )、冗長 ( redundant ) 的測試活動。

根據這樣的定義,以下列出一些自動化測試的方法:


從上面的列表,相信您對於何謂自動化測試一定更有感覺了!現在您應該能定義自動化測試對於您與您的測試團隊所代表的意義。然後依照您的定義,您可以建立自動化測試的指導方針 ( guidelines ),讓測試團隊清楚知道哪些測試工作可以自動化。

建立自動化測試的指引方針 ( Guidelines )
您可以依照下列的建議,建立自動化測試指引方針或策略:

1. 定義哪些測試適合自動化測試

  • 以下的工作適合自動化:
  1. 冗長的工作
  2. 自動化需重複執行、無聊、且常會讓人犯錯的工作
  3. 從 well-develope 或 well-understood 的使用案例開始
  4. 對於還處於經常變動的系統,從較穩定的部分開始自動化
  • 使用 Data-Driven 技術測試,提高測試涵蓋率的廣度與深度
  • 對整個測試團隊,不需要每個人都作自動化測試的工作,指派少數的專家負責自動化的工作
  • 100% 的自動化測試是不實際的,人工測試還是不可或缺的基礎

2. 計劃作更多的測試

  • 自動化測試讓測試團隊有更多的時間去做更多測試的工作
  1. 更多勘查式 ( exploratory ) 的測試
  2. 更多組態 ( configuration ) 的測試
  3. 更多自動化測試
  4. 更多人工測試,特別是針對高風險的部分
  • 費心的規劃測試,哪些要人工測試,哪些要自動化測試,不要嘗試自動化所有的測試
  • * 設計所有測試並寫成文件,以確保自動化測試不能執行時,馬上可以人工測試取代
3. 將自動化測試當成是一項投資

  • 訓練自動化測試工具的使用者
  • 建立可重複使用的測試程式碼
  • 將測試切割地更小更模組化以方便日後維護
  • 測試程式碼也需要建立註解或說明文件
  • 記得備份
  • 測試程式碼也需要程式碼控管 ( source control )
  • 瞭解自動化測試也是一種軟體開發的過程,雖然通常是透過工具產生程式碼

4. 以漸進式的方式導入自動化測試

  • 不要妄想在短時間之內就能將所有測試自動化,實行初期速度可以放慢一點,以獲取經驗為主要目的
  • 從小的專案開始導入自動化測試,並且以漸進的方式實行

自動化測試還可以為我們作些什麼?

雖然自動化測試在導入的初期,需要投資在計劃與訓練,但是這些投資日後還是會有所回報的,自動化測試可以讓您:

  • 提昇軟體品質 - 因為您可以在更短的時間,以更少的資源,作更多的測試
  • 提高測試涵蓋率
  • 更多時間投入下列測試活動
  1. 細部的規劃
  2. 仔細的設計測試個案
  3. 建立更複雜的測試
  4. 不是更少,而是更多的人工測試

現在您已經瞭解『什麼是自動化測試?』以及『自動化測試到底可以幫您作什麼?』,希望您可以運用這些知識,確保軟體能在通過更多以及更好的測試後才出貨。雖然自動化測試並不是銀質子彈 ( silver bullet ),但是自動化測試確實是很好的工具,只要您能夠將其運用在適當的工作,相信您會得到不錯的回報。

參考資料
原文:The Rational Edge -June 2001- Automated Testing: A Silver Bullet?
Cem Kane's Web site

2008年9月29日 星期一

工作程序,是一種讓人又愛又恨的東西

工作程序的訂定,就像生產線一樣,讓所有工作同仁可以依照一定的流程進行工作,產生出預期工作成果的方式。而其不能由單一的人員或是部門任意更改,因為會影響的層面之大,很難讓人想像後面會影響到的後果。
制度的確容易讓程序僵化,或是市場反應能力降低。但是卻是控制一群人工作方式、工作成本、工作時程的一個方式~因為企業工作成果的產生必須穩定而且可以預期,你可以預期問題、你可以High light出問題...但是你不能獨斷獨行的更改工作程序和標準。

我們產品經理求好心切,對於QA工作的方式和邏輯提出了甚多的干預...
甚至因為不信任技術單位的測試小組,所以要求QA重新確認其測試的結果...
颱風假回來後,我的工程師跟我報告這件事情~我相當不以為然~
我想這件事情不是該不該做的事情~而是工作原則的問題!新老總接手公司的經營之後,一直想要打造一個可以依照程序完成工作的企業組織,大家各司其職,可以利用公司自己的制度規章運作、解決問題...

今天當然PM你很急!你對於產品品質有諸多期待!你期望可以有好的工作產出!但是很抱歉~如果大家都不依照工作程序做事~那大家要依照甚麼樣的工作規範做事!到底誰說了算?誰要負責?未來大家要依據甚麼東西進行工作?

今天看到這位PM寄出一封Mail大聲疾呼「工作程序混亂」...
但我看來,亂的只有他~因為他個人認為這個工作程序「不合理」,「不符合他的預期」...
但說真的,那是他混亂...

之前這些問題並不是沒有High Light出來...
當然也不是不代表這些問題不存在...
只是「現狀」就是如此...要召開跨部門會議討論,我想這些都OK!
但是我不爽的就是干預了現在工作的進行...
每個人都很盡心盡力,但是要大家有遵循努力的目標...而不是工作量無限上綱...
你今天東一個這個該做~另外一個說西一個該做...最後再來怪時程不符合預期!這是極度可笑的事情!

修改工作程序和規範,我想不是不可以!但是...請依照工作程序提出~今天工作程序和標準不是訂著好玩的!今天開發單位讓我們詬病的就是工作程序時程無法如預期的展開和交付,Delay到我們後續的QA工作事宜!但是在QA工作推展的時候,我個人是不接受片面的工作程序改變!因為這樣要讓我們後續的工作推展,要用甚麼樣的標準做事呢?

今天問題不在於QA程序的問題...
所有的問題,都有一個源頭...
就是「變更設計/變更規格」的工作程序不健全...

今天變更設計或是規格,你通知誰了?
後續的工作預期都會受到影響,卻直到收到工作後才知道這些東西改變了...
那之前投入的準備成本是怎麼回事?誰重視這件事情了?後續要怎麼執行?

另外公司內部,QC和QA之間的關係為何?你今天技術單位的QC測試到底自己定義是甚麼呢?別只是問QA要怎麼定義你們QC,而是你們QC到底自己當自己是甚麼東西?
我今天就是不想要QA當QC的保母!我就是不想要重新確認QC的工作成果!我確認他們有問題又如何?今天公司對於QC會有甚麼樣的應對呢?懲處?我QA看到QC受到懲處有甚麼好處?我會High嗎?我會覺得自己獲得正義嗎?靠~這個好笑.....

2008年9月23日 星期二

如何讓自己的工作推展更順利?

一直以來,我的工作模式和習慣都是體諒同事
我可以多幫一點,我就多幫一點...
我可以多做一點,我就多做一點...

當然拿捏不好,很容易好心被狗咬~幫到後來變成自己應該做的事情(笑)
其實這樣的狀況下來,對於公司的運作似乎不是一個好消息
算是一個惡性循環!
你可以解決眼前短期的問題,實際上卻暗藏了未來問題的大爆點...
大家都有自己的職責和應該解決的狀況(或是找人負責和幫忙解決)
如果自己好心幫了別人,說不定某個角度是害了群體的所有人...

以上這些話,都是我家老總對我的訓示(被念的很慘)

如果自己的工作沒有完成或是做好,為何可以進入下一個程序?
找技術單位的主管聊了一下工作的進行狀況,得知原來我們QC的功能測試涵蓋率僅僅只有主要功能的百分之五十到六十左右....
天啊...他居然說這樣就OK了...
原因當然是「時程考量、人力考量...等等」這些老掉牙的理由...
結果,我們QA要花上120%人力和時間去「涵蓋」QC沒有完成的工作...
難道我就不需要考量時程和人力嗎?!

很多事情很掙扎,不想把事情說絕做絕...但是問題還是問題...
我也很猶疑該不該直接去找老總把問題點出來,因為這件事情沒有完成...
接下來的問題還是一大堆...
所謂的品質提昇的目標只是個漫談...

我們處長和我說「往好地方想,現在的產品品質的確比以前好了」
但我說真的,我個人認為還不夠!現在品質還不夠穩定...
大家還是像牛一樣,被打一下才會動一下...
品質文化觀念的建立,並未在公司生根...
還是有不少同事認為,把產品品質弄好是QA的責任,是QA該把問題測試出來...
但換個角度說,大家怎麼不會去想,為何自己寫出來的程式是有問題的!

接下來該做的
就是會同客服單位,解決產品文件品質的問題
今天我們QA講了N次文件品質是有問題的...
但是技術單位只會跟我打哈哈,還說是我們QA的技術常識不足...
現在找了一堆前線單位來「證明」你的文件產出是有問題的
準備施壓讓這件事情可以被要求做好...
標準是自己給自己的...
自己給的低,自然表現的差...
你要我要求你,就別跟我討價還價
要不然
你就期望你自己要求的工作品質,比我們預期的更高....

一切都只是兩個「自覺」罷了!!
你到底有沒有自覺呢?!

2008年8月5日 星期二

軟體測試的動作完成後,我們還該做些甚麼...

產品進入驗證的程序,我們驗出了Bug...那相關的人還需要做哪些事情呢?
這個問題,我也常常思考。例如:
「我都已經驗出Bug,你們開發人員應該想辦法找出原因去修啊!!」
或是
「我找出Bug了,我是不是可以重現這個Bug...我應該要如何重現?」

剛剛在網路上看些有關軟體品質工作的文章,其中有段敘述如下:

在很多時候我們都把測試的目的定位為尋找軟件的BUG,而且是儘可能的找出BUG來,而測試人員所做的事情就是找軟件的毛病,只要找出毛病就可以了,這樣很容易帶了一系列的問題。比如測試人員給某網站做測試,並遞交了一份簡單的測試報告:「當100用戶共同按某提交按鈕時,發生大量的提交失敗」。對於測試人員來說,他已經完成了他自己的任務,找出了BUG,但是,這樣的測試報告對於開發人員和項目管理者卻毫無用處。報告中並未提及造成提交失敗的原因,是硬件資源不足、網絡問題、支撐軟件參數設置錯誤還是應用開發問題等等。

測試的目的是證偽,但不能片面的理解為簡單的找不BUG就可以了。軟件測試應該經歷以下四個步驟:

1.測試人員描述發現的問題(找到BUG);
2.測試人員詳細闡明是在何種情況下測試發現的問題,包括測試的環境、輸入的數據、發現問題的類型、問題的嚴重程度等情況;
3.測試人員協同開發人員一起去分析BUG的原因,找出軟件的缺陷所在;
4.測試人員根據解決的情況進行分類彙總,以便日後進行軟件設計的時候提供參考,避免以後出現類似軟件缺陷。


這個文章來自中國,自然有些用詞比較不習慣。
沒辦法,台灣有關軟體品質的文章或是論壇不多,一方面資源不夠,一方面台灣大多數的軟體開發公司都是中小型企業,要做到所謂的「軟體品質管理」,他們就會想到CMMI,一旦想到CMMI那就代表很多的錢錢...然後大家又閃到老遠...

軟體測試的目標是甚麼,其實就是改善軟體的品質。
除了抓出Bug外,我們是不是還可以做的更多呢?

2008年7月14日 星期一

建立測試工作執行標準

先不談目前公司內部QC、QA傻傻分不清楚的狀況。對於很多不管台灣或是中國的企業來說,這似乎是常態,更可以說不瞭解的人也不想瞭解,至於想不想要做到這樣分工效果,那又是另外一件事情。而很有體認的是,很多主管好像還是認為「品質是可以測試出來的」,我的意思是說「測試過之後品質就會變好」,他們都忘記了最根本的問題還是製程的管控問題,唯有在開發時候的品質就被控制,這樣才不會耗費極大的時間成本在Debug。問題還是看到很多RD或是開發人員還是認為「有Bug我修就好啦~有這麼複雜嗎?」,但不好意思,事情就是這麼複雜!!
雖然公司還是有設立QC部門,而技術部門沒事還是會調侃一下我們QA部門。不過越是學習QA相關的知識和資訊,越是搞不清楚我們的QC在幹嘛!難道專案開發的經驗訓練下,寫文件這件事情只是件照章辦事的交待性工作?
以往在公司專案部門學習到的就是依據專案的系統分析和系統設計文件,撰寫出Test Case,即完成所謂的QC作業。但當我從QA角度去看的時候,我可以合理質疑。QC到底依據甚麼方式來撰寫Test Case。


◎他們是否可以說明他們的測試覆蓋率為何?
◎他們撰寫的Test Case格式和內容是否符合目前工作推展的需要?
◎他們依據怎樣的準則來設計他們的Test Case呢?


不過想當然爾,他們當然不知道。不過老是說別人也不好,既然知道別人有這樣的缺失,我們自己該怎麼避免呢?這些天都在研究一些如何將軟體測試工作處理標準訂定,當然這些東西老在數月前副總已經在追我這些東西,但當時的我那裡寫的出來,而公司上上下下誰可以訂出這些東西呢?但總算,今天把完成了一些進度,把「產品驗證停止標準」以及「Test Case撰寫規範」訂了第一版出來。總算有些產出...

繼續努力吧我~七月是個血淋淋的月份...工作的行事曆真的挺恐怖的...

2008年7月7日 星期一

報告主管們,我們沒你想像中的閒...

我帶領的QA部門現在正在進入熱戰期,公司內有些同仁私下都有反應我們QA是不是和TPM(技術產品經理)對立的有點嚴重。我心想,要不然哩?我可還沒做到「公事公辦」,真的這樣TPM的狀況會比現在慘10倍!但事情僅僅只有這樣嗎?當然不!高層主管開始想一些有的沒有的?之前要我零學習成本、零溝通成本、零準備成本然後完成任務!好啦~大家都犧牲自己的下班時間跟其他同仁耗上完成任務~現在居然又開始擔心「如果QA的工作量沒這麼多了,那你們QA要幹嘛?」
首先,我根本不相信我們會閒下來,在公司這麼久,公司文化是甚麼樣子我還不清楚嗎?如果QA可以閒下來,我倒想問技術和研發部門是不是也關門休息了?QA部門的同仁學習或是整理相關資料難道不需要時間?

QA部門真正的專業,目前為止僅僅只是「堪用」罷了!我為了公司設定的「戰術目標」創造的「野戰游擊隊」罷了!如果是要面對公司最後的戰略目標,那就要將這個特戰部隊轉化成正規部隊。訓練成正規部隊不需要時間和成本?我真的不相信這些主管們不知道這個道理!

QA並不是感冒特效藥,不是成立了...運作了,立竿見影的看到成效!QA真正的目標是創造一個程式開發的品質文化,但是這個品質文化並不是QA自己建立的,僅僅是催化整個組織做變革~看了越多軟體測試的資訊或是方法,甚至其他有關QC、QA的相關程序說明和資訊,我越是確定這件事情!只是,我並不清楚這樣的作法和價值,是不是可以讓公司的一級管理階層理解,另外我們自己是不是有這樣的能力承接這樣大的責任!

你問我QA有機會閒下來嗎?我認為,很困難!而且在公司我已經好些年沒閒下來過了!

2008年7月2日 星期三

驗收!驗收!驗收!

舊案纏身...大家只會跟我提驗收...
怎麼樣驗?拿甚麼驗?甚麼標準驗?
客戶也不是傻子,你說驗他就驗...
今天對方不跟你講理,也或許是他抓著一些小問題...
咬著你不驗收,你要怎麼解決?!

「堅定立場」或是「委曲求全」
也要看自己有幾斤幾兩的實力...

我們的底線是甚麼?對方的底線是甚麼?
他們願意做甚麼?我們願意做甚麼?也或許是我能做些甚麼?
如果我可以做,難道我不願意處理嗎?!
講的都是屁話,我沒啥好推拖~
要不然你們自己去處理...
上次處理不過是把狀況越搞越僵...
緊縮大家的工作底線,我換得甚麼好處呢?Nothing~
今天這個案子願意放棄嗎?口頭講講說願意...實際上呢?
見鬼了...
話大家都會講,問題是要怎麼做的問題...

如果有人可以和我說甚麼好方法,可以來說啊?
打嘴砲我也不輸人...

心力交瘁...
媽的哩...
(頭痛.....)

2008年6月30日 星期一

管理學的一堂課:授權與協助

目前一直還在學習如果當個好的管理階層,我一直認為所謂的Team Work,是大家各司其職一同把任務完成。以前看過一些管理人員的書籍,也提到「把所有工作纜在自己身上做,因為擔心屬下做不好不敢讓屬下去執行的主管,是三流的主管」。我們老總也提到了,要讓屬下犯錯,才會有學習的機會~我僅僅只需要就協助的立場觀察事情的進展,問題的協助和提醒,另外當然就是反覆的確認時程的工作項目吧~

剛剛手下的工程師跑來找我,問我一些工作執行的訊息~並且質問為甚麼很多訊息他都不知道,他認為這些訊息只有「你們」才知道,我反過來問「你們」是誰?他回道「就是你和PM以及PM Team的主管」。我回說「你講到重點了。你應該要讓你負責的案子訊息導向你,而不是導向我~」,接下來我就問他,到底是那些訊息是你認為你不知道的,他回答我之後,我就回說「我不知道這件事情,首先決定權不在我,我僅僅只能告訴PM們,我們部門的所有工作時程,至於這件工作要不要進入我們工作排程中,也要他們先提出申請才可以!」。我也強調的告訴他,我的個性就是這樣,如果這項工作是你負責,你就給我追到底、盯到底,有問題我也是找你~我僅僅負責提醒和協調你不能協調的事情!其他事情你樣樣要自己來!

唯有充分授權,才能讓下面的人放手完成自己負責的工作。我對他們的要求也很簡單,在時程內把工作目標完成!僅僅如此而已!

你問我怎麼辦?我還想問你怎麼辦哩!!

今天部門來了個新人,所以MIS需要準備新人的PC...
不過因為我們部門有設備放在那個桌上,所以網路Port不夠用
結果MIS轉頭問我,這要怎麼辦...

我拿下耳機想了一下,回道「嗯...我不知道要怎麼辦...總之,我的網路Port還是要用」

我是QA Team的Leader,可不是資管部的人,這個問題你不應該要我告訴你要怎麼辦吧!以往已經太常幫你們想要怎麼做,做些甚麼...現在你們是否也該扛點「專業」的問題,不管是設備的採購和調用實作或是提出「建議」也好吧!!

所以,你問我怎麼辦?我還想問你怎麼辦哩!!
切!!

2008年6月16日 星期一

何謂最大產能?只是廢話連篇...

我想公司每個管理階層都有不同的業務目標考量...
我出差期間,遇到其他部門臨時想要安插工作進QA部門進行性能實驗工作
我部門內的member馬上發了訊息給我知道這件事情
我想了想...目前我們應該沒有多餘的時間進行這項工作..
而這件事情,他部門的最高主管我也打過招呼說,在我們可能的範圍內會盡力執行
但如果其他工作進入排程內,我們需要另外檢討一下可執行的方式和時程...

不過我想,這些都是廢話...
我出差了,他們直接找我副總下手。我家副總是個好人,其他部門提需求,很少聽到他說「不」。轉而只會對我們傻笑,要我們想辦法~問題是每一樣工作都很重要,那還是要去分優先性,不是這樣嗎?難不成公司對於問題的處理,只有「加班」這一途解決的方法?
喔...不~他們當然不會這麼說,他們會說「你要想出辦法...」

所以何謂最大產能這件事情,原來是我們自己的事情~他們只需要答應工作進來即可~
除非看到你們一堆人消化不良了~在跟你們摸摸頭的說「辛苦你們了」....

我認為最大產能建立的前提是,「每個工作環節,是不是都清楚的交待應該交待的事務」
不是只有我們QA自己執行的問題,其他單位申請的工作,他們到底清不清楚自己要執行的東西..
而不是做一個算一個...如果不能精確的告知工作方向,那不管是公司資源的浪費...
另外QA的績效也只有苦勞罷了!!難道不是這樣嗎?

何謂QA的專業度?不是指我們聽到其他部門籠統的願望,然後就幫他們實現出來~
問題目前為止,我只聽到這樣的聲音...
把我們搞的像是神燈巨人一樣~~~

這次出差大陸,我又發現新的驗證工作流程的問題...
這個問題牽涉到我們自己開發的流程和未來溝通的成本和效率
有人發現嗎?沒有人發現...
那問題引爆點會在哪裡呢?偏偏就會在我們QA執行工作的期間?
那誰要負最大的責任!?
我想到我就悶!!!

2008年5月25日 星期日

培養後輩...

沒想到自己也到了這樣的階段和年紀。還記得自己十多年前在資策會當工讀生的時,遇到很多好人,願意指導我這個後輩學習很多事情~同樣的,當自己變成一個小主管,面對自己的工讀生又讓我想到我當時的心境,我要如何告訴這些初出社會的年輕人,用正確的工作態度來面對自己的工作,不論這個工作合理與否或是是不是自己目前能力可以做到的~

其實自己走到現在需要感謝的人太多了,有很多提攜自己的人,願意花自己的時間和力氣指導我這個甚麼都不會的人。也許現在的自己也談不上優秀~但總是希望自己能夠幫助這些剛剛畢業的新鮮人一點~

對我來說,工作專業是需要學習的。但最重要的,就是「態度」問題。面對工作的態度、學習的態度、負責的態度...我想態度是一切的根本。對我自己的工讀生,我最重視的就是態度...
有些人說「紀律」也很重要,但我認為...有一個好的工作態度,自然會產生好的工作紀律~

學以致用這件事情,其實我的經驗嗎?很難吧~
面對自己的工作,就是需要不停學習自己根本不曾接觸的東西。這也算是從事資訊業的詛咒,這是我以前的資策會長官告訴我的一句話。(大笑)

2008年4月27日 星期日

跨兩岸工作....真是要命...

這一兩週要密集進行規劃跨兩岸的工作流程建立。包含在職訓練的項目、初期的工作項目和相關工作推展的流程。我一向認為,和一個不一樣文化和工作習慣的人工作,首先就是互相了解...當然對於公司高層而言,這些是廢話...因為「那是你的問題,不是我的問題」。
上頭的主管們,都是希望我工作今天晚上交給你,今天早上就會交出一份漂亮的工作結果報告到自己的桌上。不過,對我而言這是不可能的事情...

好吧~既然如此...還是得為五斗米折腰...自己認份一些多看點資料吧....

我想首先就要了解大陸職場的思維吧....
瞄一下下面這篇文章看看吧...

MBAtics Blog: 掌握在中國做生意的「潛規則」─不想吃悶虧,先懂毛澤東

2008年4月14日 星期一

這算是被婊了嗎?

工作執行到現在,其實我一直很努力在讓工作可以在預計的工作時程內進行。不過,老闆心中當然會有不同的盤算,總是希望事情要「快上加快」。何謂合理的工作時間?我突然發現,如果是老闆學會說這句話,那真的無敵~

老闆說:「我沒有要你加班~我也不希望要你加班~我只希望你可以在壓力下,可以聰明的找資源去完成工作。所以我現在給你這樣的壓力和做不完的工作,是要訓練你找尋資源和方法的能力~」

佩服我家老總,我無言以對...但實際上我的組員們加上工讀生,還是個個加班...要不然工作怎麼交出來,處理的問題一旦變多了事情自然會變慢。今天處理問題又不是不用時間,處理問題完畢後,又不是工作速度就可以等比級數的加快...(嘆)

剛剛老總把我「晾」了起來說,「聽人家說你們單位說,四月不忙,但是五月會非常忙...」我當然瞪大眼的說「我不曾這樣說過」,我也跟我直屬主管再三的說,我現在很努力讓自己單位的工作可以維持在預計的工作時程下完成~因為四月份有好些工作需要加快腳步完成~但是做事情總是需要合理的工作時間吧~

我大概猜的出來是誰在老總面前婊我的,不過我可以想像得出,他應該不是故意的~只是把我很久以前說的「公關用詞」當作「情報」分享給我們家老總...無言以對...我也認了...也許未來該更小心在這種用字遣詞上面,這樣下去我腦袋怎麼掉的我都不知道~這樣就「金害」囉~

2008年4月8日 星期二

工作態度和哲學

前日我不知為何的在公司閒晃,結果在公司餐廳看到幾個同事在吃晚餐(準備要加班的),就跑進去串門子...
結果閒聊的同時,發現自己以前當產品經理時的一個產品開發工程師外加是我學弟的同事,有意離職,這當然引起我的好奇,就開始詢問狀況。我這個同事相當寡言,不過在同事間的評價很好,給人是樂於助人外加溫和的好人。對於工作上的表現也是相當盡責,不過我時常勸他沒事不要加班~就算有事要忙,也要強迫自己偶而不要加班~從他到公司,一直到今天經過了至少兩年的時間,據我所知他每天都讓自己加班...但講真的,我們公司大多數的同事對於加班其實也沒這麼愛~所以這個學弟已經算是公司內少數常在加班的同事。

前言

公司目前面臨轉型和變革,其實現在算是陣痛期。所以我學弟所窩的那個開發Team也在準備移交自己負責開發的產品,但講真的...對於那個Team的Leader,在工作上我以前擔任PM的時候就跟他多有摩擦~不過對於那個技術Leader除了他工作的方式和態度我不欣賞~其實對於工作的努力我是不會懷疑他也是很拼命的。(只是我認為他都拼錯地方,搞了一堆洞給大家跳~)

壓力

我學弟除了自己這樣常態的加班工作,公司也為了加速工作進行,所以公司也雇用了外包人力進入技術Team支援,結果就請我學弟帶...但是這不是幸福的開始,而是壓力的起頭。我很能理解我學弟的無力,我剛剛接下部門小主管職務的時候,也有這樣的狀況。當自己都忙不過來的時候,怎麼知道要給別人甚麼工作,要怎麼確認其他人每天的工作成果和進度,並確保工作時程可以依照進度進行呢?

也許我比我學弟好的地方,就是我一年多年自己因為好奇和無聊(這個原因是真的)書籍的採購清單,從漫畫和旅遊工具書多了一些企業管理和工作管理的書籍,所以當自己剛剛接手工作的時候也是慢慢從忙亂中找到可以運用的方法,漸漸讓我們這個小部門上軌道。(現在還是在努力準備上軌道的階段)

工作規劃

工作雜亂的狀況下,如何釐清手邊的工作是個要務。唯有清楚自己手邊有多少工作,然後設法釐清每樣工作的完成最低標準和需求,進而找尋作法和資源完成任務。我也不是一個頂優秀的人,所以我只好把事情簡化為自己可以消化的模式,慢慢磨練自己的能力極限囉~

所謂「工欲善其是,必先利其器」,使用好的工具釐清和整理自己的想法和思緒是很重要的。像我自己的作法就是利用「心智圖」,其實外面的套裝工具也很多,其實這個也不是我自己獨創的,我也是從我們公司資深開發經理學到這個工作方法的(工作方法要自己偷學ㄇㄝ)。

工作規劃好後,接下來就是用人哲學。之前有機會聽到好些優秀的經理人分享自己的用人哲學,另外因為自己以前在軍中服役的時候,因為在實戰單位擔任士官職務也是需要領導任務的執行,這也算一個很重要的歷練。如果將任務細分,然後交給對的人執行...如何訓練大家未來可以把自己的工作做的更好?如何分享大家的工作經驗和知識?很多可以思考的方向。

面對和思考

對於工作上的難題,用如何的態度和思考方式,是一門學問...我不算是一個成功者,不過我相信大家都有自己在「職場」求生存和發展的心得。
像我自己的座右銘「打不死的蟑螂」。我這個座右銘絕對是認真的~人生而在世,放棄是多麼容易的事情,但是將人生攤開後甚麼東西才是最重要的事情,今天遇到問題衝的頭破血流才叫做盡責和「打不死」嗎?請問你甚麼時候看到蟑螂面對拿著脫鞋的你大叫說「老子跟你單挑」。聰明的蟑螂面對拿著拖鞋的你,會選擇「轉進」(就是到處逃跑啦~)因為他已經把握了他面對問題最重要和優先的事情,就是「生存」。而我們面對工作的時候,是怎麼看待要執行的工作的~方法是活的...目標是可以釐清的~這是我的想法。相同的工作項目到了不同的決策者手上通常都會變成不一樣的事情,如何釐清就是個課題~對於我們這在職場上求生存和發展的小螺絲這件事情就很重要了...(不知為何,我居然想到櫻木花道的小人物上籃...聽不懂的人,你年紀不是比我老很多,就是比我小很多...哈哈哈哈)

故事的尾巴

和學弟談了很久,其實我不知道我有沒有說服或是讓他有所收穫...總之他說他還是會持續的思考一下。我認為他是一個優秀的人,優秀的人有很多種,有的專業很強,有的...則是擁有極佳的「態度」,這個態度不外乎「學習的態度」、「負責的態度」、「互助的態度」....等等。

學弟加油啦~人生的歷練不過如此啦~

2008年3月30日 星期日

公司搬家記...

其實去年年底就知道公司會搬家,只是因為很多原因所以拖拖拉拉的到三月底才搬。其實有些同事不是很願意公司搬家,原因就是新公司位置比較偏僻,然後上班會需要比較多的時間…如果你問我的意見,我當時應該是為了「低價」的停車費用 所以反而期待公司搬家。
公司原本的位置其實附近有很多吃的東西,也在捷運站附近~其實機能性一直不錯,很典型的都市型辦公大樓~但是附近的停車位都是每小時四十到五十的價位,講真的一個月下來也要個四五千元,真的超級貴~
而新的辦公室呢~附近路邊停車費用一個小時約二十到三十元,但因為我們租下的辦公室位置,算是個新廠區所以沒啥公司,現在還是可以亂停車中。只是這樣「免費的停車位」可以維持多久呢?我也不知道~

而執行搬家這件事情,也是搞的我人仰馬翻。上週四晚上到新辦公室引導搬家公司的人搬家,但是因為進度Delay,結果我居然耗到凌晨兩點才到家~隔天週五的時候下午三點跑到新辦公室整理東西,結果一團亂...一直窩到晚上十點才整理完畢...

這一切都只是為了週六、週日可以不要回公司整理東西而已...

公司搬個家,弄得我要加班外加腰酸背痛...真是要命說...

2008年3月25日 星期二

多重壓力和時程...

其實,自己在寫這篇前也知道...我現在遇到的事情,其實再平常不過了。任何一個上班族肯定都會遇到這樣的事情和感覺...差別大概在於常常遇到和很常遇到這兩種差別!
如何把工作消化?如何有效的規劃所有的工作?如何監督和確認工作會依照預期的時程進行~這些都是持續學習的課程。

事件

心情的影響,大概是因為今天被主管很嚴厲的責罵。但是...(身為屬下總是會有「但是」...)整件事情,我也認為我很無辜。從我得知這件事情到處理這件事情還不到24小時,更何況還包含客戶端的東西,客戶端自己都沒有搞定很多事情。我也很傷腦筋接下來要怎麼玩~只好持續厚臉皮的騷擾對方的副總...不過也被對方副總非常客氣的「小噱」了一下...但...我能怎麼辦哩!?總之,大家都只是想把這件事情做完做好而已。就姑且這樣想吧~

聯想...

接下來要完成的事情也突然的暴增,很多都不在預期的計畫中,打亂了原有的規劃和時程~工作只有越來越多的份,要不然我能怎麼辦呢~好不容易有的空閒時間也要忙著把相關的準備工作做完做好~要不然之後要怎麼推展工作?
也許能力還是不夠,我每每做的事情~長官總是有話說...但是如果照著做出錯~黑鍋也是要照背...很典型的上班族生活~長官心情好的時候會說『這件事情我知道大家都不知道要怎麼做!放心~這件事情我會跟你一起搞定』,但是實際上是『你把這件事情想清楚後,跟我報告你要怎麼做...』,說了這麼多...So What...套句大家說的話,「現在這間公司,誰不忙呢?誰壓力不大呢?」細細想想也是這樣...我想,我真容易被說服~

轉念頭

能做的不多。就是把工作搞定,依照時程和計畫推動工作直到工作被完成。很簡單的一句話...但可能是最難完成的作業~仔細想想,其實每個主管的壓力都很大...雖然說真的...我的壓力也未必小,但這就是工作吧...不停的完成不可能的任務....

2008年3月23日 星期日

溝通...

上週五,找了PM team的主管交換QA工作執行程序的意見。不過...又進入了持續的妥協狀態,其實他考量的地方也沒有錯,這是我們的現況。但說真的,妥協現況的事情在接這個職務之前,我也做的比任何人都多。但是我發現「妥協」並沒有讓事情好轉,我只讓自己的工作惡化~
也許PM team考量的點是因為,QA team在執行初期並沒有太多的專業能量可以解決這個問題,這是個現實的問題,因為這樣的狀況確實實際存在。不過我也清楚知道,如果很多該做的程序規劃沒有作...未來問題也不會被解決。
我期望未來我所帶的team可以在問題發生前就先預防問題。在所有有關QA或是QC的文章都會提到「成本」的問題。如果問題可以在越早的步驟發現問題的存在,那修正問題的成本越低。我可以預想到如果我不能更早的發現問題的所在,然後終止他發生,那我未來我QA的工作會等比級數的無限沈重...這是我完全不想看到的狀況。
不過,我沒辦法說服PM team leader支持我的想法...
他只願意在他的工作範圍支持我...而不願意在這件事情陪我去說服技術單位。現在的狀況,有點像是一個旅人在涼爽的好天氣中看見不遠處有暴風雨...但沒有選擇...只能勇往直前的味道...

2008年3月19日 星期三

QA角色的釐清

今天跑去找以前在資策會的長官,請教有關QA的作法。獲得了很多的啟發,也印證了之前「同人兄」跟我分享的定義~而QA如何去做到確認整個軟體開發的程序和流程,進而做到「品質確認」呢?
就像很多人都認為,QA和QC還不是都一樣,如果要做到QA(品質確認)也是要進行測試啊?真的好一個鬼打牆的說法~如果說重點在「測試」那何必要第二次的QC來檢驗第一次的QC成果哩?所以囉...重點應該不是在這邊~
就我獲得釐清的答案,可以簡單的說...QC(品質管制)僅僅是程式在開發階段的一個程序,而QA則是要確認整個開發案從「程式需求」、「規劃和設計」、「開發和測試」最後到「驗證」都要確認流程正確。怎麼說呢~應該說整個程式開發都是要滿足第一步「需求」這個步驟~QA就是要確認「規劃和設計」符不符合「程式需求」;「開發和測試」符不符合「規劃和設計」甚至「程式需求」;「驗證」是不是可以符合「程式需求」~其實QA就是要做這件事情...
而QC僅僅只是做好「開發和測試」符不符合「規劃和設計」,如果有使命感的QC也會重複確認自己的「測試內容」是不是符合「程式需求」。
(靡靡之音:問題可能有這麼自動嗎?程式開發人員,只會把自己寫好的那部分測試而已,哪裡會做甚麼有效的整合測試呢?)

2008年3月17日 星期一

何謂QA呢?

剛剛接到這個任務,很多朋友都跟我說「這是一個不幸」的職務。
但講真的,我活到現在三十歲...這種接手「不幸職務」的工作,對我來說已經是個常態了。當過兵的都知道,軍械士(在部隊中管理槍枝的士官)是個「賽」職務。特別在打靶、演訓不斷的野戰單位尤其如此...別懷疑,我就是那個倒楣的傢伙...

以往並沒有QA的工作經驗,在台灣這個不怎麼重視「測試工作」的軟體環境中...我好像只有少少的QC經驗,所以當我請教公司內部技術明星的時候...得到的答案都僅僅有「軟體測試」的知識...
像是「白箱測試」、「灰箱測試」或是「黑箱測試」這類課本就有講的東西~問題實務的執行經驗和方法呢?「Zero & Nothing」(傻笑)
我好像常常這樣,不管是軍械士(我是受戰車補給訓的)或是產品教育訓練~甚至新產品發售的時候,跳上講台對著下面一堆客戶簡報兩個小時...真的覺得自己無敵(也無奈)

好啦...回到正題...何謂QA呢?
我請教了一位我在網路上盯著看很久的Blog作者「同人」,提起勇氣,發了封信請教他這個問題...

他回覆的內容如下:
QA 是確認品質的執行的過程,而 QC 則是確保品質的控制過程。前者是確保工作可以用正確的步驟來執行生產工作,而後者則是檢驗工作產出是否符合規格與客戶使用上要求,兩者有很大的不同。測試 與檢驗無疑是 QC 的過程,而 QC 過後的分析問題成因、教育訓練、稽核、訪談等,都是屬 QA 的範疇。一般而言,QA 多半牽涉流程是否適切(人與事),QC 則專注於產品是否有問題(物)。


不過他也提到我所感受到的事情...
在台灣的軟體開發,太多的人無法分清楚 QA 和 QC,但爭辯又沒有太大的意義,如果無法改變他們的觀念,我通常會選擇沉默以對,不要拆穿它。


大陸從事軟體代工的公司眾多,也因為人口多相對網路資源也不少~關於QA及QA的工作,也有很多專業論壇在大陸地區...也看到很多「先烈」同樣有這樣的感慨...

我現在要怎麼做呢?就是自己先不迷失吧~