15.探索吧!深入理解探索式軟體測試

來源:互聯網
上載者:User

標籤:

1)測試的很多思維不僅適用於工作也適用於生活,而那一刻,在她的面前,我卻退縮了。Elisabeth則以她的熱情和專業積極推動著敏捷測試,而這也為她贏得了2010年度的敏捷聯盟Gordon Pask獎,該獎的設立正是為了表彰像她一樣對敏捷實踐做出了卓越貢獻的人們。2)探索式測試很重要。 儘管,將此方式運用於任何種類的開發均能產生價值,然而,它最適合於那種快速迴圈和突發變化很常見的敏捷開發。開發與測試的方法有很多共通之處.3)太讓人失望了,不管我們寫多少測試,也不管我們執行多少測試案例,都沒用,最嚴重的缺陷都只有在偏離指令碼執行時才能找到。”4)探索這件事,它的結局可能是完全開放式的。如果不使用一些機制對工作進行安排和組織的話,那你很可能就是拿著軟體瞎折騰,花掉了數小時或數天的時間,結果卻找不到任何相關或有用的資訊,無從分享。 Jon Bach和James Bach提出了基於探測會話的測試管理(SBTM)實踐來解決問題。該實踐以限時探測會話序列的形式安排時間,提前為探測會話確立重點。(第2章介紹了如何確定並捕獲此重點。)貫穿整個探測會話期間,你暢快淋漓地探索著,設計並執行測試,從一個實驗再到下一個,沒有停頓。5)探測會話進行過程中,你需要做記錄,這樣才能知道自己都探索了些什麼,又找到了些什麼資訊。當然,你的記錄你自己用就行了。跟干係人做簡短彙報的時候,你就可以參考使用這些記錄,但它們與傳統測試或測試報告可不一樣。這種原生態記錄對別人來說價值很有限,主要是為了輔助記錄測試思路、問題、風險、驚喜和你想要探索的其他領域,以及bug。 探測會話結束後,你得捕捉那些需要轉達給他人的資訊。你可以把自己所觀察到的已探索地區的能力和局限寫下來,或者乾脆坐到干係人旁親口告訴他們你的發現。如果你發現有bug需要報告,那就報上去。如果你心中尚有疑問,那就把可以回答這些問題的人找出來。探測會話提供了定期歇腳點,讓你可以總結提煉調查所獲,仔細考慮接下來應該探索的最佳地區是哪裡。6)探索這件事,它的結局可能是完全開放式的。如果不使用一些機制對工作進行安排和組織的話,那你很可能就是拿著軟體瞎折騰,花掉了數小時或數天的時間,結果卻找不到任何相關或有用的資訊,無從分享。 Jon Bach和James Bach提出了基於探測會話的測試管理(SBTM)實踐來解決問題。該實踐以限時探測會話序列的形式安排時間,提前為探測會話確立重點。(第2章介紹了如何確定並捕獲此重點。)貫穿整個探測會話期間,你暢快淋漓地探索著,設計並執行測試,從一個實驗再到下一個,沒有停頓。7)探測會話進行過程中,你需要做記錄,這樣才能知道自己都探索了些什麼,又找到了些什麼資訊。當然,你的記錄你自己用就行了。跟干係人做簡短彙報的時候,你就可以參考使用這些記錄,但它們與傳統測試或測試報告可不一樣。這種原生態記錄對別人來說價值很有限,主要是為了輔助記錄測試思路、問題、風險、驚喜和你想要探索的其他領域,以及bug。 探測會話結束後,你得捕捉那些需要轉達給他人的資訊。你可以把自己所觀察到的已探索地區的能力和局限寫下來,或者乾脆坐到干係人旁親口告訴他們你的發現。如果你發現有bug需要報告,那就報上去。如果你心中尚有疑問,那就把可以回答這些問題的人找出來。探測會話提供了定期歇腳點,讓你可以總結提煉調查所獲,仔細考慮接下來應該探索的最佳地區是哪裡。8) 一個簡單的三段式模板: ·目標:你要探索何處?它可能是一個特性、一個需求或者一個模組。 ·資源:有什麼資源是你需要帶著用的?一切皆資源:某個工具、資料集、技術、配置或者某個相互依賴的特性。10)一個簡單的三段式模板: ·目標:你要探索何處?它可能是一個特性、一個需求或者一個模組。 ·資源:有什麼資源是你需要帶著用的?一切皆資源:某個工具、資料集、技術、配置或者某個相互依賴的特性。 ·資訊:你希望找到哪種資訊?你是想描繪系統在安全性、效能、可靠性、容量、可用性或其他各方面的特徵嗎?你想查驗其設計的一致性情況或某標準的違規情況嗎?11)  優質探測章程 一個優質探測章程能提供方向,同時又不會過度地細化了測試行為。反過來看,探測章程若是太過寬泛也有風險,可能無法提供足夠的關注。如果目標太大,你就很難分辨自己是否已經完成了探索。一個優質探測章程即是一個提示訊號:它指出了靈感之源,又避免了對行動或結果做出事無巨細的規定。12)舊習難以破除有兩大原因:你可能根本就沒有意識到自己是出於習慣行事,而且就算已經意識到習慣的存在,也會覺得這樣很舒服。然而,想要能探索地有成效,就得去往那些未曾踏足之處。有一種方法可以打破習慣性的衝動,那就是要允許自己接受隨機性的引導。“名詞和動詞”技術就提供了一種可以將隨機性引入軟體互動過程的方法。 採用此技術的第一步,是要把系統中的名詞和動詞識別出來。設想一下,你要測試的是某個郵件用戶端。那麼,系統的名詞或者說事物可能包括有“郵件、附件、連絡人、賬戶和檔案夾”等在內。而相應的動詞或者說動作可能包括了“建立、發送、編輯、轉寄、複製、刪除、移動。”隨機組合測試13)古高爾指自然數10(100),也即1後面有100個0,於1938年由美國數學家愛德華·卡斯納的侄子米爾頓·西羅蒂所創造,主要是為了勾畫出一個不可想象的大數和無窮大之間的區別。可參考https://zh.wikipedia.org/wiki/ 古高爾。——譯者注14)繪製一個狀態模型和使用啟發法以暴露那些跟時間相關的驚喜 你有否曾經碰到某個故障極難重現的情況?或許,你看到的是一個極偶然發生的重大錯誤,也或者是你無意間踩到了受損資料,所以無法追查其根由。 這種缺陷被觸發,往往是湊巧碰上了一個短暫的脆弱期,那一刻萬事俱備只待事情出錯。軟體要執行寫操作,檔案卻已被鎖住。恰恰在你試圖訪問安全內容的時候,會話出現了逾時。當系統某部分試圖更新某條記錄、另一部分卻仍未完成建立記錄時,就會出現極少見的競爭條件的情況。 這些情形通常都很短命且很難發現。你可能不知道怎樣才能有意識地觸發它們,或是因為不知道怎麼分辨它們出現與否而無法加以利用。如果感知不到這段脆弱期,想發現或重現相關缺陷就會變成是一件令人沮喪的屢試屢敗的事情。 幸運的是,有種系統化方式可以藉助狀態模型發現並利用這些脆弱期。在本章中,你將學到如何繪製一個狀態模型和使用啟發法以暴露那些跟時間相關的驚喜。

15.探索吧!深入理解探索式軟體測試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.