軟件測試一共有哪幾種類型
軟件測試是指使用人工或者自動的手段來運行或測定某個軟件產(chǎn)品系統(tǒng)的過程,其目的是在于檢驗是否滿足規(guī)定的需求或者弄清預(yù)期的結(jié)果與實際結(jié)果的區(qū)別,本文主要描述一下軟件測試一共有哪幾種類型。
單元測試(Unit test):是針對模塊組件或方法的測試。在本人的操作中,一般是開發(fā)員工作范圍內(nèi)的測試;在具備組件接口規(guī)范的情況下,一般需要做一個測試工具模擬調(diào)用環(huán)境,編寫測試實例,通過斷點情況監(jiān)視模塊實際工作是否正常。
白箱測試:在理解內(nèi)部流程的情況下針對邏輯流程設(shè)計測試實例,目的是找出極限邊緣以及內(nèi)在的邏輯錯誤。單元測試中白箱測試的比例很高,(原因不難理解,還有誰比作者自已更理解模塊的構(gòu)造流程的?)。
黑箱測試:這是QC部門的主要工作。黑箱測試主要在于編寫測試實例。不過在實際操作中,都是把最不懂技術(shù)的成員分配做測試,最高技術(shù)水平就是會用VSS,所以也就別指望編什么測試實例。
壓力測試:評價一個系統(tǒng)極限可以承受的壓力是多少,同時在超負荷后的的響應(yīng)情況;同時,在極限狀況下,一些平時不太出現(xiàn)的bug也會浮現(xiàn)出來。
回歸測試;在修改其中一個模塊后看其他模塊有什么問題。作者認為這個測試是過程化程序的觀念產(chǎn)物,在模塊化軟件中相互耦合程度低,而且服從統(tǒng)一的調(diào)動協(xié)議,是不是修改真是自家里的事情,和他人(模塊)沒有半點相干。
整體測試:把不同的模塊連結(jié)后,看看聯(lián)合工作情況如何。這實際上是對接口協(xié)議的測試。作者認為是可以作為接口互動部分的設(shè)計一部分工作,沒有必要擺出來作為流程之一。同理還有系統(tǒng)測試,反正最后整個系統(tǒng)運行起來是什么情況。看似大,但如果前面已經(jīng)做到好好的,這里如果出問題那才叫怪呢!
軟件測試一共有哪幾種類型?作為一名初學(xué)者來說,了解了軟件測試的類型還不夠,應(yīng)用在不同類型中所需的工具也是很多的,那么做軟件測試要用到什么工具呢,請看下文
做軟件測試要用到什么工具
俗話說“工欲善其事、必先利其器”,作為一名合格的軟件測試工程師,測試用到的工具一定要準(zhǔn)備齊全,當(dāng)然學(xué)會如何使用它們也是你必須要做到的,那么做軟件測試要用到什么工具呢?南京達內(nèi)軟件測試培訓(xùn)師為您詳解。
測試管理工具:幫助測試人員完成計劃、追蹤等任務(wù)的工具,并且有助于根據(jù)需求、設(shè)計、編碼以及缺陷。
靜態(tài)分析工具:在不執(zhí)行代碼的前提下進行分析,是非常重要的缺陷檢測工具,以各種指標(biāo)來對代碼進行衡量,如McCabe測定復(fù)雜度,Logiscope度量代碼和規(guī)范的復(fù)合度等等。
動態(tài)分析工具:系統(tǒng)運行中進行分析、評估。例如運行過程中檢測內(nèi)存使用情況、內(nèi)存是否有越界、內(nèi)存有無泄漏情況,常用工具有Purify、BoundChecker等。
覆蓋率工具:這類工具用于對軟件執(zhí)行后,測試軟件被執(zhí)行的程度,在單元測試中被廣泛應(yīng)用,如TrueCoverage、PureCoverage、Logiscope等等。
測試執(zhí)行工具:這類測試工具往往能夠自動執(zhí)行,覆蓋單元測試、集成測試、系統(tǒng)測試等各種需求應(yīng)用,分為功能測試自動化工具:Robot、Winrunner、SilkTest等;性能測試工具,如Loadrunner、SilKPerformer等。
做軟件測試要用到的工具就為大家介紹到這里,以上幾種為軟件測試工程師必備工具,具體根據(jù)黑盒、白盒測試也會有不同區(qū)分。
搭建軟件測試環(huán)境應(yīng)注意的幾個問題
軟件測試環(huán)境的搭建在軟件測試項目中至關(guān)重要,其中應(yīng)注意的問題也是不少,本文重點向讀者介紹在測試過程中應(yīng)注意的幾個問題,希望能給讀者以啟迪。
問題一:提交一份優(yōu)秀的問題報告單
軟件測試提交的問題報告單和測試日報一樣,都是軟件測試人員的工作輸出,是測試人員績效的集中體現(xiàn)。因此,提交一份優(yōu)秀的問題報告單是很重要的。缺陷報告單中最關(guān)鍵的幾個部分:第一部分是發(fā)現(xiàn)缺陷的環(huán)境,包括軟件環(huán)境、硬件環(huán)境等;第二部分是缺陷的基本描述;第三部分是開發(fā)人員對缺陷的解決方法。通過對上述缺陷報告單的三個部分進行仔細分析,從中掌握了軟件產(chǎn)品最常見的基本問題,并吸收了其它軟件測試人員的工作經(jīng)驗。最關(guān)鍵的域就是“ 問題描述” ,這是開發(fā)人員重現(xiàn)問題,定位問題的依據(jù)。問題描述應(yīng)該包括以下幾部分內(nèi)容:軟件配置、硬件配置、測試用例輸入、操作步驟、輸出、當(dāng)時輸出設(shè)備的相關(guān)輸出信息和相關(guān)的日志等。軟件配置:包括操作系統(tǒng)類型版本和補丁版本、當(dāng)前被測試軟件的版本和補丁版本、相關(guān)支撐軟件,比如數(shù)據(jù)庫軟件的版本和補丁版本等。
硬件配置:計算機的配置情況,主要包括CPU 、內(nèi)存和硬盤的相關(guān)參數(shù),其它硬件參數(shù)根據(jù)測試用例的實際情況添加。如果測試中使用網(wǎng)絡(luò),那么網(wǎng)絡(luò)的組網(wǎng)情況,網(wǎng)絡(luò)的容量、流量等情況。硬件配置情況與被測試產(chǎn)品類型密切相關(guān),需要根據(jù)當(dāng)時的情況,準(zhǔn)確翔實的記錄硬件配置情況。測試用例輸入 操作步驟 輸出:這部分內(nèi)容可以根據(jù)測試用例的描述和測試用例的實際執(zhí)行情況如實填寫。輸出設(shè)備的相關(guān)輸出信息:輸出設(shè)備包括計算機顯示器、打印機、磁帶等等輸出設(shè)備,如果是顯示器可以采用抓屏的方式獲取當(dāng)時的截圖也可以錄制視頻,其他的輸出設(shè)備可以采用其它方法獲取相關(guān)的輸出,在問題報告單中提供描述。
日志信息:規(guī)范的軟件產(chǎn)品都會提供軟件的運行日志和用戶、管理員的操作日志,測試人員應(yīng)該把測試用例執(zhí)行后的軟件產(chǎn)品運行日志和操作日志作為附件,提交到問題報告單中。
測試結(jié)果分析
軟件測試執(zhí)行結(jié)束后,測試活動還沒有結(jié)束。測試結(jié)果分析是必不可少的重要環(huán)節(jié),“ 編筐編簍,全在收口” ,測試結(jié)果的分析對下一輪測試工作的開展有很大的借鑒意義。前面的“ 測試準(zhǔn)備工作” 中,建議測試人員走讀缺陷跟蹤庫,查閱其他測試人員發(fā)現(xiàn)的軟件缺陷。測試結(jié)束后,也應(yīng)該分析自己發(fā)現(xiàn)的軟件缺陷,對發(fā)現(xiàn)的缺陷分類,你會發(fā)現(xiàn)自己提交的問題只有固定的幾個類別;然后,再把一起完成測試執(zhí)行工作的其他測試人員發(fā)現(xiàn)的問題也匯總起來,你會發(fā)現(xiàn),你所提交問題的類別與他們有差異。這很正常,人的思維是有局限性,在測試的過程中,每個測試人員都有自己思考問題的盲區(qū)和測試執(zhí)行的盲區(qū),有效的自我分析和分析其他測試人員,你會發(fā)現(xiàn)自己的盲區(qū),有針對性的分析盲區(qū),必定會在下一輪測試用避免盲區(qū)。搭建軟件測試環(huán)境時與開發(fā)的關(guān)系處理測試用例執(zhí)行過程中,搭建測試環(huán)境是第一步。一般來說,軟件產(chǎn)品提交測試后,開發(fā)人員應(yīng)該提交一份產(chǎn)品安裝指導(dǎo)書,在指導(dǎo)書中詳細指明軟件產(chǎn)品運行的軟硬件環(huán)境,比如要求操作系統(tǒng)系統(tǒng)是Windows 2000 pack4 版本,數(shù)據(jù)庫是Sql Server 2000 等等。此外,應(yīng)該給出被測試軟件產(chǎn)品的詳細安裝指導(dǎo)書,包括安裝的操作步驟、相關(guān)配置文件的配置方法等等。對于復(fù)雜的軟件產(chǎn)品,尤其是軟件項目,如果沒有安裝指導(dǎo)書作為參考,在搭建測試環(huán)境過程中會遇到種種問題。如果開發(fā)人員拒絕提供相關(guān)的安裝指導(dǎo)書,搭建測試中遇到問題的時候,測試人員可以要求開發(fā)人員協(xié)助,這時候,一定要把開發(fā)人員解決問題的方法記錄下來,避免同樣的問題再次請教開發(fā)人員,這樣會招致開發(fā)人員的反感,也降低了開發(fā)人員對測試人員的認可程度。
問題二:全方位的觀察測試用例執(zhí)行結(jié)果:
測試執(zhí)行過程中,當(dāng)測試的實際輸出結(jié)果與測試用例中的預(yù)期輸出結(jié)果一致的時候,是否可以認為測試用例執(zhí)行成功了?答案是否定的,即便實際測試結(jié)果與測試的預(yù)期結(jié)果一致,也要查看軟件產(chǎn)品的操作日志、系統(tǒng)運行日志和系統(tǒng)資源使用情況,來判斷測試用例是否執(zhí)行成功了。全方位觀察軟件產(chǎn)品的輸出可以發(fā)現(xiàn)很多隱蔽的問題。以前,我在測試嵌入式系統(tǒng)軟件的時候,執(zhí)行某測試用例后,測試用例的實際輸出與預(yù)期輸出完全一致,不過在查詢CPU 占用率地時候,發(fā)現(xiàn)CPU 占用率高達90 %,后來經(jīng)過分析,軟件運行的時候啟動了若干個1ms 的定時器,大量的消耗的CPU 資源,后來通過把定時器調(diào)整到10ms ,CPU 的占用率降為7 %。如果觀察點單一,這個嚴(yán)重消耗資源的問題就無從發(fā)現(xiàn)了。
問題三:加強測試過程記錄:
測試執(zhí)行過程中,一定要加強測試過程記錄。如果測試執(zhí)行步驟與測試用例中描述的有差異,一定要記錄下來,作為日后更新測試用例的依據(jù);如果軟件產(chǎn)品提供了日志功能,比如有軟件運行日志、用戶操作日志,一定在每個測試用例執(zhí)行后記錄相關(guān)的日志文件,作為測試過程記錄,一旦日后發(fā)現(xiàn)問題,開發(fā)人員可以通過這些測試記錄方便的定位問題。而不用測試人員重新搭建測試環(huán)境,為開發(fā)人員重現(xiàn)問題。
問題四:及時確認發(fā)現(xiàn)的問題:
測試執(zhí)行過程中,如果確認發(fā)現(xiàn)了軟件的缺陷,那么可以毫不猶豫的提交問題報告單。如果發(fā)現(xiàn)了可疑問題,又無法定位是否為軟件缺陷,那么一定要保留現(xiàn)場,然后知會相關(guān)開發(fā)人員到現(xiàn)場定位問題。如果開發(fā)人員在短時間內(nèi)可以確認是否為軟件缺陷,測試人員給予配合;如果開發(fā)人員定位問題需要花費很長的時間,測試人員千萬不要因此耽誤自己寶貴的測試執(zhí)行時間,可以讓開發(fā)人員記錄重現(xiàn)問題的測試環(huán)境配置,然后,回到自己的開發(fā)環(huán)境上重現(xiàn)問題,繼續(xù)定位問題。
問題五:提交缺陷時與開發(fā)的關(guān)系處理:
測試執(zhí)行過程中,當(dāng)你提交了問題報告單,可能被開發(fā)人員無情駁回,拒絕修改。這時候,只能對開發(fā)人員曉之以理,做到有理、有據(jù),有說服力。首先,要定義軟件缺陷的標(biāo)準(zhǔn)原則,這個原則應(yīng)該是開發(fā)人員和測試人員都認可的,如果沒有共同認可的原則,那么開發(fā)人員與測試人員對問題的爭執(zhí)就不可避免了。此外,測試人員打算說服開發(fā)人員之前,考慮是否能夠先說服自己,在保證可以說服自己的前提下,再開始與開發(fā)人員交流。
問題六:及時更新測試用例
測試執(zhí)行過程中,應(yīng)該注意及時更新測試用例。往往在測試執(zhí)行過程中,才發(fā)現(xiàn)遺漏了一些測試用例,這時候應(yīng)該及時的補充;往往也會發(fā)現(xiàn)有些測試用例在具體的執(zhí)行過程中根本無法操作,這時候應(yīng)該刪除這部分用例;也會發(fā)現(xiàn)若干個冗余的測試用例完全可以由某一個測試用例替代,那么刪除冗余的測試用例??傊?,測試執(zhí)行的過程中及時地更新測試用例是很好的習(xí)慣。不要打算在測試執(zhí)
行結(jié)束后,統(tǒng)一更新測試用例,如果這樣,往往會遺漏很多本應(yīng)該更新的測試用例。
-
軟件測試
+關(guān)注
關(guān)注
2文章
229瀏覽量
18586
發(fā)布評論請先 登錄
相關(guān)推薦
評論