地址:廣州科學(xué)城玉樹工業(yè)園J棟103房 105房 107房
電話:400-108-9880
傳真:020-3170 7367
郵箱:kj-mark@svtest.cn
在開展軟件測試前,軟件的測試需求、測試用例的準(zhǔn)備都是必不可少的!本文簡單介紹了軟件功能、性能、安全性測試中對于軟件測試方向的選取及測試中的關(guān)注要點(diǎn),并且針對軟件的測試計(jì)劃及測試用例的設(shè)計(jì)、管理、要素等方面進(jìn)行簡單介紹。
一、軟件測試規(guī)劃
1.1 功能測試
1.1.1功能測試方向
功能測試中測試指標(biāo)需要根據(jù)用戶需求對業(yè)務(wù)流程進(jìn)行數(shù)據(jù)流向測試,確保關(guān)鍵業(yè)務(wù)流程正確執(zhí)行;必須既包括正常輸入和正常業(yè)務(wù)流程測試,也包括對非法數(shù)據(jù)輸入和異常處理的測試,且對系統(tǒng)非正常操作的測試用例一般應(yīng)占到總數(shù)的20%~30%。同時(shí)測試內(nèi)容覆蓋全部業(yè)務(wù)流程。
測試中對系統(tǒng)業(yè)務(wù)數(shù)據(jù)進(jìn)行嚴(yán)格的正確性測試(包括數(shù)據(jù)是否超出正常值的范圍、報(bào)表數(shù)據(jù)準(zhǔn)確性等) ,以確保系統(tǒng)即時(shí)數(shù)據(jù)和歷史數(shù)據(jù)準(zhǔn)確無誤。
測試中需要驗(yàn)證系統(tǒng)實(shí)現(xiàn)了全部需求和設(shè)計(jì),測試覆蓋所有功能點(diǎn),確保各項(xiàng)功能是可正確執(zhí)行的;屏幕顯示是否規(guī)范、準(zhǔn)確等,確保業(yè)務(wù)需求的功能實(shí)現(xiàn)。
測試需要重點(diǎn)關(guān)注用戶經(jīng)常使用、關(guān)系到系統(tǒng)核心功能、優(yōu)先級別較高的功能點(diǎn),并在回歸測試時(shí)應(yīng)優(yōu)先執(zhí)行。
功能測試主要考察應(yīng)用系統(tǒng)存取訪問的安全性及應(yīng)用軟件本身的安全性。確認(rèn)系統(tǒng)具有防止對程序或數(shù)據(jù)被非授權(quán)訪問的能力,主要包括操作安全性、存儲安全性、傳輸安全性以及軟件系統(tǒng)防御來自系統(tǒng)內(nèi)部和外界的竊密、篡改和惡意攻擊能力,包括權(quán)限管理、日志記錄、數(shù)據(jù)備份與恢復(fù)策略等。
1.1.2功能測試主要關(guān)注點(diǎn)
(1)業(yè)務(wù)邏輯:業(yè)務(wù)邏輯是被測系統(tǒng)實(shí)現(xiàn)的核心。只有保障業(yè)務(wù)邏輯的正確實(shí)現(xiàn)才能使系統(tǒng)正常的完成用戶的業(yè)務(wù)操作。
(2)功能邏輯:功能邏輯是被測系統(tǒng)功能模塊實(shí)現(xiàn)的原理,只有系統(tǒng)的功能邏輯實(shí)現(xiàn)完成,才能實(shí)現(xiàn)系統(tǒng)的功能操作。
(3)功能輸入:功能輸入是人機(jī)交互界面,只有保障功能輸入的正確性和有效性才能保證用戶的良好體驗(yàn)。
(4)系統(tǒng)界面:系統(tǒng)界面是人機(jī)交互的接口,良好的界面設(shè)計(jì)才能保障系統(tǒng)的易用性和良好的用戶體驗(yàn)。
(5)適合性:系統(tǒng)為制定的任務(wù)和用戶目標(biāo)提供一組合適的功能的能力。
(6)準(zhǔn)確性:系統(tǒng)提供具有所需精度的正確或相符的結(jié)果或效果的能力。
(7)互操作性:系統(tǒng)與一個(gè)或更多的規(guī)定系統(tǒng)進(jìn)行交互的能力。
(8)一致性:系統(tǒng)功能及數(shù)據(jù)實(shí)現(xiàn)與用戶文檔相互符合的能力。
(9)功能保密性:系統(tǒng)為防止對程序或數(shù)據(jù)被非授權(quán)訪問而所提供的限制能力。
1.2 性能測試
1.2.1性能測試方向
軟件各應(yīng)用系統(tǒng)的容量,即數(shù)據(jù)存儲能力、存儲周期、并發(fā)訪問量、性能要求,其具體指標(biāo)可根據(jù)《軟件需求規(guī)格說明書》或《概要設(shè)計(jì)說明書》確定。
軟件的系統(tǒng)時(shí)間特性及資源利用特性,其指標(biāo)需要分析系統(tǒng)用戶行為,依據(jù)性能需求驗(yàn)證分級部署的應(yīng)用系統(tǒng)支持高并發(fā)處理業(yè)務(wù)的能力。下面簡單列舉一些性能測試中的一些選取內(nèi)容:
(1)系統(tǒng)的關(guān)鍵業(yè)務(wù),諸如數(shù)據(jù)采集、數(shù)據(jù)同步、數(shù)據(jù)統(tǒng)計(jì)等,具備快速響應(yīng)能力。
(2)系統(tǒng)數(shù)據(jù)容量在百萬級基礎(chǔ)上,響應(yīng)時(shí)間滿足用戶性能需求。
(3)系統(tǒng)資源利用在合理的數(shù)值范圍,不超過資源指標(biāo)的預(yù)警值。
(4)測試在大用戶量、大并發(fā)、大數(shù)據(jù)量和長時(shí)間連續(xù)運(yùn)行等條件下,系統(tǒng)的響應(yīng)時(shí)間和穩(wěn)定運(yùn)行情況。這些都是性能測試中需要關(guān)注的測試點(diǎn)。
1.2.2性能測試主要關(guān)注點(diǎn)
系統(tǒng)的性能表現(xiàn)是評價(jià)系統(tǒng)體驗(yàn)的一項(xiàng)重要指標(biāo),系統(tǒng)不但要能支撐原有預(yù)估用戶量的訪問,同時(shí)也要給用戶提供一個(gè)良好的性能體驗(yàn),且資源損耗情況又不能過于嚴(yán)重。針對性能測試,一般依據(jù)用戶測試需求開展,用戶可以從以下幾個(gè)方向進(jìn)行:
(1)負(fù)載測試:通過測試系統(tǒng)在資源超負(fù)荷情況下的表現(xiàn),以發(fā)現(xiàn)設(shè)計(jì)上的錯(cuò)誤或驗(yàn)證系統(tǒng)的負(fù)載能力。在這種測試中,將使測試對象承擔(dān)不同的工作量,以測試和評估測試對象在不同工作量條件下的性能行為,以及持續(xù)正常運(yùn)行的能力。負(fù)載測試的目標(biāo)是確定并確保系統(tǒng)在超出最大預(yù)期工作量的情況下仍能正常運(yùn)行。
(2)壓力測試:壓力測試通過確定一個(gè)系統(tǒng)的瓶頸或者不能接受的性能點(diǎn),來獲得系統(tǒng)能提供的最大的服務(wù)級別的測試。通俗地講,壓力測試是為了發(fā)現(xiàn)在什么條件下應(yīng)用程序的性能會變得不可接受。
極限壓力測試舉例:
①接收大數(shù)據(jù)量的數(shù)據(jù)文件時(shí)間;
②大數(shù)據(jù)恢復(fù)時(shí)間;
③大數(shù)據(jù)導(dǎo)入導(dǎo)出時(shí)間;
④大批量錄入數(shù)據(jù)時(shí)間;
⑤大數(shù)據(jù)量的計(jì)算時(shí)間;
⑥多客戶機(jī)同時(shí)進(jìn)行某一個(gè)提交操作;
⑦采用測試工具軟件;
⑧編寫測試腳本程序;
⑨大數(shù)據(jù)量的查詢統(tǒng)計(jì)時(shí)間。
(3)疲勞強(qiáng)度測試:主要特點(diǎn)是長時(shí)間對目標(biāo)測試系統(tǒng)加壓,目的是測試系統(tǒng)的穩(wěn)定性,持續(xù)時(shí)間一般在1小時(shí)以上;疲勞強(qiáng)度測試屬于用戶并發(fā)測試的延續(xù),因此核心內(nèi)容仍然是核心模塊用戶并發(fā)和組合模塊用戶并發(fā)。
(4)大容量測試:主要針對數(shù)據(jù)庫有特殊要求的系統(tǒng)進(jìn)行的測試,如系統(tǒng)的入庫查詢業(yè)務(wù);可以分為實(shí)時(shí)大數(shù)據(jù)量,主要目的是測試用戶較多或者某些業(yè)務(wù)產(chǎn)生較大數(shù)據(jù)量時(shí),系統(tǒng)能否穩(wěn)定運(yùn)行;測試系統(tǒng)在極限狀態(tài)下使用一段時(shí)間即系統(tǒng)累計(jì)一定量的數(shù)據(jù)時(shí)能否正常運(yùn)行業(yè)務(wù);大數(shù)據(jù)量測試可以分為兩種類型:一種針對某些系統(tǒng)存儲、傳輸、統(tǒng)計(jì)、查詢等業(yè)務(wù)進(jìn)行大數(shù)據(jù)量的獨(dú)立數(shù)據(jù)量測試;一種是與壓力性能測試、負(fù)載性能測試、疲勞強(qiáng)度性能測試相結(jié)合的綜合數(shù)據(jù)量測試方案。
1.3 安全性測試
1.3.1測試指標(biāo)確定
安全性測試具體測試執(zhí)行根據(jù)用戶軟件測試需求執(zhí)行,根據(jù)需求要求確定具體測試值表及其測試方法。
(1)信息收集:信息收集分析是所有入侵攻擊的前提/前奏/基礎(chǔ)。通過對網(wǎng)絡(luò)信息收集分析,可以相應(yīng)地、有針對性地制定模擬黑客入侵攻擊的計(jì)劃,以提高入侵的成功率、減小暴露或被發(fā)現(xiàn)的幾率。信息收集的方法包括主機(jī)網(wǎng)絡(luò)掃描、操作類型判別、應(yīng)用判別、賬號掃描、配置判別等等。
(2)端口掃描:通過對目標(biāo)地址的TCP/UDP端口掃描,確定其所開放的服務(wù)的數(shù)量和類型,這是所有滲透測試的基礎(chǔ)。通過端口掃描,可以基本確定一個(gè)系統(tǒng)的基本信息,結(jié)合測試人員的經(jīng)驗(yàn)可以確定其可能存在,以及被利用的安全弱點(diǎn),為進(jìn)行深層次的滲透提供依據(jù)。
(3)權(quán)限提升:通過收集信息和分析,存在兩種可能性,其一是目標(biāo)系統(tǒng)存在重大弱點(diǎn):測試人員可以直接控制目標(biāo)系統(tǒng),然后直接調(diào)查目標(biāo)系統(tǒng)中的弱點(diǎn)分布、原因,形成最終的測試報(bào)告;其二是目標(biāo)系統(tǒng)沒有遠(yuǎn)程重大弱點(diǎn),但是可以獲得遠(yuǎn)程普通權(quán)限,這時(shí)測試人員可以通過該普通權(quán)限進(jìn)一步收集目標(biāo)系統(tǒng)信息。接下來,盡最大努力獲取本地權(quán)限,收集本地資料信息,尋求本地權(quán)限升級的機(jī)會。這些不停的信息收集分析、權(quán)限升級的結(jié)果將構(gòu)成此次項(xiàng)目整個(gè)滲透測試過程的輸出。
(4)不同網(wǎng)段/Vlan之間的滲透:這種滲透方式是從某內(nèi)/外部網(wǎng)段,嘗試對另一網(wǎng)段/Vlan進(jìn)行滲透。這類測試通??赡苡玫降募夹g(shù)包括:對網(wǎng)絡(luò)設(shè)備和無線設(shè)備的遠(yuǎn)程攻擊;對防火墻的遠(yuǎn)程攻擊或規(guī)則探測、規(guī)避嘗試。信息的收集和分析伴隨著每一個(gè)滲透測試步驟,每一個(gè)步驟又有三個(gè)組成部分:操作、響應(yīng)和結(jié)果分析。
(5)溢出測試:當(dāng)測試人員無法直接利用帳戶口令登錄系統(tǒng)時(shí),也會采用系統(tǒng)溢出的方法直接獲得系統(tǒng)控制權(quán)限,此方法有時(shí)會導(dǎo)致系統(tǒng)死機(jī)或重新啟動,但不會導(dǎo)致系統(tǒng)數(shù)據(jù)丟失,如出現(xiàn)死機(jī)等故障,只要將系統(tǒng)重新啟動并開啟原有服務(wù)即可。一般情況下,如果未授權(quán),將不會進(jìn)行此項(xiàng)測試!
(6)WEB應(yīng)用測試:Web腳本及應(yīng)用測試專門針對Web及數(shù)據(jù)庫服務(wù)器進(jìn)行。根據(jù)最新的統(tǒng)計(jì),腳本安全弱點(diǎn)為當(dāng)前Web系統(tǒng),尤其是存在動態(tài)內(nèi)容的Web系統(tǒng)比較嚴(yán)重的安全弱點(diǎn)之一。利用腳本相關(guān)弱點(diǎn)輕則可以獲取系統(tǒng)其他目錄的訪問權(quán)限,重則將有可能取得系統(tǒng)的控制權(quán)限。因此對于含有動態(tài)頁面的Web、數(shù)據(jù)庫等系統(tǒng),Web腳本及應(yīng)用測試將是必不可少的一個(gè)環(huán)節(jié)。在Web腳本及應(yīng)用測試中,可能需要檢查的部分包括:
①檢查應(yīng)用系統(tǒng)架構(gòu),防止用戶繞過系統(tǒng)直接修改數(shù)據(jù)庫;
②檢查身份認(rèn)證模塊,用以防止非法用戶繞過身份認(rèn)證;
③檢查數(shù)據(jù)庫接口模塊,用以防止用戶獲取系統(tǒng)權(quán)限;
④檢查文件接口模塊,防止用戶獲取系統(tǒng)文件;
⑤檢查其他安全威脅;
(7)SQL注入攻擊:SQL注入常見于應(yīng)用了SQL數(shù)據(jù)庫后端的網(wǎng)站服務(wù)器,入侵者通過提交某些特殊SQL語句,最終可能獲取、篡改、控制網(wǎng)站服務(wù)器端數(shù)據(jù)庫中的內(nèi)容。此類漏洞是入侵者最常用的入侵方式之一。
(8)檢測頁面隱藏字段:網(wǎng)站應(yīng)用系統(tǒng)常采用隱藏字段存儲信息。許多基于網(wǎng)站的電子商務(wù)應(yīng)用程序用隱藏字段來存儲商品價(jià)格、用戶名、密碼等敏感內(nèi)容。惡意用戶通過操作隱藏字段內(nèi)容達(dá)到惡意交易和竊取信息等行為,是一種非常危險(xiǎn)的漏洞。
(9)跨站攻擊:入侵者可以借助網(wǎng)站來攻擊訪問此網(wǎng)站的終端用戶,來獲得用戶口令或使用站點(diǎn)掛馬來控制客戶端。
(10)Cookie利用:網(wǎng)站應(yīng)用系統(tǒng)常使用cookies機(jī)制在客戶端主機(jī)上保存某些信息,例如用戶ID、口令、時(shí)戳等。入侵者可能通過篡改cookies內(nèi)容,獲取用戶的賬號,導(dǎo)致嚴(yán)重的后果。
(11)后門程序檢查:系統(tǒng)開發(fā)過程中遺留的后門和調(diào)試選項(xiàng)可能被入侵者所利用,導(dǎo)致入侵者輕易地從捷徑實(shí)施攻擊。
(12)第三方軟件誤配置:第三方軟件的錯(cuò)誤設(shè)置可能導(dǎo)致入侵者利用該漏洞構(gòu)造不同類型的入侵攻擊。
(13)其他測試:在滲透測試中還需要借助暴力破解、網(wǎng)絡(luò)嗅探等其他方法,目的也是為獲取用戶名及密碼。
1.3.2安全性測試主要關(guān)注點(diǎn)
在對被測系統(tǒng)進(jìn)行安全測試中,對于安全性和訪問控制的兩個(gè)關(guān)鍵要求:
(1)應(yīng)用程序級別的安全性,包括對數(shù)據(jù)或業(yè)務(wù)功能的訪問。
(2)系統(tǒng)級別的安全性,包括對系統(tǒng)的登錄或遠(yuǎn)程訪問。
應(yīng)用程序級別的安全性,確保在預(yù)期的安全性情況下,用戶只能訪問特定的功能或用例,或者只能訪問有限的數(shù)據(jù)。系統(tǒng)級別的安全性,確保只有具備系統(tǒng)訪問權(quán)限的用戶才能訪問應(yīng)用程序,而且只能通過相應(yīng)的網(wǎng)關(guān)來訪問。通常情況下,利用工具掃描系統(tǒng)應(yīng)考慮兩個(gè)方面的問題:主機(jī)的安全性:遠(yuǎn)程服務(wù)類型、操作系統(tǒng)類型及版本、弱口令漏洞、后門、應(yīng)用服務(wù)漏洞、網(wǎng)絡(luò)設(shè)備漏洞、拒絕服務(wù)漏洞等。應(yīng)用的安全性:防會話標(biāo)志更新攻擊、防跨站點(diǎn)腳本編制攻擊、防格式字符串攻擊、防SQL注入、防目錄索引、防信息泄露、防路徑遍歷、防潛在文件上載以及系統(tǒng)后門等。
二、軟件測試策略及用例規(guī)劃
2.1測試策略
2.1.1功能測試
依據(jù)軟件需求說明書和相關(guān)技術(shù)文檔的技術(shù)要求,結(jié)合用戶對系統(tǒng)整體應(yīng)用方向,對系統(tǒng)涉及到的所有業(yè)務(wù)邏輯、功能邏輯、功能項(xiàng)的全覆蓋測試,采用等價(jià)類劃分方法、邊界值分析方法、錯(cuò)誤推測方法、場景法等用例設(shè)計(jì)方法設(shè)計(jì)用例和執(zhí)行功能測試。
2.1.2 性能效率測試
通過站在用戶體驗(yàn)的角度,使用專業(yè)的負(fù)載生成設(shè)備,在性能模型的基礎(chǔ)上驗(yàn)證系統(tǒng)是否能夠達(dá)到用戶提出的性能指標(biāo),是否符合用戶文檔中對系統(tǒng)設(shè)計(jì)時(shí)的性能關(guān)注點(diǎn)。在系統(tǒng)正常交互量及峰值交互量的情況下發(fā)現(xiàn)系統(tǒng)中存在的性能瓶頸,最后達(dá)到優(yōu)化系統(tǒng)的目的。
2.1.3 可靠性測試
根據(jù)軟件系統(tǒng)可靠性結(jié)構(gòu)、壽命類型和可靠性試驗(yàn)信息,利用概率統(tǒng)計(jì)方法,評估出系統(tǒng)的可靠性特征量。通過可靠性測試可驗(yàn)證軟件系統(tǒng)在規(guī)定的時(shí)間內(nèi)以及規(guī)定的環(huán)境條件下,完成規(guī)定功能的能力。
2.1.4 維護(hù)性測試
通過監(jiān)控軟件和維護(hù)措施,監(jiān)控運(yùn)行狀態(tài)和故障診斷能力,驗(yàn)證通過維護(hù)向?qū)Щ虮O(jiān)控指標(biāo)快速判斷故障發(fā)生點(diǎn),根據(jù)歷史故障確定系統(tǒng)維護(hù)性遵循易分析性、易定位、易修復(fù)性和可測試性。
2.1.5 可移植性測試
根據(jù)系統(tǒng)運(yùn)行的環(huán)境要求,在不同操作系統(tǒng)平臺、不同數(shù)據(jù)庫平臺、不同中間件平臺及各種硬件設(shè)備、支撐軟件等實(shí)施系統(tǒng)部署,舉證系統(tǒng)具備良好移植性和兼容性。
2.2 制定測試計(jì)劃
根據(jù)系統(tǒng)整體的建設(shè)周期制定整個(gè)項(xiàng)目的測試計(jì)劃,根據(jù)制定的測試計(jì)劃科學(xué)、合理分配測試任務(wù),推進(jìn)測試工作,具體包含:
(1)識別項(xiàng)目測試活動,定義輸出成果,估算每項(xiàng)活動所需的時(shí)間;
(2)識別項(xiàng)目延期風(fēng)險(xiǎn),并確定應(yīng)對策略;
(3)綜合相關(guān)內(nèi)容,確定階段里程碑,并形成詳細(xì)測試計(jì)劃;
(4)對測試計(jì)劃進(jìn)行評審、修改,直至測試計(jì)劃獲得批準(zhǔn);
(5)將測試計(jì)劃分發(fā)給各測試組,分配測試任務(wù);
(6)定期匯報(bào)測試任務(wù)完成情況,跟蹤計(jì)劃推進(jìn)進(jìn)度。
2.3 測試用例庫
在針對大型軟件測試項(xiàng)目時(shí),應(yīng)用系統(tǒng)功能點(diǎn)繁多,測試實(shí)施過程中會設(shè)計(jì)和開發(fā)大量測試用例和腳本。在實(shí)際項(xiàng)目中,測試用例是測試工作的核心,是測試執(zhí)行環(huán)節(jié)的基本依據(jù),經(jīng)常因?yàn)楣芾聿簧坪驮O(shè)計(jì)盲目,使得用例庫龐大而且難以維護(hù),測試腳本管理繁雜,并且成了測試人員的負(fù)擔(dān),增加測試執(zhí)行人的工作勞動強(qiáng)度,測試效率低下。
為此,測試實(shí)施過程中的需要和應(yīng)用系統(tǒng)后期維護(hù)升級的測試需要,擬規(guī)劃測試用例庫建設(shè)目標(biāo):構(gòu)建高質(zhì)量的可重用測試用例,建成系統(tǒng)基準(zhǔn)測試用例庫。具體可體現(xiàn)在以下幾個(gè)方面:
(1)采用專業(yè)、成熟的管理平臺,對測試用例庫和腳本實(shí)施管理;
(2)建立測試用例的標(biāo)準(zhǔn)模板,可分為自動化類,手工類;
(3)歸類用例,對共用模塊建立用例集,形成公共用例庫,共享用例;
(4)所有的測試用例按標(biāo)準(zhǔn)編寫,歸入測試用例總庫;
(5)測試用例經(jīng)測試執(zhí)行、反饋、修改后分別進(jìn)入子庫公用測試用例庫、專用測試用例庫(針對特殊需求、個(gè)別應(yīng)用);
(6)用例庫的建設(shè)是一個(gè)積累的過程,需不停地維護(hù),期間要進(jìn)行增加、刪除、修改等操作,以維護(hù)測試用例庫的完整性,提高測試用例庫的可用性,提升測試用例庫的效率和效用。
2.4測試用例設(shè)計(jì)與管理
測試用例的設(shè)計(jì)需要依據(jù)軟件需求規(guī)格說明中的功能需求、數(shù)據(jù)需求,利用測試計(jì)劃中所規(guī)定的測試方法和策略,按測試目標(biāo)對每一個(gè)測試點(diǎn)分別設(shè)計(jì)在不同情況下的測試動作、輸入數(shù)據(jù)和預(yù)期結(jié)果。
依據(jù)軟件需求規(guī)格說明中的非功能需求,制定相關(guān)驗(yàn)收項(xiàng),分別針對系統(tǒng)可靠性、效率、維護(hù)性、可移植性測試用例。
設(shè)計(jì)測試用例的過程中,測試人員將盡可能的與開發(fā)人員、產(chǎn)品設(shè)計(jì)人員實(shí)時(shí)溝通,不斷加深對測試系統(tǒng)的理解,對軟件的結(jié)構(gòu)層次、數(shù)據(jù)流程或操作流程進(jìn)行分析。借助等價(jià)類、邊界值、錯(cuò)誤推測方法設(shè)計(jì)測試用例。具體應(yīng)遵循以下規(guī)則:
(1)全面性,測試用例中的測試點(diǎn)應(yīng)首先保證要至少覆蓋需求規(guī)格說明書中的各項(xiàng)功能,確保功能覆蓋全面無遺漏;
(2)正確性,正確輸入用戶實(shí)際數(shù)據(jù)或模擬生產(chǎn)數(shù)據(jù),以驗(yàn)證系統(tǒng)是否滿足需求規(guī)格說明書的要求,確保系統(tǒng)正確實(shí)現(xiàn)了需求功能;
(3)異常處理能力,設(shè)計(jì)的測試用例除對測試點(diǎn)本身正確的測試外,還需考慮用戶實(shí)際使用的情況、與其它部分關(guān)聯(lián)使用的情況、非正常情況(業(yè)務(wù)邏輯不合理、操作或輸入數(shù)據(jù)非法、數(shù)據(jù)越界以及極限輸入數(shù)據(jù)、特殊字符)操作和環(huán)境設(shè)置等;
(4)用例設(shè)計(jì)應(yīng)考慮到業(yè)務(wù)的擴(kuò)展應(yīng)用、特殊業(yè)務(wù)規(guī)則以及服務(wù)異常中斷等;
(5)綜合分析系統(tǒng)應(yīng)用,系統(tǒng)功能優(yōu)先級高的優(yōu)先設(shè)計(jì)用例,并且優(yōu)先執(zhí)行測試;
(6)回歸測試中,先運(yùn)行曾經(jīng)發(fā)現(xiàn)缺陷的測試用例,然后再運(yùn)行從來沒有發(fā)現(xiàn)缺陷的測試用例,回歸測試做到用例全覆蓋;
(7)測試用例應(yīng)包含多種元素,能夠指導(dǎo)測試的執(zhí)行和明確測試執(zhí)行環(huán)境。
2.5測試用例要素
軟件名稱:被測項(xiàng)目的名稱,寫明該用例歸屬于哪個(gè)軟件目。
編號/版本:被測項(xiàng)目的編號或版本號,用于區(qū)分同一軟件的不同版本。
模塊名稱:指出本用例用于哪個(gè)功能模塊,也可根據(jù)軟件的菜單項(xiàng)進(jìn)行劃分。
功能特性:指出被測功能的特性及其所能實(shí)現(xiàn)的目標(biāo)。
預(yù)置條件:需要在執(zhí)行測試用例之前完成的操作,如運(yùn)行**軟件,打開**頁面等。
用例編號:用來標(biāo)識用例的唯一編號。編號根據(jù)公司的編號規(guī)范制定。
參考信息:用于指出該用例參考了哪些文檔,記錄下來它們的名稱、章節(jié)號和功能項(xiàng)。
用例說明:描述實(shí)現(xiàn)用例需要執(zhí)行的操作步驟。
輸入數(shù)據(jù):規(guī)定執(zhí)行測試用例所需的數(shù)據(jù)或條件。
預(yù)期結(jié)果:表明執(zhí)行測試用例后應(yīng)該得出的結(jié)果。
環(huán)境要求:注明執(zhí)行本條測試用例需要具備的軟、硬件和網(wǎng)絡(luò)環(huán)境。
特殊規(guī)程要求:描述對執(zhí)行本測試用例的測試規(guī)程的一切特殊限制。
用例間的依賴關(guān)系:也稱之為“相關(guān)用例”。列出必須在本測試用例之前執(zhí)行的測試用例名稱,歸納依賴性質(zhì)。
測試結(jié)果:本測試用例執(zhí)行完畢后的實(shí)際結(jié)果與預(yù)期結(jié)果相比較,說明測試用例是否通過。
缺陷編號:如果本測試用例沒有通過,就要馬上作缺陷記錄,提交缺陷報(bào)告,得到編號并記錄下來,便于日后跟蹤。
2.6測試用例設(shè)計(jì)原則
(1)測試用例的代表性:能夠代表并覆蓋各種合理的和不合理的、合法的和非法的、邊界的和越界的以及極限的輸入數(shù)據(jù)、操作和環(huán)境設(shè)置等。
(2)測試結(jié)果的可判定性:即測試執(zhí)行結(jié)果的正確性是可判定的,每一個(gè)測試用例都應(yīng)有相應(yīng)的期望結(jié)果。
(3)測試結(jié)果的可再現(xiàn)性:即對同樣的測試用例,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的。
2.7測試用例設(shè)計(jì)過程
(1)軟件需求分析:測試需求應(yīng)該在軟件需求基礎(chǔ)上進(jìn)行歸納、分類或細(xì)分,方便測試用例設(shè)計(jì)。
(2)業(yè)務(wù)流程分析:進(jìn)行測試用例設(shè)計(jì)前,先熟悉軟件的業(yè)務(wù)流程。業(yè)務(wù)流程圖可以幫助理解軟件的處理邏輯和數(shù)據(jù)流向,從而指導(dǎo)測試用例的設(shè)計(jì)。
(3)測試用例設(shè)計(jì):在用例設(shè)計(jì)中,除了功能測試用例外,應(yīng)盡量考慮邊界、異常、性能的情況,以便發(fā)現(xiàn)更多的隱藏問題。
(4)測試用例評審:測試用例設(shè)計(jì)完成后,為了確認(rèn)測試過程和方法是否正確,是否有遺漏的測試點(diǎn),需要進(jìn)行測試用例的評審。
(5)測試用例完善:測試用例編寫完成后需要根據(jù)軟件產(chǎn)品的不斷變化不斷更新和完善。
(6)測試用例維護(hù):測試用例的維護(hù)是一個(gè)不間斷的過程,通常可以將軟件開發(fā)的基線作為基準(zhǔn),維護(hù)的主要內(nèi)容包括刪除無用的測試用例、修改測試用例和新增測試用例。
2.8測試用例設(shè)計(jì)方法
測試用例的設(shè)計(jì)可以采用等價(jià)類分析方法、邊界值分析方法、因果圖分析方法、錯(cuò)誤推斷法、功能圖分析方法、用例場景分析法等。
三、總結(jié)
以上就是關(guān)于軟件測試中功能、性能、安全測試,以及測試用例等方面的簡單介紹,歡迎大家一起交流學(xué)習(xí)哦。
聯(lián)系我們
電話:400 108 9880
網(wǎng)址:joined-tech.cn
郵箱:kj-sv@svtest.cn
傳真:020-31707367
聯(lián)系地址
廣州:廣州開發(fā)區(qū)科學(xué)城玉樹創(chuàng)新園 J 棟 103 房
北京:北京市海淀區(qū)永定路 15 號院南門 208 室
長沙:長沙市雨花區(qū)保利東郡 8 棟 1803 房
深圳:深圳市南山區(qū)西麗深圳大學(xué)城學(xué)苑大道 1068 號(深圳先進(jìn)院內(nèi))
深圳市龍華區(qū)觀湖街道松元廈社區(qū)虎地排121號錦繡大地11號樓410
石家莊:石家莊市鹿泉區(qū)山尹村鎮(zhèn)濱海路19號2號樓
地址:廣州黃埔區(qū)科學(xué)城玉樹工業(yè)園 敬業(yè)三街2號J棟103房,105房.107房
傳真:020-3170-7367
400熱線:400-108-9880
郵箱:kj-mark@svtest.cn