1. 程式人生 > >如何編寫一個好的測試計劃

如何編寫一個好的測試計劃

http://www.51testing.com/html/68/n-108068.html

目前,OSSP已經有比較規範的測試計劃模版。編寫測試計劃時,可以以模版為基礎進行編寫。測試計劃中各部分如何編寫可以參加模版的詳細說明。根據測試專案的規模與測試任務的複雜程度,可以對測試計劃的編寫項進行新增或裁剪。這裡對測試計劃制定中的幾個部分作詳細說明:

  1.明確測試目標,確定測試需求。根據當前測試工作目標不同,測試需求的確定方式有所不同。如當前為新專案的測試工作,則測試需求可能為該專案能按時上線並按使用者需求的功能正常使用等;而對於產品的階段性測試,測試需求可以以列表形式展現,列表可以列出本次測試工作所需要測試的更新及影響的測試點等。

  2.制定測試策略的時候,需要考慮:

  根據測試專案特點,確定本次測試需要經歷的測試階段。確定測試階段後,確考慮每個測試階段的目標、進入條件及退出條件(完成標準)。

  根據確定的測試階段,分析每個測試階段需要包含的各種測試型別,如是否需要效能測試、安裝測試等。確定測試型別後,確定每種測試的測試目標、測試方法、完成標準及特殊事項考慮。

  確定測試階段、測試型別後,針對需要,確定測試方式及測試工具。

  特別的:在考慮測試策略時,還應結合系統的特點及系統功能的優先順序及難易程度,分析各項測試的重點及難點。另外,根據測試時間的長短不同,測試策略也需要有相應體現。

  3.確定測試資源:測試資源的確定,需要充分調研,基本確定系統規模、功能複雜度、系統執行環境等,結合測試策略,考慮所需要的測試資源。確定測試資源,主要包括:

  明確測試過程中角色分配。這點在測試計劃階段必須明確到人的是測試負責人這個角色。其他角色,如測試參與人員,可以不明確到具體的人員姓名。

  明確測試人力資源及測試環境:考慮人力資源時,需要考慮所需人力資源的數量、各人力的知識或技能程度等。在測試計劃階段,測試負責人就可以開始協調測試資源,需要在該階段就確定測試資源,包括人員資源及環境資源。有些專案可能測試資源比較緊張,測試計劃制定者在制定計劃時應該考慮最少測試資源與充足測試資源這兩種條件下的測試策略調整。

  4.測試里程碑設計:一般測試里程碑在模版上已經列示出來,測試計劃制定者按照之前分析的測試需求、確定的測試策略及明確的測試資源,作相應的風險分析,從而確定測試里程碑及里程碑的起始時間。在制定里程碑起始時間時,可能出現專案留給測試的時間在當前實際下不足,則應及時與專案經理溝通或者重新考慮測試策略或者重新調配資源。

  5.測試管理及任務的制定:這部分內容的計劃,對順利完成測試任務,保證計劃執行有著重要意義。這部分內容,主要包括接收測試條件、測試時間(測試輪次)的設計、測試人員任務的分配、測試過程管理策略、測試完成標準確定及測試過程評審機制。這裡,主要對測試時間、測試人員任務、測試過程管理作特別說明:

  (1)測試時間設計和測試人員任務分配可以作為一體考慮。測試計劃制定者需要有運籌的思想,根據當前測試資源的狀況結合測試策略,確定測試需要經歷多少輪次,各人員分別承擔什麼樣的測試任務。測試計劃制定者應該始終明確,成功的測試工作是用盡可能少的時間發現最多的缺陷。對於測試時間的評估,可以根據編寫的文件頁數、測試用例條數、執行測試用例數量及迴歸測試大約用時來衡量。但是目前工作中,除了上述標準,還應按專案實際情況和計劃制定者的經驗綜合考慮。

  測試輪次設計:設計測試輪次時,一般必須有迴歸測試環節。迴歸測試之前往往會經歷多輪測試。但是建議不要設計太多輪次測試,以避免資源耗用過於頻繁。每一輪測試都應有各自明確的目標與測試策略。如第一輪保證功能正確,第二輪保證流程順暢,效能穩定等。最終應該設計迴歸測試環節,保證之前缺陷被正確修改,在該階段還可以配合進行安裝測試。如果系統龐大或測試工作複雜,對每一輪次測試,可以單獨做小的測試計劃,保證更好的測試效果。在測試時間控制上,應該略微預留一點時間,以控制突發事件。

  在測試任務設計上,需要統籌分析考慮,合理安排人力資源。每個人測試什麼任務,和誰一起承擔,都應有特別的考慮;測試任務分配要均衡,避免出現一些任務特別緊張,一些任務很快完成的情況。

  (2)測試過程管理設計中,需要考慮BUG管理流程,專案測試進度控制。

  BUG管理中,需要考慮: BUG管理的工具是什麼,BUG管理系統中各角色人員的許可權是什麼(測試準備一部分),研發人員解決BUG花費的時間限制,研發人員反饋BUG修改的規範、測試人員確認BUG的時間限制。總之,需要制定一個BUG管理流程,從一個BUG產生到BUG關閉這個流程中,所經歷的過程規範。

  測試過程管理規範的約定:如是否採用週報制度,對於專案較緊時是否採用日報的形式。對專案組成員可以要求進行日誌形式提交測試情況等。

測試計劃應該是整個測試流程中第一份測試文件了,但是一般情況下去不是測試人員學習的第一站。或許是因為萬事開頭難的緣故,測試計劃確實挺讓人糾結了。

  (一)——萬事開頭難

  測試計劃應該是整個測試流程中第一份測試文件了,但是一般情況下去不是測試人員學習的第一站。或許是因為萬事開頭難的緣故,測試計劃確實挺讓人糾結了。

  很多有了一定的經驗的測試人員在教新人的時候第一步都不是按照測試流程先從測試計劃開始,而是讓從測試用例的執行開始——這雖是無奈之舉,但是對於測試新手來講,還是可以學習很多東西的。閒話扯得有點遠,回到我要介紹的正題上面來,計劃測試。

  對,是計劃測試,不是測試計劃。儘管我們剛才討論了一些關於測試計劃的內容。但是我們需要關心的的確是計劃測試,而不是測試計劃。永遠要記住,我們是在做測試,而不是在完成文件,儘管我們經常需要諸如測試計劃測試用例測試報告之類的各種各樣的文件,但是那些都不是測試的本質。

  既然是計劃測試,那麼我們首先要搞明白測試到底要幹什麼。筆者將它抽象概括為:特定的人在特定的時間在特定的地方做了特定的事情以實現特定的目標。其實任何一項工作都可以抽象成前面這句話,所以我們還需要將這句話與我們所從事的測試工作聯絡起來。

  所謂人,當然是指測試人員了,而“特定的人”則堅持的是“按能力分工”各司其職的原則。測試用例設計人員做測試設計,測試用例執行人員做執行用例等等。

  所謂“特定的時間”,是指我們的測試過程是分成各種階段的,各種階段所側重的測試要點是不一樣的。

  所謂“特定的地方”則是指測試環境,這是指我們必須在計劃我們的測試工作的時候就要考慮到某些特殊型別的測試是需要特殊的環境的,這個環境包括了硬體設施(如手機測試你總得拿個手機來試試吧,總不能一直紙上談兵來著)環境,計算機硬體環境和軟體環境。

  所謂“特定的事情”即是指我們測試技術本身了,也就是諸如測試用例設計,測試用例執行,寫測試程式碼,部署測試環境等等。

  所謂“特定的目標”即是指我們測試的目的。測試是需要成本的,人力物力都是需要的,既然我們對測試有投入那麼我們是期望獲得一些東西的。測試最常喊的口號是改善質量水平,也有一些還在喊保證質量的,這就是我們所謂“目標”。不過,可惜的是這些口號並沒有多大的用處,因為在實際的軟體專案中我們更加看重的則是可度量的測試工作,也就是說我們要由一個可度量的“目標”——亦即“特定的目標”——可能是發現了多少bug可能是測試覆蓋率達到了多少等等。

  我們在計劃測試的時候,需要考慮的不僅僅是測試本身,從上面的分析可以看出,我們要關注“人、時、地、事、責”,也就是古代中華所講究的“天時地利人和”之類的東西。需要指出的是,在我們計劃測試的過程中,最常被人忽略的就是我們測試應該達到什麼目標這個問題了。在計劃測試的時候,切記要約定好測試的目標,這一目標反映在測試計劃文件中即“測試結束標準”。

  關於計劃測試的內容有很多,在接下來的文章中,筆者將逐一展開與大家分享。

  (二)——測試計劃

  在前一篇文章中,我們提到了計劃測試要考慮到人、事、時等諸多問題,也提到了計劃測試重在計劃這個過程而不在測試計劃這個文件。

  這篇文章卻要專門討論一些測試計劃相關的話題。網路上現在已經氾濫了關於測試計劃的模板——用氾濫只是表示很多,並沒有貶損的意思,筆者才疏一時想不到好的詞語——這些模板對於製作一份測試計劃文件來講非常有用,但是生搬硬套這些文件卻並不能幫助我們很好的計劃我們的測試工作,但是這些測試計劃中的主題卻可以很好地幫助我們計劃我們的測試工作並有效避免疏漏。

  我並不會給出一份我所常用的測試計劃模板,因為這些模板實在已經太多,已經夠用了。筆者在測試工作中,曾經寫出兩種測試計劃,一種類似於當前網路上流傳的版本,另外一種則是在筆者的某篇blog文章中提到的所謂“實用主義測試計劃”——事實上是更接近測試設計書的一個文件,但是確實有些公司把它稱之為測試計劃,而在本系列文章中筆者將不再討論這種測試計劃,也不會考慮細到“怎樣設計某個功能的測試用例”的程度的計劃工作。

相關推薦

如何編寫一個測試計劃

http://www.51testing.com/html/68/n-108068.html 目前,OSSP已經有比較規範的測試計劃模版。編寫測試計劃時,可以以模版為基礎進行編寫。測試計劃中各部分如何編寫可以參加模版的詳細說明。根據測試專案的規模與測試任務的複雜程度,可以對測試計劃的編寫項進行新增或裁剪。這

使用Python編寫一個滲透測試探測器

python本篇將會涉及:資源探測一個有用的字典資源第一個暴力探測器資源探測資源探測在滲透測試中還是屬於資源的映射和信息的收集階段。 主要有以下三個類型:字典攻擊暴力破解模糊測試字典攻擊,在破解密碼或密鑰的時候,通過自定義的字典文件,有針對性地嘗試字典文件內所有的字典組合。暴力破解,也叫做窮舉法,按照特定的組

如何寫測試計劃

<meta name=“keywords” content=“測試計劃” />  跟大家分享一下,我在寫的時候一般測試計劃都會包含哪些內容,這些內容的用意是什麼,這個是一個通用的,當然你可以根據自己的專案酌情考慮需要哪些內容,

Jmeter建立一個web測試計劃

下載Jmeter 下載地址:http://jmeter.apache.org/download_jmeter.cgi 下載後解壓到你想“安裝”的路徑下,比如: D:\Program Files (x86)\Jemter\apache-jmeter-2.11

【peterli_xue的專欄】當我們處在一個舒服的領域時,我們就很難做出有重大意義的事;General George S. Patton曾說過的話:‘今日大力執行一個計劃遠比明日執行一個完美的計劃要好的多

當我們處在一個舒服的領域時,我們就很難做出有重大意義的事;General George S. Patton曾說過的話:‘今日大力執行一個好的計劃遠比明日執行一個完美的計劃要好的多...

JAVA--第十一週實驗--編寫一個算術測試小軟體

/* (程式頭部註釋開始) * 程式的版權和版本宣告部分 * Copyright (c) 2011, 煙臺大學計算機學院學生 * All rights reserved. * 檔名稱: 編寫一個算術測試小軟體。 * 版 本 號

Jmeter建立一個擴展LDAP測試計劃

安全 這一 log turn con 條目 時間限制 解釋 附加 Jmeter建立一個擴展LDAP測試計劃 添加用戶 第一步你想做的每一個JMeter測試計劃是添加一個線程組元素。 線程組告訴JMeter的用戶數量你想模擬,用戶應該發送的次數 請求,

測試技術大牛談成長經歷:一個的軟體測試工程師應該做到這些!

我們在變化中成長。假設你拒盡了變化,你就拒盡了新的美麗和新的機遇。 初始軟體測試   “這是一個杯子,主要用來喝水的,它的質量應該如何考量?”   這是在進入上家公司面試時,測試主管問我的題目,相關的回答已經有點模糊,但從這個問題可以大概瞭解到,測試主管在考察我的測試思維。   首先

使用JProfiler進行記憶體分析幹不好測試的程式設計師不是一個工程師!

在最近的工作中,通過JProfiler解決了一個記憶體洩漏的問題,現將檢測的步驟和一些分析記錄下來,已備今後遇到相似問題時可以作為參考。   執行環境: Tomcat6,jdk6,JProfiler8   記憶體洩漏的現象: 1. 在伺服器中執行某些批量操

作為一個新晉測試經理,在軟體測試計劃之前你必須知道的10件事

有人喜歡創造世界,他們做了開發者;有的人喜歡開發者,他們做了測試員。什麼是軟體測試?軟體測試就是一場本該在使用者面前發生的災難提前在自己面前發生了,這會讓他們生出一種救世主的感覺,拯救了使用者,也就拯救者這個軟體,避免了他們被解除安裝的命運。 軟體測試在提供滿足業務和技術要求的軟體產品中起著至關重要的作用。

如何編寫測試計劃

凡事預則立,不預則廢 測試過程中,制定一個測試計劃是十分必要的,一個好的測試計劃能夠讓我們合理安排進度,識別測試過程中的風險。那麼我們該如何制定測試計劃呢? When: 一般來說,在產品需求確認,做過測試需求分析後我們就要開始編寫測試計劃 What: 一般來

編寫軟體測試計劃需要考慮的幾個問題

軟體測試是有計劃、有組織和有系統的軟體質量保證活動,而不是隨意地、鬆散地、雜亂地實施過程。為了規範軟體測試內容、方法和過程,在對軟體進行測試之前,必須建立測試計劃。 《ANSI/IEEE軟體測試文件標準829-1983》將測試計劃定義為:“一個敘述了預定的測試活動的範圍、途徑、資源及進度安排的文件。它確認了

編寫的 Java 單元測試的 7 個技巧

測試是開發的一個非常重要的方面,可以在很大程度上決定一個應用程式的命運。良好的測試可以在早期捕獲導致應用程式崩潰的問題,但較差的測試往往總是導致故障和停機。 雖然有三種主要型別的軟體測試:單元測試,功能測試和整合測試,但是在這篇博文中,我們將討論開發人員級單元測試。

java程式設計師如何編寫的單元測試

在做單元測試時,程式碼覆蓋率常常被拿來作為衡量測試好壞的指標,甚至,用程式碼覆蓋率來考核測試任務完成情況,比如,程式碼覆蓋率必須達到80%或 90%。於是乎,測試人員費盡心思設計案例覆蓋程式碼。用程式碼覆蓋率來衡量,有利也有有弊。本文我們就程式碼覆蓋率展開討論,也歡迎同學們踴

編寫一個手機類(Mobile),包括手機品牌(brand)、手機型號(type), 方法包括顯示手機資訊,並編寫測試類進行物件的建立

/*編寫一個手機類(Mobile),包括手機品牌(brand)、手機型號(type), * 方法包括顯示手機資訊,並編寫測試類進行物件的建立*/package cyff;public class Mobile {// 定義Mobile類String brand, type

軟體測試的藝術:一個良好的測試計劃

目標。必須定義每個測試階段的目標。 結束準則。必須制定準則以規定每個測試階段何時可以結束。 進度。每個階段都須有時間表。應指出何時設計、編寫和執行測試用例。某些軟體技術,如極限程式設計,要求在程式編碼開始之前就設計測試用例和單元測試。 責任。對於每一個階段,應當確定誰來設計、編寫和驗證測試用例,誰來修改

編寫java程式推薦一個的定義log的方式——lombok

一般情況下我們使用log4j或者slf4j定義一個log會這樣寫:private static final Logger log = Logger.getLogger(getClass()); 今天在開源社群看到一種寫法更為簡潔 在class上引入註解@Slf4j即可直接使

怎樣有效地編寫軟體測試計劃

軟體測試計劃是測試軟體的第一步,計劃編寫的如何,計劃有沒有覆蓋全等問題都會影響後續的測試。那麼怎麼編寫軟體測試計劃呢? 軟體測試計劃的目的 1. 使軟體測試工作進行更順利 2. 促進專案參加人員彼此的溝通 3. 使軟體測試工作更易於管理 測試計劃的原則 1.制定

編寫軟體測試計劃的方法

一.首先了解以下幾個問題:   1. 為什麼要編寫測試計劃?   1)領導能夠根據測試計劃做巨集觀調空,進行相應資源配置等;   2)測試人員能夠了解整個專案測試情況以及專案測試不同階段的所要進行的工作等;   3)便於其他人員瞭解測試人員的工作內容,進行有關配合工作   

如何寫一個測試

部落格原文地址 背景 在上一個專案上,由於專案成員大部分是新入職的同事,所以對於測試不是很熟悉, 這就導致了在專案前期,專案上的很多測試都不太make sense,雖然沒有什麼定量的東西來描述, 但是總結起來就2個點: 測試的名字比較模糊。 測試程式碼不易讀。 深入剖析 測試名字比較模糊 對於這一個問題,