發(fā)布時間:2021-08-26 15:01:36來源:轉(zhuǎn)載
軟件是計算機系統(tǒng)中與硬件相互依存的一部分,包括程序、數(shù)據(jù)、與其相關(guān)文檔的完整結(jié)合。軟件 = 程序 + 數(shù)據(jù) + 文檔。使用人工或自動的手段來運行或測量軟件系統(tǒng)的過程,目的是檢驗軟件系統(tǒng)是否滿足規(guī)定的需求,并找出與預(yù)期結(jié)果之間的差異。那么,軟件測試的目的是什么?
軟件測試基礎(chǔ)理論知識
軟件的特點:
① 軟件是一種邏輯體,而不是具體的物理體,因而它具有抽象性;
② 軟件的生產(chǎn)與硬件不同,它沒有明顯的制造過程,對軟件質(zhì)量的控制,必須在開發(fā)方面下功夫;
③ 在軟件運行和使用期間,沒有硬件那樣的機械磨損和老化問題,然而它存在退化問題,必須進(jìn)行多次的修改和維護;
④ 軟件的開發(fā)和運行常常受計算機系統(tǒng)的制約,對計算機系統(tǒng)有著不同程度的依賴性,為了解除這種依賴性,在軟件開發(fā)過程中提出了軟件移植問題。
⑤ 軟件本身是復(fù)雜的,軟件的復(fù)雜性可能來自它所反映問題的復(fù)雜性,也可能來自程序邏輯結(jié)構(gòu)的復(fù)雜性。
⑥ 軟件成本的昂貴。軟件的研制工作需要投入大量的、復(fù)雜的、高強度的腦力,它的成本比較高。
軟件的分類:
按照功能劃分:
系統(tǒng)軟件:如操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng),各種驅(qū)動軟件等
應(yīng)用軟件:
如Office、金山詞霸、QQ等
按照技術(shù)結(jié)構(gòu)劃分:
單機版本:
如Office,畫圖工具等
C/S結(jié)構(gòu)軟件:
如QQ、MSN等
B/S結(jié)構(gòu)軟件:
如新浪、搜狐、google等
按照用戶劃分:
產(chǎn)品軟件:
Office、財務(wù)處理軟件、金山毒霸等
項目軟件:
如為企業(yè)定制的OA系統(tǒng)等
按照開發(fā)規(guī)模劃分:
類別 參與人數(shù) 開發(fā)時間
小型 10人以下 1-4個月
中型 10-100人 1年以下
大型 100人以上 1年
軟件測試的概念:
軟件測試就是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程(狹義觀點)。
使用人工或自動的手段,來運行或測試軟件系統(tǒng)的過程,目的是檢驗軟件系統(tǒng)是否滿足規(guī)定的需求,并找出與預(yù)期結(jié)果之間的差異。(標(biāo)準(zhǔn)定義IEEE )
軟件測試就是為了證明程序有錯,而不是證明程序無錯誤(辨證觀點) 。
測試被定義為“對軟件系統(tǒng)中潛在的各種風(fēng)險進(jìn)行評估的活動”。(風(fēng)險觀點)軟件測試就是“驗證(Verification)”和“有效性確認(rèn)(Validation)”活動構(gòu)成的整體,即軟件測試V&V 。(標(biāo)準(zhǔn)觀點)
要完整理解軟件測試,就要從不同方面去審視軟件測試,概括起來,軟件測試就是貫穿整個軟件開發(fā)生命周期,對軟件產(chǎn)品(包括階段性產(chǎn)品)進(jìn)行驗證和確認(rèn)的活動過程,其目的是盡快盡早地發(fā)現(xiàn)在軟件的缺陷。
軟件測試的對象:
① 源程序/目標(biāo)代碼
② 各開發(fā)階段的文檔(需求規(guī)格說明、概要設(shè)計說明、詳細(xì)設(shè)計說明及其它相關(guān)文檔)
軟件測試的目的:
從用戶角度看的目的:通過軟件測試發(fā)現(xiàn)隱藏的錯誤和缺陷,考慮是否可以接受該產(chǎn)品。從開發(fā)者角度看的目的:表明軟件產(chǎn)品不存在錯誤,驗證軟件實現(xiàn)了所有用戶的要求。從測試人員角度看的目的:發(fā)現(xiàn)錯誤,預(yù)測錯誤,提供軟件可靠性錯誤,對軟件做出評價。
① 幫助開發(fā)人員、測試工程師發(fā)現(xiàn)問題、分析問題。
② 減少軟件的缺陷數(shù)目或者降低軟件缺陷的密度。
③ 提高軟件的可靠性
④ 評估軟件的性能指標(biāo)。
⑤ 增加用戶對軟件的信心。
⑥ 測試的較終目的是盡快盡早地發(fā)現(xiàn)在軟件中的缺陷,通過修正各種錯誤和缺陷提高軟件質(zhì)量,回避軟件發(fā)布后由于潛在的軟件缺陷和錯誤造成的隱患所帶來的商業(yè)風(fēng)險。
軟件測試的原則:
① 所有測試的都應(yīng)追溯到用戶需求。
② 應(yīng)當(dāng)把“盡早地和不斷地進(jìn)行軟件測試”作為軟件測試者的座右銘。
③ 由于軟件的復(fù)雜性和抽象性,在軟件生命周期各個階段都可能產(chǎn)生錯誤,所以不應(yīng)把軟件測試僅僅看作是軟件開發(fā)的一個獨立階段的工作,而應(yīng)當(dāng)把它貫穿到軟件開發(fā)的各個階段中。在軟件開發(fā)的需求和設(shè)計階段就應(yīng)開始測試工作,編寫相應(yīng)的測試文檔。
④完全測試是不可能的,測試需要終止。
⑤ 想要進(jìn)行完全的測試,在有限的時間和資源條件下,找出所有的軟件缺陷和錯誤 使軟件趨于是不可能的主要有三個原因:① 輸入量太大;② 輸出結(jié)果太多;③ 路徑組合太多。
⑥ 測試無法顯示軟件潛在的缺陷:進(jìn)行測試是可以查找并報告發(fā)現(xiàn)的軟件缺陷和錯誤,但不能增加軟件缺陷和錯誤全部找到。
⑦ 充分注意集試中群集現(xiàn)象(二八定理):經(jīng)驗表明,在所測試程序段中,若發(fā)現(xiàn)的錯誤數(shù)目多,則殘存的錯誤數(shù)目也較多。缺陷的二八定理指的是,一般情況下,80%軟件缺陷出現(xiàn)在20%的功能區(qū)域,在測試過程中,投入主要的人力和精力重點測試這20%的功能區(qū)域。
⑧ 開發(fā)人員應(yīng)避免檢查自己的程序:基于心理因素,揭露自己程序中的問題總不是一件愉快的事,不愿否認(rèn)自己的工作;由于思維定勢,人們難于發(fā)現(xiàn)自己的錯誤。因此為達(dá)到測試的目的,應(yīng)由客觀、公正、嚴(yán)格的獨立的測試部門或獨立的第三方測試機構(gòu)進(jìn)行測試。
⑨ 盡量避免測試的隨意性:應(yīng)從工程的角度理解測試,它是有組織、有計劃、有步驟的活動。
軟件測試誤區(qū):
誤區(qū)一:
如果發(fā)布出去的軟件有質(zhì)量問題,都是軟件測試人員的錯。
誤區(qū)二:
軟件測試技術(shù)要求不高,至少比編程容易多了。
誤區(qū)三:
有時間就多測試一些,來不及就少測試一些。
誤區(qū)四:
軟件測試是測試人員的事,與開發(fā)人員無關(guān)。
誤區(qū)五:
根據(jù)軟件開發(fā)瀑布模型,軟件測試是開發(fā)后期的一個階段。
更多培訓(xùn)課程: 長春軟件測試 更多學(xué)校信息: 長春達(dá)內(nèi)IT教育培訓(xùn) 咨詢電話: