崔華龍
關鍵詞 軟件測試 測試用例 黑盒測試 軟件缺陷
1軟件測試中功能測試的基本方法
不同類型的軟件產(chǎn)品的測試重點不同,測試方法也不盡相同。對于同一類型的軟件產(chǎn)品而言,不同的公司會開發(fā)不同的測試程序。盡管詳細的測試步驟因軟件而異,但基本的功能測試方法是相同的[1] 。
1.1分析測試對象需求
在制定測試計劃之前,測試人員需要對測試對象進行詳細分析,從而對測試軟件產(chǎn)品有一個清晰、合理的認識,進而明確測試工作的主要任務、范圍和重點。此外,在分析需求的過程中可以獲得一些可靠的測試數(shù)據(jù),既為測試方案提供基礎依據(jù),也為后續(xù)的回歸測試奠定良好的基礎。
測試需求分析還用于對軟件需求進行測試,以發(fā)現(xiàn)軟件需求中不合理之處。例如,是否涵蓋客戶提出的所有需求;措辭是否清晰,語義是否含糊;是否清楚地描述了軟件需要做什么,不需要做什么;是否描述了軟件的測試環(huán)境,包括軟件和硬件環(huán)境;編號是否合理;要求是否一致,不沖突;是否對軟件系統(tǒng)的性能需求進行了清晰地描述;是否對需求進行了合理排序;是否對各種約束條件進行了描述等。此外,我們還需制作分析測試需求表,對每個描述項和對應的檢查結果進行編號,使分析測試表一目了然。
我們應該注意到被識別的測試需求必須是可驗證的,并且測試需求必須具有可觀察和可測量的結果。不能驗證的需求不是測試需求。測試需求分析還應與客戶進行溝通,以澄清任何混淆,并確保測試人員和客戶盡早在項目的同一頁上。
1.2制定測試計劃
測試計劃一般包括以下工作安排。
(1)定義測試的范圍:確定哪些對象需要測試,哪些對象不需要測試。
(2)制定測試策略:測試策略是測試計劃中最重要的部分。它優(yōu)先考慮要測試的內(nèi)容,并關注測試。根據(jù)測試模塊的特點和測試類型(如性能測試、功能測試)選擇測試環(huán)境和測試方法(如自動化測試、手動測試)。
(3)安排測試資源:根據(jù)測試難度、時間、工作量等因素合理安排測試資源,包括人員配置、工具配置等。
( 4)計劃測試:根據(jù)軟件開發(fā)計劃和產(chǎn)品的總體計劃,考慮工作各部分的變化,并計劃測試工作。在安排工作時,在測試之間留出緩沖時間以響應安排的變化是一個好主意。
1.3設計測試用例
測試用例是指測試團隊設計的一組詳細的測試場景,包括測試環(huán)境描述、測試數(shù)據(jù)統(tǒng)計、計劃測試過程以及收集預期結果。不同的公司擁有不同的測試用例模板,盡管它們在風格和樣式上不同,但測試法則本質上是相同的,即涵蓋測試用例的所有元素。結合實踐,編寫最終測試用例的原則是用盡可能少的測試用例實現(xiàn)軟件應用程序的最大測試覆蓋率。
1.4測試執(zhí)行
測試執(zhí)行是指根據(jù)測試用例的規(guī)范執(zhí)行測試的過程,這是測試人員在相關活動中最重要的測試階段。同時,根據(jù)測試用例優(yōu)先級執(zhí)行測試。
在測試的執(zhí)行過程中,測試人員應密切跟蹤測試過程,記錄“缺陷”,制作表單報告等,這是測試人員將來進行總結的最重要的階段。
1.5編寫測試報告
一份完整的測試報告必須包括以下幾點:(1)導言,即撰寫測試報告的目的以及對專業(yè)術語進行解釋,并附帶參考資料;(2)測試摘要,即描述項目背景、測試時間、測試地點和測試人員;(3)測試內(nèi)容及實現(xiàn),即描述模塊的測試版本、測試類型,利用覆蓋方法設計測試用例。根據(jù)測試用例的測試結果進行評估,并提出建議,以提高測試執(zhí)行效率,為后續(xù)測試執(zhí)行活動提供參考;(4)統(tǒng)計與分析“缺陷”,即統(tǒng)計本次測試中發(fā)現(xiàn)的“缺陷”數(shù)量和類型,分析“缺陷”產(chǎn)生的原因并提出避免“缺陷”的建議,記錄剩余“缺陷”和未解決的問題;(5)測試結論及建議,即從需求合規(guī)性、功能正確性、性能指標等維度對版本質量進行全面評估,并給出具體結論。
需注意的是,檢測報告中的數(shù)據(jù)是真實的,每一個結論都應該基于評估而得出,而不是主觀的。
2軟件測試功能之測試應用實戰(zhàn)
2.1分析測試需求
如圖1 所示,本文以“滴滴青桔”APP 的開鎖用車業(yè)務流程為例,對軟件測試需求進行分析。
針對“滴滴青桔”APP 的用車功能,我們需要測試三個內(nèi)容:(1)掃描二維碼開鎖;(2)輸入車輛編號開鎖;(3)調取手機手電筒。
2.2制定測試計劃
“滴滴青桔”APP 的功能測試計劃如表1 所示。
2.3設計測試用例
我們利用黑盒測試技術中的等價劃分法,設計了“分析+設計”的測試用例表(表2)。具體為:白天需掃描二維碼解鎖、手動輸入車號解鎖;夜晚需掃描二維碼及打開手電筒解鎖、手動輸入車號解鎖。其中,需要注意“滴滴青桔”APP 開鎖模塊與其他模塊的關聯(lián)。開鎖時,如果有正在運行的訂單或未支付的訂單,則無法開鎖。
2.4測試執(zhí)行
測試人員執(zhí)行測試用例并記錄和跟蹤測試過程。在測試中,若發(fā)現(xiàn)“缺陷”需將其分類至“缺陷報告”,如表3 所示。
2.5測試結果
“滴滴青桔”APP 功能測試的結果是:在夜晚掃碼開鎖時,該版本無法啟動手電筒功能,導致掃碼不成功而無法完成開鎖。其屬于功能類型“缺陷”,測試用例發(fā)現(xiàn)APP 中的錯誤是執(zhí)行程序的過程。我們選擇了軟件測試中黑盒測試技術的等效分類方法來設計測試用例,并將測試時間分為兩類,即白天測試和夜晚測試。參考資料為《軟件測試技術基礎課程》(“十三五”職業(yè)教育國家規(guī)劃教材)。
3軟件測試之功能測試應用策略分析
根據(jù)測試的通過條件,本項目全面覆蓋了測試用例執(zhí)行過程。由于本次測試活動是在冬季進行的,可能并不完全具備代表性,所以建議下次測試活動在春節(jié)或夏季進行。此測試將作為后續(xù)測試活動的參考。在該測試中,我們僅發(fā)現(xiàn)一個“缺陷”。該“缺陷”屬于功能性“缺陷”,即“缺陷”源于“滴滴青桔”APP 的解鎖功能與手電筒功能不兼容,建議更換其他型號的手機進行測試。
4結語
測試報告中的數(shù)據(jù)真實有效,每一個結論都有依據(jù);本項目可以滿足客戶和市場的需求;所有的測試用例都已經(jīng)被評審并成功執(zhí)行;測試覆蓋率達到要求;所有“缺陷”都記錄在“缺陷管理”系統(tǒng)中。