MFQ&PPDCS 大型嵌入式軟件系統的測試分析和測試設計(3)

發表于:2013-08-23來源:wzhj132的個人博客作者:邰曉梅點擊數: 標簽:測試設計測試分析
Step4:進一步測試 沒有一種類型的模型可以有效地描述測試對象的所有方面。盡管上面三個步驟已經使用,仍然會存在測試對象的一些其他方面需要測試。

  Step4:進一步測試

  沒有一種類型的模型可以有效地描述測試對象的所有方面。盡管上面三個步驟已經使用,仍然會存在測試對象的一些其他方面需要測試。例如,一些特殊的規格變量限制關系很難放進模型,所以需要另外一個分開的測試設計。另一方面是,人們的經驗,測試分析者對測試對象有他們自己的理解,而且很難放到模型中,所以更進一步的測試設計過程是需要的。

  好的測試=正式的測試+非正式的測試。前面三個步驟是正式測試過程,最后的步驟“高級測試”是非正式的測試過程。實際上,非正式測試并不意味著沒有任何規則可遵循的隨機測試。有很多成熟的非正式測試的方法,比如基于錯誤的測試,探索性測試等等,這些測試不在這篇文章詳細展開。

  C M-基于模型的簡單功能測試分析和設計

  上述“基于4-step模型的測試設計過程”是最適合簡單功能測試設計的,因為簡單功能的合適粒度,所以這部分用M(Model)表示。

  在為簡單功能測試設計和分析應用4-step過程中,首要做的是將測試對象分為不同的”簡單功能“(單元或者組件)。根據我的經驗,一個簡單功能的可以是幾十行到幾百行代碼的大小,但是最好不要超過一千行。一個簡單的功能在單元測試里可以對應1個或者幾個組件,或者1個或幾個SRS的需求,或者一個或者兩個用戶場景。沒有明確的規則規定那個文檔需要被引用,那個需求或者規格需要對應一個簡單功能。因此,測試分析者需要收集足夠多的材料來做測試分析來識別需要測試的合適的簡單功能。

  在面向對象的程序里,簡單功能可能相對比較容易識別。一個對象負責實現的方法(成員函數)或者一個類可以被看成整個系統的一個簡單功能。但是在其他語言,例如C語言,識別簡單功能不是那么容易。通常情況下,一個簡單功能擁有兩個特征:

  從需求的角度看,一個簡單功能是相對獨立的。一個軟件系統由很多特性組成,一個簡單的特性可以分解為很多分開的功能。

  從實現的角度看,內在邏輯和簡單功能是相干的。例如,一個對象的行為可能通過很多方法(很多功能)實現,一個方法可能包含很多步驟。

  同Bill Wake描述的的用戶故事的INVEST模型類似,一個簡單功能應該是獨立的、可測試的、有價值的(實現特定功能)、比較大的(根據上下文情況,沒有固定的大小)、可調整的(簡單功能的分發可以適應測試分析和測試設計的活動的調整)

  從系統特性中識別出簡單功能后,下一步就是對每個簡單功能使用4-step過程進行測試分析和設計。第IV章將詳細描述。

  D F-功能交互的測試分析和設計

  ”F“代表功能交互。

  在簡單功能的測試分析和測試設計完成后,怎么處理簡單功能間的交互關系?我們可以使用下面的4-step過程來做功能交互分析。

  注意:在下面表格中用單詞”特征“來替代”簡單功能“,因為”F“和”Q”部分在特性級別頻繁使用。

  Step1:建立模型

  列出跟所要測試功能有關的遺留功能。他們的關系是“交互”或者“修改”。“交互”以為遺留功能和被測功能需要共同配合做某些事。“修改”意味著遺留功能因為新增的被測功能需要修改。

  列出跟被測功能相關的新功能。他們的關系是時間關系(先后運行,或者同時運行),空間關系(使用共同資源例如定時器、內存、或者交互的信息等)或者其他任何關系。

  將遺留功能和其他新功能放到表格的第一行,將測試功能放到第一列

  將有交互的單元格標志”X”

  Step2:設計基礎測試用例

  針對表格中每個有交互的內容,我們設計一個或者結果基本測試用例-每個測試用例清晰描述兩個有交互功能的關系。表格II闡述了這個步驟:

  Step3:填充測試數據

  識別每個FIP基本測試用例的變量,然后使用的EP(等價類劃分)和BV(邊界值)獲得更多的數據,完成測試用例。

  Step4:擴展測試

  嘗試基于測試者的經驗得到更多的測試用例。James Bach’s Heuristic測試方法【12】有非常好的參考文檔。

  E Q-質量屬性的測試分析和設計

  Q代表質量屬性.

  除了功能測試分析和測試設計,其他質量屬性也需要考慮。

  Step1:建模

  選擇和定義要測試的產品的相關非功能質量屬性。ISO9126【13】有對質量屬性和子屬性的非常好的定義。

  將所有的質量屬性寫入表格的一行中,將每個組件、功能或者特性寫在第一列中。

  將有交互的地方畫上”x”,表示這個組件、功能或者特性需要考慮這個質量屬性。這個分析粒度在這里不固定,不管是組件級別、功能級別、甚至特性級別都可以。下表是基于功能級別的例子:

  Step2:設計基礎測試用例

  針對每個表格每個交互點,設計一個或者幾個基本測試用例,描述清楚要驗證的質量屬性。

  Step3:補充測試數據

  找出每個QCIP基本測試用例中的變量,使用等價類劃分和邊界值得到更多的數據,完成測試用例。

  Step4:拓展測試

  嘗試基于測試者的經驗獲得更多的測試用例,【12】將很有幫助。

  在”F“和”Q”中使用”表格“作為模型的好處是它使得測試分析者不會那么容易忘記一些測試的相關點。

  這個章節主要將MFQ框架。“表格”用來描繪功能交互和質量屬性的測試分析模型。但是針對簡單功能測試分析,模型的類型會是不同的,下一章節會講到這個。

  IV PPDCS-選擇合適的測試技術來建模

  A PPDCS介紹

  就像上面說的,4-step過程在每個M,F和Q測試分析和測試設計過程都會用到。在4個過程中,step1是關于測試分析的,也是最重要的步驟的。在F 和Q部分,step1比較簡單就是用表格作為模型。但是M部分,step1可能是大多數測試分析者認為最困難的。面對眾多測試設計技術和面對不同特征的測試對象,測試者經常思考要選擇哪種技術來建立一個好的模型。

原文轉自:http://hejiajie.cn/archives/472

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97