QA 技能點開始累積

Aug 3, 2018




前言

新的會計年度,被指定轉做 QA 工作,比較常看到的一般是 QC, Quality Control ,那什麼是 QA 呢?查了一下谷哥大神,原來 QA 就是 Quality Assurance 品質保證,很巧合的是,本人出社會的第一份工作,當時任職的雖然是個微型企業,但因為是為跨國公司進行代工,對於品質的成本買單,當時就被指定為品保的主管,負責品管事項及人員;雖說如此,但以編碼糊口之後,就一直是作為撰寫臭蟲的開發人員在生活,所以雖然對品質有所要求,但也就一直僅是如何提昇自身戰技,以如何避免寫出臭蟲的角度來看,如何開發出良好品質的軟體。

核心價值

整合開發人員的經驗及工業工程的所學,對於軟體品質的提昇可以從輸出端看,在使用者拿到之前,臭蟲能被捉出來;然而,更重要的是從輸入端看,在程式被簽入版本庫前,能夠避免臭蟲被簽入,怎麼做呢?不免俗的將此整合兩句郎朗上口(有嗎?)的對句,作為新角色的核心價值。

協助軟體以正確的方法進行開發,
確認軟體能正確的提供預期價值。

如何協助軟體以正確的方法進行開發

對於如何協助軟體以正確的方法進行開發,將以往在開發過程有幫助的經驗加以推廣。

  • 單元測試撰寫的教育訓練-SpecFlow

    單元測試撰寫可說是測試驅動開發的前哨站,而測試驅動開發是作為開發人員避免寫出臭蟲 ( 註1 ) 的最佳開發方法論 ( 本人主觀見解 )。

  • 統一撰寫風格-StyleCop

    閱讀程式所消耗時間遠多於繕打程式的時間,對於團隊開發而言,一致的撰寫風格有助於後續維護人員的閱讀,撰寫時多花十分鐘想想及額外繕打註解及說明,往往能有效的改善閱讀的效率。

  • 註解自動化工具-GhostDoc

    開發人員第二討厭的事就是寫說明跟文件,第一討厭的則是別人外寫說明跟文件,讓打字這樣的工作只需要繕打最重要的部分。

如何確認軟體能正確的提供預期價值

  • 介面互動測試

    提供自然人使用的應用,通常還是圖形化介面,介面的互動反應影響使用者經驗,而使用者經驗不佳,就產生預期價值降低的風險。

  • 系統整合測試

    提供完整的系統整合測試,避免零件都對了,組裝錯了的問題。

  • 自動化測試及報表、文件建立環境-Pickles/Sandcastle

    透過讓文件的建立成本降低,讓文件的邊際價值提昇,即時提供系統類別清單或是測試案例執行情形。

註解

註1:這裡的臭蟲指開發人員改 A 錯 B 的情形而言。