探索式測試:肥皂劇測試(Soap Opera Testing)

發表于:2012-07-10來源:博客園作者:liangshi點擊數: 標簽:探索式測試
肥皂劇測試(Soap Opera Testing)是Hans Buwalda(CTO, LogiGear Corporation)提出的系統級功能測試方法。其特征和方法對于基于情景(Scenario)的探索式測試很有啟發性,是探索式測試者值得研究的工具。本文將簡介肥皂劇測試的基本方法和特征,詳細論述請參考Han

  肥皂劇測試(Soap Opera Testing)是Hans Buwalda(CTO, LogiGear Corporation)提出的系統級功能測試方法。其特征和方法對于基于情景(Scenario)的探索式測試很有啟發性,是探索式測試者值得研究的工具。本文將簡介肥皂劇測試的基本方法和特征,詳細論述請參考Hans的原文。

  測試用例

  一個肥皂劇測試的測試用例是一個場景(Scenario),類似于一個小故事或肥皂劇中的一段情節。Hans的文章收錄了 Brian Marick(測試專家、敏捷宣言的締造者之一)編寫的一個測試用例,十分有趣。

  用例名:租用與事故

  客戶Marick為了三天的旅途租了一輛汽車。在租用期間,他又延長了一周(以便獲得足夠的租用積分來得到Preferred等級)。幾天后,他打電話報告車丟了,并要求換車。他強調在更換車輛時,他理應享受Preferred等級,即便在租賃期開始時他并不位于該等級。他得到了另一輛車。兩天之后,他打電話報告那輛“被偷”的車被找到了。事實證明,實情是他忘記了停車地點。他希望歸還其中的一輛車,并結束相關的租賃業務。糟糕的是:發現舊車時,他的新車撞上了舊車?,F在,它們都損壞了。

  該情節將測試以下內容

  (在租賃期)升級到Preferred等級

  延長租賃

  被盜申報

  車輛更換

  取消車輛更換

  取消被盜申報

  歸還受損車輛

  這是一個典型的系統級的場景測試用例,用一個較長的流程覆蓋了系統的多個功能。通常,測試者會遵循如下步驟來構造肥皂劇測試用例:

  分析系統,確定系統的功能點,并擬定測試目標。

  設計一條或多條肥皂劇測試用例,以滿足測試目標。

  如果發現新的測試目標,延展已有的測試用例或增加新測試用例,以確保測試覆蓋。

  Hans建議測試者分享、閱讀、討論彼此的測試用例,以獲得靈感,并完善故事。他認為,擁有獨立的測試設計與評審階段,是肥皂劇測試的一個優點。

  四大特征

  Hans用 一句話歸納了肥皂劇測試的特征:

  Try to write scenarios that are (1) based on real life, (2) exaggerated, and (3) condensed into a limited number of events.

  其要點與電視中的肥皂劇如出一轍:源于真實生活、濃縮、夸張,(同時要充滿樂趣)。

  1. 源于真實生活(based on real life)

  軟件要能幫助客戶解決實際問題,特別是復雜的現實世界中的困難問題?!俄椖堪賾B》指出:“很多項目沒有真正成功,只因為缺少一個人專門負責確保最終的業務流程——從用戶的角度看來——盡量順利地開展。”肥皂劇測試通過聚焦用戶的使用場景來伸張用戶權益。那些看似極端、卻可能真實發生的故事,往往能揭示系統的深層次錯誤。此外,通過編寫肥皂劇測試用例,測試者可以更好地學習并理解被測試系統。當他把測試用例分享給項目涉眾(特別是領域專家和開發者)時,整個項目團隊都會受益。

  2. 夸張(exaggerated)

  肥皂劇測試用戲劇性的問題拷問軟件,看它如何應對。這與James Whittaker在《探索式軟件測試》中提出的“學究測試法”(Intellectual Tour)和“傲慢的美國佬測試法”(Arrogant American Tour)有些相似。測試可以像刻板的老學究,向軟件提出難以回答的問題。測試也可以是驕傲的美國佬,總是發出可笑的問題,惹是生非,自以為是(好似測試用例中的Marick)??鋸埖那楣澴尫试韯『每?,夸張的測試用例幫助軟件應對現實難題。

  3. 濃縮(condensed)

  肥皂劇測試同時展開多個復雜的情況,看軟件如何處理。軟件也許可以分別處理每一項業務,但是當多個業務同時提交且相互牽扯時,軟件的設計缺陷可能讓用戶一籌莫展。肥皂劇往往展開多個支線情節,相互交織,彼此推動,測試情景也可以如此。此外,濃縮的情節可以在較短的時間內測試多個功能,提高了測試效率。

  4. 樂趣(fun)

  樂趣是高效軟件測試的核心因素之一。軟件測試是高水平的智力活動,需要測試者全神貫注,以思考力決定成敗??菰锏臏y試過程會壓抑測試者的創造性,使他們的精力被快速耗盡,注意力漸漸被網頁和郵件所吸引。而有趣的測試過程會激發測試者的創造力,使他們始終熱情高漲、思維活躍。因此,Hans強調編寫測試用例一定要充滿樂趣(it must be

  great fun to write them)。此外,好的測試情節不但容易理解,而且能夠激發審閱者、測試者的靈感,讓他們發展出更好的支線和細節。

  肥皂劇測試與探索式測試

  探索式測試強調測試將測試設計與測試執行作為相互支持的活動并行地執行(詳見Cem Kaner的定義),但是并不排斥單獨的測試設計階段。Cem Kaner說,測試有兩個極端:完全的即興測試(毫無計劃)和絕對的計劃測試(編寫細致入微的測試計劃,且嚴格遵循),大多數測試者都位于兩極之間,有些人更靠近即興的一端,有些人更靠近計劃的一端。注重實效的測試者會根據當前項目的特征,動態地調整自己的位置。

  在《探索式軟件測試》的第5章,James Whittaker詳細討論了如何結合場景測試與探索式測試。他說:“場景是探索式測試的一個絕佳起點,探索可以給場景加入寶貴的變化。明智的測試人員會把這兩種方法結合起來,以更好地覆蓋應用程序”。肥皂劇測試用例就像是地圖,給出了測試流程和一般性指導。在測試過程中,探索式測試者可以去游歷更多的情節、發展更多的支線、探究更多的細節。正如James所說:“地圖不是為了找到最短的路徑,而是幫我們找到更多的路徑”。

  劇本固然要緊,但是導演和演員的現場互動和即興發揮可能更加重要(喜歡王家衛或杜琪峰電影的人對此會有更多認同)。測試用例就是劇本,它展示了舞臺;集編劇、導演、演員于一身的測試者應該發揮創造力,去演繹精彩的測試。

原文轉自:http://www.anti-gravitydesign.com

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