測(cè)試設(shè)計(jì)規(guī)范:優(yōu)秀實(shí)踐的全面指南
測(cè)試設(shè)計(jì)規(guī)范是一個(gè)定義了與測(cè)試項(xiàng)目相關(guān)的測(cè)試條件、詳細(xì)的測(cè)試方法和高級(jí)測(cè)試用例的文檔。它確定了要運(yùn)行哪些測(cè)試套件和測(cè)試用例,以及要跳過哪些。
使用測(cè)試設(shè)計(jì)規(guī)范,可以簡(jiǎn)化對(duì)當(dāng)前測(cè)試周期的理解。這個(gè)文檔回答了像“我們?cè)谧鍪裁?”,“我們?cè)趺醋?”和“為什么要這樣做?”這樣的簡(jiǎn)單問題。然而,要達(dá)到這個(gè)結(jié)果,必須正確地將許多事物融入到創(chuàng)建規(guī)范中,使其變得完美合理。
在軟件行業(yè)中,"規(guī)范"這個(gè)詞對(duì)任何人來說可能并不陌生。根據(jù)理論定義,規(guī)范是關(guān)于設(shè)計(jì)和制造某物所涉及的詳細(xì)描述和材料。規(guī)范已經(jīng)采取了多種形式,并為不同部門提供了多種不同的服務(wù)。對(duì)于開發(fā)者來說,軟件需求規(guī)范(SRS)可能是首先記錄他的理解并傳達(dá)給客戶或其他團(tuán)隊(duì)成員的文檔。對(duì)于測(cè)試人員來說,SRS文檔變成了測(cè)試設(shè)計(jì)規(guī)范(TDS),它具有相同的目的,但專注于測(cè)試并且僅供測(cè)試人員使用。
什么是測(cè)試設(shè)計(jì)?規(guī)范的清晰度在很大程度上取決于我們對(duì)測(cè)試設(shè)計(jì)及其在測(cè)試領(lǐng)域中的作用的理解。
測(cè)試設(shè)計(jì)提供了關(guān)于在軟件應(yīng)用程序上執(zhí)行的測(cè)試的想法。重要的是要注意,測(cè)試設(shè)計(jì)預(yù)期在測(cè)試之前構(gòu)建,而不是在測(cè)試過程中或之后。這樣,我們就知道應(yīng)該采取哪些路徑并避免哪些路徑。
構(gòu)建測(cè)試設(shè)計(jì)包括三個(gè)階段:
1.分析我們經(jīng)歷的第一個(gè)階段是測(cè)試分析。在這個(gè)階段,我們分析應(yīng)用程序和我們所擁有的其他所有東西。測(cè)試人員在分析階段收集的所有數(shù)據(jù)將成為以后測(cè)試用例的基礎(chǔ)。
2.計(jì)劃一旦我們分析了應(yīng)用程序并收集了非結(jié)構(gòu)化的原始數(shù)據(jù),我們會(huì)計(jì)劃使用所有資源進(jìn)行高效的測(cè)試。這在很大程度上取決于我們向用戶發(fā)布的軟件類型。游戲應(yīng)用程序可能需要大量的UI、UX和硬件響應(yīng)測(cè)試。在銀行應(yīng)用程序中,擔(dān)心這些問題可能不那么重要。
3.創(chuàng)建測(cè)試用例我們有資源和結(jié)構(gòu)可以在測(cè)試階段對(duì)軟件進(jìn)行測(cè)試。因此,我們開始創(chuàng)建測(cè)試套件,記住我們是根據(jù)前一階段創(chuàng)建的計(jì)劃來工作的。測(cè)試套件的創(chuàng)建可能指示編程腳本或基于英語(yǔ)的定義。
在一些組織中,開發(fā)者可以通過測(cè)試套件來清楚地定義應(yīng)用程序目標(biāo),從而確定系統(tǒng)的功能。例如,“檢查文件上傳”可以是一個(gè)包含與上傳框相關(guān)的測(cè)試用例的測(cè)試套件。之后,測(cè)試人員可能會(huì)在文件上傳中探索各個(gè)領(lǐng)域,如上傳具有允許擴(kuò)展名的文件、上傳具有不正確擴(kuò)展名的文件、在上傳過程中斷開網(wǎng)絡(luò)連接等。
另一方面,如果質(zhì)量保證直接參與其中,他們甚至可以直接在此處以腳本形式設(shè)計(jì)測(cè)試套件。
完成了所有這些三個(gè)步驟后,我們的測(cè)試設(shè)計(jì)就完成了。但這主要側(cè)重于應(yīng)用程序的測(cè)試部分。這將是我們需要?jiǎng)?chuàng)建的測(cè)試設(shè)計(jì)文檔的核心。將測(cè)試設(shè)計(jì)與完成文檔所需的其他元素相結(jié)合,形成了測(cè)試設(shè)計(jì)規(guī)范。
在進(jìn)行測(cè)試時(shí),重要的是考慮真實(shí)的用戶場(chǎng)景。為了使測(cè)試環(huán)境更加真實(shí),應(yīng)該在真實(shí)設(shè)備云上運(yùn)行測(cè)試。
您可以使用LambdaTest——一個(gè)測(cè)試編排和執(zhí)行平臺(tái),提供跨3000多種真實(shí)瀏覽器、設(shè)備和操作系統(tǒng)對(duì)網(wǎng)站和應(yīng)用程序進(jìn)行手動(dòng)和自動(dòng)化測(cè)試。根據(jù)您的項(xiàng)目需求,您甚至可以在真實(shí)設(shè)備云和基于Android模擬器和iOS模擬器的移動(dòng)應(yīng)用程序上進(jìn)行測(cè)試。
什么是測(cè)試設(shè)計(jì)規(guī)范?測(cè)試設(shè)計(jì)規(guī)范定義了我們的測(cè)試將如何構(gòu)建。當(dāng)我們深入研究這個(gè)概念時(shí),我們就到達(dá)了測(cè)試設(shè)計(jì)規(guī)范或者說是一份比測(cè)試設(shè)計(jì)更豐富、更深入的文檔,供測(cè)試人員(有時(shí)也供開發(fā)人員)使用。
它不僅討論測(cè)試和場(chǎng)景,還回答了與測(cè)試相關(guān)的更深層次的問題。例如:
如何執(zhí)行測(cè)試?我們需要多久執(zhí)行一次測(cè)試?我們正在使用的方法是什么?為什么要使用這些方法?我們正在選擇哪些測(cè)試工具?為什么要選擇這些工具?具體解釋的測(cè)試場(chǎng)景是什么?根據(jù)測(cè)試人員或項(xiàng)目/組織的需求,還可以添加更多內(nèi)容。
測(cè)試設(shè)計(jì)規(guī)范圍圍繞特征而不是測(cè)試用例展開,與測(cè)試設(shè)計(jì)相比。在討論時(shí),我們考慮單個(gè)特征,并記錄在測(cè)試中將使用哪些測(cè)試用例或場(chǎng)景(從測(cè)試設(shè)計(jì)池中選取)。因此,我們?yōu)橐粋€(gè)軟件創(chuàng)建多個(gè)測(cè)試設(shè)計(jì)規(guī)范。
測(cè)試設(shè)計(jì)規(guī)范的格式在測(cè)試設(shè)計(jì)規(guī)范中,我們可能會(huì)遇到來自不同人的不同觀點(diǎn)。即使消除了地理差異,你和我可能會(huì)產(chǎn)生完全不同的規(guī)范(或任何文檔)。這是因?yàn)槲艺J(rèn)為必要的東西對(duì)你來說可能并不重要,反之亦然。
為了解決這種情況,IEEE組織在軟件行業(yè)中處理、管理和規(guī)范每種類型的規(guī)范。IEEE包含一個(gè)龐大的數(shù)據(jù)庫(kù),定義了軟件開發(fā)的每個(gè)階段的標(biāo)準(zhǔn),甚至在編寫一行代碼之前就開始了。
對(duì)于那些針對(duì)SDLC中的特定領(lǐng)域的人來說,搜索特定規(guī)范可能變得耗時(shí)。為了處理這種情況,IEEE描述了一個(gè)數(shù)字,它指代一個(gè)區(qū)域內(nèi)的標(biāo)準(zhǔn)文檔。對(duì)于我們的測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)和測(cè)試用例規(guī)范,我們使用IEEE 829文檔。
IEEE 829描述了在文檔中需要描述的以下基本要素:
測(cè)試設(shè)計(jì)規(guī)范標(biāo)識(shí)符。需進(jìn)行測(cè)試的功能。方法細(xì)化。測(cè)試用例標(biāo)識(shí)。功能通過/失敗的標(biāo)準(zhǔn)。讓我們逐個(gè)分析它們。
標(biāo)識(shí)符在創(chuàng)建設(shè)計(jì)規(guī)范時(shí)的第一個(gè)基本要素是標(biāo)識(shí)符。它記錄在文檔的頂部,并且每個(gè)測(cè)試設(shè)計(jì)規(guī)范都有一個(gè)唯一的標(biāo)識(shí)符。在文檔中需要這個(gè)要素的原因是,一個(gè)軟件可能包含與單個(gè)功能或一組功能相關(guān)的多個(gè)規(guī)范。
為了對(duì)這些文檔描述一個(gè)獨(dú)特的標(biāo)識(shí)符,我們可以在不打開它們的情況下識(shí)別每個(gè)文檔的摘要。這種安排有助于更快地找到所需的信息,最終有助于快速完成測(cè)試階段。
在創(chuàng)建測(cè)試設(shè)計(jì)規(guī)范標(biāo)識(shí)符時(shí),請(qǐng)記住以下幾點(diǎn):
名稱應(yīng)該簡(jiǎn)短且唯一。指定版本日期號(hào)。規(guī)范的作者及其聯(lián)系方式,例如電子郵件地址。明確定義修訂歷史(如果有)。
需進(jìn)行測(cè)試的功能根據(jù)IEEE 829,測(cè)試設(shè)計(jì)規(guī)范的第二要素定義了需要測(cè)試的功能列表。通常,這對(duì)應(yīng)于由高級(jí)管理層或客戶確定的從需求池(包含所有需求)中提取的需求。這些需求滿足應(yīng)用程序的功能,因此將其稱為“需進(jìn)行測(cè)試的功能”。
測(cè)試人員應(yīng)仔細(xì)組合所有的測(cè)試用例規(guī)范,以滿足所有需求。沒有這些規(guī)范,我們的應(yīng)用程序有可能存在錯(cuò)誤和漏洞。
根據(jù)IEEE的規(guī)定,設(shè)計(jì)規(guī)范需要涵蓋以下內(nèi)容:
功能:屬性和特征。功能:如果存在分組。如果測(cè)試計(jì)劃涉及多個(gè)層次的測(cè)試,請(qǐng)確定特定功能涵蓋的層次。與包含需求池的文檔的關(guān)聯(lián)。方法細(xì)化測(cè)試設(shè)計(jì)規(guī)范的第三部分涉及特征細(xì)化和我們的方法。 "細(xì)化" 部分有一些指定的部分必須包含,但測(cè)試人員可以在其上添加一些自己的內(nèi)容。
作為一個(gè)測(cè)試人員,您可以考慮這一段是一個(gè)測(cè)試人員為其他測(cè)試人員記錄的最深層次的知識(shí)。對(duì)于那些不參與項(xiàng)目的測(cè)試人員來說,他們尤其需要用文檔回答有關(guān)測(cè)試技術(shù)的每個(gè)問題。
根據(jù)IEEE的規(guī)定,這種技術(shù)水平被分為以下幾個(gè)部分:
測(cè)試技術(shù)的具體細(xì)節(jié):這部分將包括有關(guān)每個(gè)功能中使用的測(cè)試技術(shù)的較少細(xì)節(jié)。為什么使用某種測(cè)試技術(shù):詳細(xì)說明為什么使用特定的測(cè)試技術(shù)以及它帶來的優(yōu)勢(shì)。結(jié)果分析方法:突出顯示如何分析測(cè)試階段的結(jié)果。這一部分的主要目的是定義結(jié)果分析中使用的方法和所提到的工具。測(cè)試人員還可以說明為什么使用某個(gè)工具以及其目的。例如,JMeter 被用于分析負(fù)載測(cè)試結(jié)果。特征級(jí)別關(guān)系:此部分定義了特征或測(cè)試項(xiàng)與測(cè)試級(jí)別之間的關(guān)系。標(biāo)準(zhǔn)信息:測(cè)試人員認(rèn)為對(duì)多個(gè)功能/測(cè)試用例有共同意義的任何信息應(yīng)在此部分共享。這可能包括測(cè)試環(huán)境信息、設(shè)置信息、恢復(fù)信息和依賴項(xiàng)。
IEEE按照上述順序描述了這些部分。并不一定要遵循如此嚴(yán)格的步驟,只需要確保測(cè)試設(shè)計(jì)規(guī)范中的信息是完整的。
測(cè)試標(biāo)識(shí)設(shè)計(jì)規(guī)范的這一部分用英文描述測(cè)試用例,以便讀者在深入了解具體細(xì)節(jié)之前能對(duì)測(cè)試用例有一個(gè)大致的了解。
此部分分為兩個(gè)部分:
測(cè)試用例標(biāo)識(shí)介紹每個(gè)測(cè)試用例的簡(jiǎn)要知識(shí)。測(cè)試過程標(biāo)識(shí)介紹每個(gè)測(cè)試過程的簡(jiǎn)要知識(shí)。
功能通過/失敗的標(biāo)準(zhǔn)最后但同樣重要的是,在測(cè)試設(shè)計(jì)規(guī)范中必須包含功能通過/失敗的標(biāo)準(zhǔn)。我們的目標(biāo)是為每個(gè)測(cè)試確定通過或失敗的標(biāo)準(zhǔn),并分析結(jié)果。
例如,如果一個(gè)測(cè)試用例涉及 "在網(wǎng)站上注冊(cè)",通過的標(biāo)準(zhǔn)可能是 "用戶在數(shù)據(jù)庫(kù)中被創(chuàng)建"。如果使用失敗的標(biāo)準(zhǔn),那么 "用戶沒有在數(shù)據(jù)庫(kù)中創(chuàng)建" 就意味著測(cè)試未通過。
這些標(biāo)準(zhǔn)幫助我們?cè)u(píng)估所有測(cè)試用例的最終結(jié)果,并闡明當(dāng)我們說測(cè)試通過或失敗時(shí)的含義。
結(jié)論當(dāng)一個(gè)測(cè)試人員加入團(tuán)隊(duì)時(shí),自然而然地,團(tuán)隊(duì)將面臨各種不同類型的問題。除了定義方法和標(biāo)準(zhǔn)程序外,項(xiàng)目相關(guān)的問題可能會(huì)占用您大部分時(shí)間。
通過電話澄清所有疑問,并為每個(gè)測(cè)試用例提供解釋,包括 "我們?yōu)槭裁催@樣做",這是不可行的,而且老實(shí)說,新成員不太可能很快記住這些內(nèi)容。因此,我們采用文檔的方式來解決這個(gè)問題。
在每個(gè)領(lǐng)域中,文檔提供了團(tuán)隊(duì)成員和參與項(xiàng)目的人(無(wú)論是技術(shù)人員還是非技術(shù)人員)的參考材料。由于這些時(shí)候人們從世界各地聚集在一起共同開發(fā)一款優(yōu)秀的軟件,因此需要一種標(biāo)準(zhǔn)的文檔來確保每個(gè)人在參考測(cè)試設(shè)計(jì)相關(guān)內(nèi)容時(shí)都處于相同的頁(yè)面。
IEEE是負(fù)責(zé)此類事務(wù)的組織,他們提供了一個(gè)標(biāo)準(zhǔn)的分段文檔,稱為測(cè)試設(shè)計(jì)規(guī)范,用于測(cè)試設(shè)計(jì)領(lǐng)域,并記錄團(tuán)隊(duì)所做的選擇以及與測(cè)試流程有關(guān)的一切。
本文介紹了這個(gè)文檔,并將復(fù)雜的部分分解為簡(jiǎn)單易懂的概念。希望這個(gè)指南能為您在下一個(gè)項(xiàng)目中建立一個(gè)強(qiáng)大的測(cè)試設(shè)計(jì)規(guī)范提供快速參考。