一、軟件測試的定義和意義
軟件測試是伴隨著軟件工程的重要組成部分,是軟件質(zhì)量保證的重要前提。軟件測試是為了盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種軟件缺陷而展開的貫穿整個軟件開發(fā)生命周期,對軟件產(chǎn)品進行驗證和確認(rèn)的活動過程。在開發(fā)大型系統(tǒng)的過程中,面對復(fù)雜的現(xiàn)實情況,軟件生存周期的各個階段都有可能產(chǎn)生差錯。
(一)軟件測試的目標(biāo)和原則
1.軟件測試目標(biāo)
以最少的時間和人力,盡可能多地發(fā)現(xiàn)程序中的錯誤和缺陷。測試還要證明,軟件的功能和性能與需求說明相符合。
2.軟件測試原則
測試既不要不充分,也不要過分。在通常情況下,在分析,設(shè)計、實驗階段的復(fù)審和測試工作能夠發(fā)現(xiàn)和避免80%的bug,而系統(tǒng)的軟件測試能找到其余bug的80%,最后約4%的bug只有在用戶大范圍、長時間的使用后才會暴露出來。應(yīng)該把“盡早和不斷地進行測試”作為開發(fā)者的座右銘,問題發(fā)現(xiàn)的越早,解決問題的代價就越小。徹底的測試是不可能的,但充分覆蓋程序邏輯,并確保軟件的所有條件是有可能的。所有的測試都應(yīng)該追溯到用戶需求。測試應(yīng)從“小規(guī)?!遍_始,逐步轉(zhuǎn)向“大規(guī)?!?,應(yīng)針對每個測試結(jié)果做全面檢查。
二、軟件測試的方法
軟件測試的方法和技術(shù)是多種多樣的,從大的分類上來說,分為白盒測試和黑盒測試。對于不同的項目和不同的階段來說,往往需要用到不同的測試手段。
(一) 白盒測試
白盒測試是把軟件看成一個白盒子,在完全知道軟件結(jié)果的情況下,通過分析程序內(nèi)部的邏輯與執(zhí)行路徑來設(shè)計測試用戶,并對用例進行測試的方法,所以也稱結(jié)構(gòu)測試或者數(shù)據(jù)驅(qū)動測試。白盒測試主要用于單元測試,方法有邏輯覆蓋和路徑測試。其中邏輯覆蓋包括:語句覆蓋、判定覆蓋、條件覆蓋、點覆蓋、邊覆蓋等。白盒測試的缺點是投入人力資源的難度很大,執(zhí)行白盒測試的測試人員要有不亞于開發(fā)人員的技術(shù)背景和對代碼的熟悉程度。
(二)黑盒測試
黑盒測試是把軟件開成一個黑盒子,不考慮程序的內(nèi)部結(jié)構(gòu)與執(zhí)行路徑如何,根據(jù)輸入/輸出數(shù)據(jù)條件來設(shè)計測試用例,查看程序的功能是否正確或滿足用戶要求,因此也稱作功能驅(qū)動或數(shù)據(jù)驅(qū)動測試方法。黑盒測試主要用于軟件確認(rèn)測試,方法有等價類劃分、邊界值分析、錯誤推測法、因果圖法等。黑盒測試對和數(shù)要求不高,如何在對系統(tǒng)結(jié)構(gòu)不了解的情況下,設(shè)計測試過程才是黑盒測試最核心的部分。
(三)自動測試
在業(yè)務(wù)量很大的情況下,需要測試數(shù)據(jù)或者測試輸入時,自動測試就是一個最佳的選擇。自動測試是可重復(fù)性的測試并目有著很高的速度與效率,但是自動測試也有一些缺點。前期要花費購買工具,并且測試腳本的開發(fā)需要投入很多時間和人力。
(四)壓力測試
壓力測試指為了某個單一的目的,大強度地重復(fù)性的使用軟件的某一功能,以發(fā)現(xiàn)該功能在壓力條件下的性能指標(biāo)。軟件上市前對不夠自信的功能進行專項的,不顧邏輯的,無所不用其極的對待待測軟件。或者是軟件上市后對客戶反饋的模糊信息進行集中的測試以精確定位問題。
(五) 功能測試
功能測試是指測試軟件各個功能模塊是否正確,邏輯是否正確。對測試對象的功能測試應(yīng)側(cè)重于所有可直接追蹤到用例或業(yè)務(wù)功能和業(yè)務(wù)規(guī)則的測試需求。這種測試的目標(biāo)是核實數(shù)據(jù)的接受,外理和檢索是否正確以及業(yè)務(wù)規(guī)則的實施是否恰當(dāng)。此類測試基于黑盒技術(shù),該技術(shù)通過圖形用戶(GUI)與應(yīng)用程序進行交互,并對交互的輸出或結(jié)果進行分析,以此來核實應(yīng)用程序及其內(nèi)部進程。
(六)性能測試
性能測試主要測試軟件的性能指標(biāo)是否達(dá)到預(yù)期要求。包括負(fù)載測試,強度測試,數(shù)據(jù)庫容量測試,以及基準(zhǔn)測試。
(七)用戶界面測試(UI測試)
UI測試是對用戶界面的風(fēng)格、圖片、背景、文字的測試。用戶界面測試用于合適用戶與軟件之間的交互。一般有這樣一些指標(biāo),第一是界面的有效性,第二是界面的連貫性,第三是界面?zhèn)鹘y(tǒng)型。主要包括用戶界面的友好性,人性化,易操作性等方面的測試。
(八)文檔測試
文檔測試是對伴隨軟件同事提供給用戶的各種使用手冊,說明書,須知等進行的測試。文檔測試是為了避免文檔描述和軟件系統(tǒng)實際不一致的情況發(fā)生。
三、軟件測試過程
(一)單元測試
單元測試也稱模塊測試,是針對軟件設(shè)計的最小單元程序模塊進行測試的工作。目的是檢查出模塊內(nèi)部的錯誤,修改這些錯誤使得程序正確運行。
(二) 集成測試
集成測試也稱組裝測試,就是按照一定的策略對單元測試的模塊進行組裝,并在組裝過程中進行模塊接口與系統(tǒng)功能測試。集成測試的策略主要有兩種方式,分為一次性組裝方式和增值式組裝方式。
(三)確認(rèn)測試
確認(rèn)測試也稱為有效性測試,目的是驗證軟件的功能和性能是否滿足客戶的要求,確認(rèn)測試是用戶參加的測試討程,采用的測試方法是黑盒測試,為了盡可能多的發(fā)現(xiàn)你只有用戶在使用系統(tǒng)過程中才能發(fā)現(xiàn)的問題。
(四)系統(tǒng)測試
系統(tǒng)測試是經(jīng)過了前面的測試過程之后,軟件系統(tǒng)已經(jīng)基本符合要求,進行系統(tǒng)測試的目的是測試軟件安裝之后,能否與系統(tǒng)的其余部分協(xié)調(diào)工作,以及對系統(tǒng)運行可能出現(xiàn)的各種情況的處理能力。系統(tǒng)測試主要是有恢復(fù)測試,安全測試,強度測試,性能測試等。
四、軟件測試執(zhí)行標(biāo)準(zhǔn)
1.GB/T 25000.51-2016《系統(tǒng)與軟件工程 系統(tǒng)與軟件質(zhì)量要求和評價(SQuaRE) 第51部分:就緒可用軟件產(chǎn)品(RUSP)的質(zhì)量要求和測試細(xì)則》;
2.GB/T 15532-2008《計算機軟件測試規(guī)范》;
3.GB/T 34943-2017《C/C++語言源代碼漏洞測試規(guī)范》 ;
4.GB/T 34944-2017《Java 語言源代碼漏洞測試規(guī)范》;
5.GJB/Z 141-2004《專用軟件測試指南》。
我們秉承科學(xué)嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度,以客戶為中心,高效統(tǒng)籌安排測試計劃,竭力縮短測試時間的周期,為客戶提供快捷、公正的第三方咨詢檢測等服務(wù)。服務(wù)區(qū)域遍布廣東廣州、深圳、東莞、佛山、中山、珠海、清遠(yuǎn)、惠州、茂名、揭陽、梅州、江門、肇慶、汕頭、潮州、河源、韶關(guān)及全國各地如您有相關(guān)產(chǎn)品需要咨詢,歡迎您直接來電咨詢我司工作人員,獲得詳細(xì)的費用報價與周期方案等信息,深圳訊科期待您的光臨!
下一篇:??海上風(fēng)電防腐測試報告辦理內(nèi)容介紹
- 歐盟官方發(fā)布醫(yī)用手套協(xié)調(diào)標(biāo)準(zhǔn)
- 燈具新標(biāo)IEC 60598-1:2024 & EN IEC 60598-1:2024+A11:2024
- 高低溫循環(huán)與濕熱老化測試(GB/T 2423)
- 戶外通信設(shè)備太陽輻射試驗詳解
- ??海上風(fēng)電防腐測試報告辦理內(nèi)容介紹
- 歐盟EU1935/2004食品接觸材料檢測要求有哪些
- 金屬材料中氧氮氫(ONH)測試流程
- IP67防護等級檢測認(rèn)證服務(wù),刷卡集中器防護等級測試標(biāo)準(zhǔn)
- TEMU平臺ROHS檢測報告怎么辦理
- GB 4824-2025新標(biāo)發(fā)布:機器人EMC測試升級,1-18GHz輻射限值要求