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