軟件測試的目的
1、測試是(shi)為了發現程(cheng)序(xu)中的錯(cuo)誤而執行程(cheng)序(xu)的過程(cheng)。
2、好的(de)測試方案(an)是極(ji)可能發(fa)現(xian)迄(qi)今為止尚(shang)未(wei)發(fa)現(xian)的(de)錯誤的(de)測試方案(an)。
3、成功的測試是發(fa)現了至今為止尚未發(fa)現的錯誤(wu)的測試。
4、測試并不僅僅是為了找出錯誤。通過分析錯誤產生的原因和錯誤的發生趨勢,可以幫助軟件項目管理(li)者發(fa)現當前(qian)軟(ruan)件開發(fa)過程中(zhong)的缺陷(xian),以便及(ji)時改進(jin)。
5、這(zhe)種分(fen)析(xi)也(ye)能幫助(zhu)測試(shi)(shi)(shi)人員設計(ji)出(chu)有針對性的測試(shi)(shi)(shi)方法,改(gai)善測試(shi)(shi)(shi)的效率和有效性。
6、沒有(you)發現(xian)錯誤的(de)測試也是有(you)價值(zhi)的(de),完整的(de)測試是評定軟件(jian)質量的(de)一種方法。
7、另外,根據(ju)測(ce)(ce)試目的的不同,還有回歸(gui)測(ce)(ce)試、壓力測(ce)(ce)試、性能測(ce)(ce)試等,分別(bie)為了(le)檢驗修(xiu)改或優(you)化過程是否引發新(xin)的問題、軟件所能達到處理能力和是否達到預(yu)期的處理能力等。
軟件測試的原則
1、測試應該盡早進行,最(zui)好在需(xu)求階段就(jiu)開始介入(ru),因為最(zui)嚴重的(de)錯誤不外(wai)乎是系統不能滿(man)足(zu)用戶(hu)的(de)需(xu)求。
2、程(cheng)序員應該避免檢查自己的(de)程(cheng)序,軟件(jian)測(ce)試應該由第三方來負責。
3、設(she)計測試用例時應(ying)考慮(lv)到合法的(de)輸入(ru)和不合法的(de)輸入(ru)以及各種邊界條件,特殊情況下還要制(zhi)造極端狀(zhuang)態(tai)(tai)和意(yi)外(wai)狀(zhuang)態(tai)(tai),如(ru)網(wang)絡異常中斷、電源(yuan)斷電等。
4、應(ying)該充分注意測試中(zhong)的群集(ji)現象。
5、對錯誤結果(guo)要進(jin)行一個(ge)確認過程。一般由A測試出來的(de)錯誤,一定要由B來確認。嚴(yan)重(zhong)的(de)錯誤可以(yi)召開評審會議(yi)進(jin)行討論和分析,對測試結果(guo)要進(jin)行嚴(yan)格(ge)地(di)確認,是否真的(de)存在這個(ge)問題以(yi)及嚴(yan)重(zhong)程度等。
6、制定(ding)嚴格的測(ce)試(shi)計(ji)劃(hua)。一定(ding)要制定(ding)測(ce)試(shi)計(ji)劃(hua),并且要有指導性。測(ce)試(shi)時間安排盡量(liang)寬松(song),不要希望(wang)在極短的時間內完成一個高(gao)水平的測(ce)試(shi)。
7、妥善保(bao)存測(ce)試計劃、測(ce)試用例、出錯(cuo)統(tong)計和最終分析報告,為維護提供方便(bian)。
軟件測試的方法
1、靜態測試
靜(jing)態(tai)測(ce)(ce)(ce)試方式指軟(ruan)件(jian)(jian)代碼的(de)(de)靜(jing)態(tai)分析測(ce)(ce)(ce)驗,此(ci)類過(guo)程(cheng)中(zhong)應用數(shu)據較(jiao)少,主要過(guo)程(cheng)為通過(guo)軟(ruan)件(jian)(jian)的(de)(de)靜(jing)態(tai)性(xing)測(ce)(ce)(ce)試(即人工推斷或計(ji)算機輔(fu)助測(ce)(ce)(ce)試)測(ce)(ce)(ce)試程(cheng)序中(zhong)運(yun)算方式、算法的(de)(de)正確性(xing),進(jin)而完成(cheng)測(ce)(ce)(ce)試過(guo)程(cheng),此(ci)類測(ce)(ce)(ce)試的(de)(de)優點(dian)在于(yu)能夠消耗(hao)較(jiao)短時間、較(jiao)少資源完成(cheng)對軟(ruan)件(jian)(jian)、軟(ruan)件(jian)(jian)代碼的(de)(de)測(ce)(ce)(ce)試,能夠較(jiao)為明顯地發現(xian)此(ci)類代碼中(zhong)出現(xian)的(de)(de)錯誤。靜(jing)態(tai)測(ce)(ce)(ce)試方法適用范圍較(jiao)大,尤(you)其適用于(yu)較(jiao)大型的(de)(de)軟(ruan)件(jian)(jian)測(ce)(ce)(ce)試。
2、動態測試
計(ji)算機動(dong)(dong)態(tai)(tai)測(ce)試(shi)的主要(yao)目的為檢測(ce)軟(ruan)件(jian)(jian)運(yun)(yun)行(xing)中(zhong)出現的問題,較靜態(tai)(tai)測(ce)試(shi)方(fang)(fang)式相比,其被稱為動(dong)(dong)態(tai)(tai)的原因即為其測(ce)試(shi)方(fang)(fang)式主要(yao)依賴程序的運(yun)(yun)用(yong),主要(yao)為檢測(ce)軟(ruan)件(jian)(jian)中(zhong)動(dong)(dong)態(tai)(tai)行(xing)為是(shi)否(fou)缺失、軟(ruan)件(jian)(jian)運(yun)(yun)行(xing)效(xiao)果是(shi)否(fou)良(liang)好。其最為明(ming)顯(xian)的特征即為進行(xing)動(dong)(dong)態(tai)(tai)測(ce)試(shi)時軟(ruan)件(jian)(jian)為運(yun)(yun)轉(zhuan)狀(zhuang)態(tai)(tai),只有(you)(you)如此才能于使(shi)用(yong)過程中(zhong)發現軟(ruan)件(jian)(jian)缺陷(xian),進而對此類(lei)缺陷(xian)進行(xing)修復(fu)。目前動(dong)(dong)態(tai)(tai)測(ce)試(shi)過程中(zhong)可包括兩(liang)類(lei)因素(su),即被測(ce)試(shi)軟(ruan)件(jian)(jian)與測(ce)試(shi)中(zhong)所需(xu)數(shu)據,兩(liang)類(lei)因素(su)決定動(dong)(dong)態(tai)(tai)測(ce)試(shi)正確展(zhan)開、有(you)(you)效(xiao)展(zhan)開。
3、黑盒測試
黑盒測試(shi)(shi),顧(gu)名思義即(ji)為(wei)(wei)將軟(ruan)件(jian)(jian)測試(shi)(shi)環境模擬為(wei)(wei)不(bu)可(ke)見(jian)的“黑盒”。通過數(shu)據(ju)(ju)(ju)輸(shu)入(ru)(ru)觀察數(shu)據(ju)(ju)(ju)輸(shu)出(chu),檢查(cha)軟(ruan)件(jian)(jian)內部功能是(shi)否正常。測試(shi)(shi)展開時(shi),數(shu)據(ju)(ju)(ju)輸(shu)入(ru)(ru)軟(ruan)件(jian)(jian)中,等待數(shu)據(ju)(ju)(ju)輸(shu)出(chu)。數(shu)據(ju)(ju)(ju)輸(shu)出(chu)時(shi)若與預(yu)(yu)計數(shu)據(ju)(ju)(ju)一致,則證明該軟(ruan)件(jian)(jian)通過測試(shi)(shi),若數(shu)據(ju)(ju)(ju)與預(yu)(yu)計數(shu)據(ju)(ju)(ju)有出(chu)入(ru)(ru),即(ji)便出(chu)入(ru)(ru)較小(xiao)亦證明軟(ruan)件(jian)(jian)程序內部出(chu)現問題,需盡快解決(jue)。
4、白盒測試
白(bai)(bai)盒(he)(he)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)相對(dui)(dui)于黑(hei)(hei)(hei)盒(he)(he)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)而言(yan)具(ju)有一定透明(ming)性,原理為(wei)根據軟(ruan)件(jian)內(nei)(nei)部應(ying)用(yong)(yong)(yong)、源(yuan)代碼等對(dui)(dui)產品(pin)內(nei)(nei)部工(gong)作(zuo)過(guo)程(cheng)(cheng)(cheng)(cheng)進行調(diao)試(shi)(shi)(shi)(shi)(shi)。測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)過(guo)程(cheng)(cheng)(cheng)(cheng)中(zhong)(zhong)常將(jiang)其與軟(ruan)件(jian)內(nei)(nei)部結(jie)構(gou)(gou)協(xie)同展(zhan)開分析,最大(da)優點即為(wei)其能(neng)夠(gou)有效解決軟(ruan)件(jian)內(nei)(nei)部應(ying)用(yong)(yong)(yong)程(cheng)(cheng)(cheng)(cheng)序(xu)(xu)(xu)出(chu)(chu)現(xian)的(de)(de)(de)問(wen)(wen)題(ti)(ti),測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)過(guo)程(cheng)(cheng)(cheng)(cheng)中(zhong)(zhong)常將(jiang)其與黑(hei)(hei)(hei)盒(he)(he)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)方(fang)式結(jie)合,當測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)軟(ruan)件(jian)功能(neng)較多(duo)時,白(bai)(bai)盒(he)(he)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)法(fa)(fa)亦可對(dui)(dui)此(ci)類(lei)(lei)情況展(zhan)開有效調(diao)試(shi)(shi)(shi)(shi)(shi)。其中(zhong)(zhong),判(pan)定測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)作(zuo)為(wei)白(bai)(bai)盒(he)(he)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)法(fa)(fa)中(zhong)(zhong)最為(wei)主要(yao)的(de)(de)(de)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)程(cheng)(cheng)(cheng)(cheng)序(xu)(xu)(xu)結(jie)構(gou)(gou)之一,此(ci)類(lei)(lei)程(cheng)(cheng)(cheng)(cheng)序(xu)(xu)(xu)結(jie)構(gou)(gou)作(zuo)為(wei)對(dui)(dui)程(cheng)(cheng)(cheng)(cheng)序(xu)(xu)(xu)邏(luo)輯結(jie)構(gou)(gou)的(de)(de)(de)整體實現(xian),對(dui)(dui)于程(cheng)(cheng)(cheng)(cheng)序(xu)(xu)(xu)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)而言(yan)具(ju)有較為(wei)重要(yao)的(de)(de)(de)作(zuo)用(yong)(yong)(yong)。此(ci)類(lei)(lei)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)方(fang)式針對(dui)(dui)程(cheng)(cheng)(cheng)(cheng)序(xu)(xu)(xu)中(zhong)(zhong)各類(lei)(lei)型的(de)(de)(de)代碼進行覆蓋(gai)(gai)式檢(jian)(jian)(jian)測(ce)(ce)(ce),覆蓋(gai)(gai)范圍(wei)較廣,適用(yong)(yong)(yong)于多(duo)類(lei)(lei)型程(cheng)(cheng)(cheng)(cheng)序(xu)(xu)(xu)。實際檢(jian)(jian)(jian)測(ce)(ce)(ce)中(zhong)(zhong),白(bai)(bai)盒(he)(he)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)法(fa)(fa)常與黑(hei)(hei)(hei)盒(he)(he)檢(jian)(jian)(jian)測(ce)(ce)(ce)法(fa)(fa)并用(yong)(yong)(yong),以(yi)動態(tai)檢(jian)(jian)(jian)測(ce)(ce)(ce)方(fang)式中(zhong)(zhong)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)出(chu)(chu)的(de)(de)(de)未知錯誤為(wei)例,首先使(shi)用(yong)(yong)(yong)黑(hei)(hei)(hei)盒(he)(he)檢(jian)(jian)(jian)測(ce)(ce)(ce)法(fa)(fa),若(ruo)程(cheng)(cheng)(cheng)(cheng)序(xu)(xu)(xu)輸(shu)入數(shu)(shu)據與輸(shu)出(chu)(chu)數(shu)(shu)據相同,則證明(ming)內(nei)(nei)部數(shu)(shu)據未出(chu)(chu)現(xian)問(wen)(wen)題(ti)(ti),應(ying)從(cong)代碼方(fang)面(mian)進行分析,若(ruo)出(chu)(chu)現(xian)問(wen)(wen)題(ti)(ti)則使(shi)用(yong)(yong)(yong)白(bai)(bai)盒(he)(he)測(ce)(ce)(ce)試(shi)(shi)(shi)(shi)(shi)法(fa)(fa),針對(dui)(dui)軟(ruan)件(jian)內(nei)(nei)部結(jie)構(gou)(gou)進行分析,直至檢(jian)(jian)(jian)測(ce)(ce)(ce)出(chu)(chu)問(wen)(wen)題(ti)(ti)所(suo)在(zai),及時加以(yi)修改(gai)。
申明:以上內容源于程序系統索引或網民分享提供,僅供您參考使用,不代表本網站的研究觀點,請注意甄別內容來源的真實性和權威性。