質量保證中的質量定義:產品或服務滿足顯式或隱含需求能力的功能和特性總和。而我們外包測試我們提供的是測試服務,我們除了分析客戶的顯式需求,還要分析客戶的隱含的需求。顯式的需求我們很好理解,即客戶通過需求文檔、口頭要求、電子郵件要求、變更管理系統中對需求的變更等,這些都是用戶提出來的需要我們作為測試中依據的。當然我們不是特別希望客戶通過口頭要求、電子郵件等非正規形式提出需求,但是目前現實的情況,我們也要考慮,規范需求管理是我們幫助客戶不斷改進的一個方面。而我們更多的應該關心客戶的隱含需求,這些需求包括:
1、 用戶可能認為我們理解或遺漏的。例如認為我們很熟悉其行業的特點,而沒有在文檔中說明;
2、 行業規范。每個行業都有一些行業中大家中的一種規則,例如會計帳務記錄和報表,嵌入式領域中對物理內存考慮等;
3、 計算機領域的規范和習慣。例如,窗口中的確定按鈕在取消按鈕的左側。Web中的導航設置等。
4、 客戶對計算機技術的限制。例如,其不太清楚對性能指標如何來描述。對系統中的安全性要求,從哪些方面描述等。
度量不是指具體的事物,而是對每個事物的度量。質量是一個度量元,事物度量的結果應該有一個明確的描述,不管是定量的還是定性的。當然定性的也最好是通過能夠一些量化的參數判斷。
目前很多的質量保證原則不會與當今的商業軟件系統開發的現實相符合,也存在一些對質量方面的片面認識。下面是根據一些書籍結合我對外包方面的一些經驗匯總的對質量的認識誤區。
1、質量需求決定進度。事實上,對于大多數軟件系統而言,市場壓力和競爭決定進度。而對于我們外包測試行業來說,客戶要求則決定我們的測試進度,歸根結底,客戶要求也是基于市場壓力和競爭等方面的考慮。引用1997年Microsoft公司的測試主管Roger Sherman講述的一段話來很好的證明!斑M度通常是質量的敵人,但在Microsoft,進度被看做是產品質量的一個部分。的確,Microsoft研究其市場并基于市場需求確定其自己的質量定義。而我們目前提高測試服務的金融客戶,尤其是銀行,對質量要求非常高,而基于國有銀行、商業銀行、城市銀行,還有WTO開放后進入的外資銀行,對新產品的推出速度或多或少決定其在市場上的占用率,這些從外匯交易、黃金交易、基金托管等業務可窺見一斑。
2、質量等于可靠性,或可以說零缺陷是高質量產品的要求。而實際上可靠性僅僅是產品質量的一部分。我一直認為所說的零缺陷,只是一個海市蜃樓之類虛無縹緲的東西。這種零缺陷的軟件系統我想可能很少存在,當然如果是經過了實踐證明,的確某軟件系統不存在任何缺陷,那就是說這種軟件系統連用戶認為連建議修改或完善的地方都沒有。例如,控制激光手術的伽馬刀系統是否滿足零缺陷的要求。一般商用軟件不愿意支付零缺陷產品或100%可靠性所需要的成本。而對于
3、用戶清楚他們的需求。事實上,用戶需求往往是模糊的和粗略的,并不詳細和具體。上面我們分析過,由于用戶各種因素,很難準確的描述他們的需求。例如一個銀行的報表經常有上百個之多,而這些報表是否都是需要的。有時候可能通過調研獲得需求,但是這種調研是否對需求帶來用途呢,而在需求描述中還是需要盡量把所能考慮的需求都描述了,結果使系統臃腫不堪。
4、需求就是正確的。提出業務需求的人也是普通人,人是需要通過實驗及排錯的過程才能得到好的設計。如果開發過程沒有充足的時間完成設計、測試和修復缺陷將不可能開發出好的產品
文章來源于領測軟件測試網 http://www.kjueaiud.com/