• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 學習探索式測試的問與答(2)

    發表于:2012-11-12來源:博客園作者:探索式測試點擊數: 標簽:探索式測試
    大量的詳細測試腳本導致了沉重的維護代價。在進度壓力下,測試人員可能沒有時間更新測試腳本,這使得測試腳本不能隨 需求 和產品一同演化。隨著時

      大量的詳細測試腳本導致了沉重的維護代價。在進度壓力下,測試人員可能沒有時間更新測試腳本,這使得測試腳本不能隨需求和產品一同演化。隨著時間的推移,大量的測試腳本成為過時的、無人問津的“擺設”,原先投入大量資源所獲得的測試資產幾乎消耗殆盡。

      要求測試人員編寫求全責備的測試腳本,很可能帶來不良的心理暗示:測試人員在不知不覺中將編寫腳本看做測試的目的,而不是輔助測試的工具。他們會盲目追求腳本的數量,而很少關注產品和項目的風險,用看似“完備”的腳本集提供虛假的安全感。更糟糕的是,醉心于腳本數量的測試領導很可能會鼓勵這種以“文案工作”為核心的測試流程,使測試的價值進一步流失。

      相比“硬幣”的比喻,筆者更喜歡Cem Kaner的觀點:“純粹的探索式測試和純粹的腳本測試好似區間的兩個端點。在實踐中,大多數測試者位于這兩者之間。然而,大多數好的測試非常接近探索式測試的一端。”[Kaner09]

      此外,根據語境驅動測試的基本原則,測試人員需要經常反思:根據當前語境,測試策略是應該偏向探索式測試,還是腳本測試?如何綜合它們的優勢,以獲得更好的測試結果?

      問:探索式測試編寫測試文檔嗎?

      答:探索式測試者創建任何有助于實現其目標的文檔 [Kaner08],他會撰寫并維護符合語境的測試文檔。這里提出一種可能的測試計劃編寫方法,供讀者參考。

      在不同的開發組織,測試計劃有不同的名稱:測試計劃、測試規格說明和測試設計文檔等。但是,大多數測試計劃會涵蓋產品概述、測試范圍、測試風險、測試策略、部分詳細測試用例、資源分配和日程安排。

      與腳本測試在測試執行前編寫大量文檔不同,探索式測試在整個測試過程中持續編寫、修改、優化測試計劃。測試計劃的內容、格式、詳略是由項目語境決定的。

      在項目計劃階段,測試計劃可以包含產品概述、測試范圍、測試風險、測試策略、資源分配和進度安排。編寫文檔的目的是建立對產品的整體認知,根據風險提出相應的測試策略,并安排測試任務和日程。測試計劃不必面面俱到,用精簡的格式記錄必要的內容即可。此時項目的不確定性較大,未知因素較多,很可能不適合做出詳細的測試決策。

      在項目計劃階段,應該邀請項目關系人對測試計劃進行評審。評審的形式可以多種多樣,會議評審、桌面走查、郵件評審、在線文檔批注、頭腦風暴皆可。評審的目的是發現“大圖景”上的缺陷,并豐富測試策略。眼界開闊的項目經理、負責任的開發人員、經驗豐富的測試同事能夠提供很好的建議。

      在測試階段,測試人員需要根據測試進展持續更新測試計劃,內容可能包括產品模型、檢查列表、測試策略、覆蓋大綱和風險列表等。測試計劃應該是“活”的文檔,能夠反映測試人員對產品和項目的最新認識。對測試范圍、測試風險、測試策略和進度安排的重大變化應該寫入測試計劃,重要的測試用例(如發現嚴重缺陷的測試用例)也應該及時融入測試策略。測試計劃應該盡可能地精簡,這有助于文檔的持續更新,而冗長的文檔將不利于閱讀、增刪和修訂。

      當測試人員認為測試計劃相對完整之后,他還應該邀請項目關系人對測試計劃進行評審。評審的目的是發現測試遺漏,補充測試策略,提高測試覆蓋率。

      以上方法有三個重要的特點。

      測試計劃的編寫與改進貫穿整個測試過程。在測試執行之前,對測試計劃不必求全責備。在測試執行中,測試人員根據測試反饋,動態地調整測試范圍、項目風險和測試策略,生成新的測試用例,并對測試計劃做必要的更新。

      測試人員持續地收集對測試計劃的意見,并將改進意見納入測試實踐。正式和非正式的測試計劃評審可以識別潛在風險,豐富測試策略。在一些測試流程中,測試計劃評審只發生在測試開始之前。但是,筆者建議在測試流程的中期再次評審測試計劃,目的是進一步豐富測試策略的多樣性,并發掘可能的測試遺漏。這時,測試團隊對產品與風險擁有更深刻的理解,能夠提出更具針對性和多樣性的測試策略,也可以幫助測試人員發現測試盲點,從而提高測試覆蓋率。

      測試計劃側重測試規劃(一組指導測試過程的想法)和測試策略(一組指導測試設計的想法)[Kaner01],而不是腳本化(Scripted)的測試用例,即測試計劃用精簡的格式表達測試人員的測試想法,而不必詳細記錄測試用例的設置、步驟和預期結果。測試人員可以用文字、列表、表格、思維導圖等任何合適的方式表達想法,目的是激發測試靈感,并促進測試思想的交流。此外,他會利用發現缺陷的測試用例來完善測試策略,而不是讓過去的測試用例控制未來的測試。

      關于其他形式和內容的測試文檔,測試專家Michael Bolton的文章What Exploratory Testing Is Not: Undocumented Testing提出了很好的建議。

      問:探索式測試的核心優勢是什么?

      答:探索式測試的核心優勢是有助于“學習”。此處的學習是指學(獲取知識)與習(應用知識)的持續過程。

      對于測試人員,軟件測試是一個持續學習并實踐的過程。他的學習范圍如下。

      行業知識:為什么需要這個軟件?軟件如何幫助使用它的人和團體去獲得成功?

      用戶角色:目標用戶是誰?他們有什么特點,有什么期望?軟件如何幫助他們去獲得個人成就?

      軟件產品:產品是一種解決方案,它解決了行業和用戶所面臨的問題嗎?

      計算平臺:只有深刻理解軟件所依賴的計算平臺(如操作系統、中間件和網絡協議等),才能更好地進行測試。

      開發技能:理解項目所使用的具體技術,知曉典型的技術缺陷,具備測試開發的能力。

      測試技術:針對當前項目,選擇合適的測試技術,并能夠熟練地應用。

      程序缺陷:研究已知的軟件缺陷,提煉錯誤模式,制訂緩解或預防方案。

      開發團隊:語境決定策略和實踐。在一起工作的人,是所有項目語境中最重要的組成部分。

      測試人員不需要在項目之初就掌握所有知識,他可以通過每天的工作去逐步理解用戶、項目、技術和團隊。更重要的是,他需要在每天的工作中實踐所學的內容:規劃測試方案、創建并執行測試用例、分析測試結果和編寫測試報告。實踐是練習,是“學”的自然延伸。知行合一才構成“學習”的完整內核。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>