成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

??【全網(wǎng)最全】花費3小時整理出5000字軟件測試必須掌握的基本理論知識!??

ivan_qhz / 1268人閱讀

軟件測試的基本理論知識有很多,?根據(jù)不同情況劃分的,內(nèi)容比較多~

目錄

1、軟件測試概述

2、軟件測試基礎(chǔ)軟件的概念

3、軟件測試分類

4、白盒測試用例設(shè)計方法

5、黑盒測試用例設(shè)計方法

6、缺陷管理軟件缺陷


1、軟件測試概述

軟件測試的IEEE定義:使用人工或自動的手段來運行或測量軟件系統(tǒng)的過程,目的是檢驗軟件系統(tǒng)是否滿足規(guī)定的需求,并找出與預(yù)期結(jié)果之間的差異。軟件測試的發(fā)展趨勢: ① 測試工作將進一步前移。軟件測試不僅僅是單元測試、集成測試、系統(tǒng)測試和驗收測試,還對需求的精確性和完整性的測試技術(shù)、對系統(tǒng)設(shè)計的測試技術(shù)將成為新的研究熱點。 ② 軟件架構(gòu)師,開發(fā)工程師,QA人員,測試工程師將進行更好的融合 ③ 測試職業(yè)將得到更充分的尊重。 ④ 設(shè)置獨立的軟件測試部門將成為未來軟件公司的共識。⑤ 測試外包服務(wù)將快速增長,和軟件開發(fā)外包一樣,軟件測試外包將成為全球化的趨勢。

軟件測試工程師的素質(zhì):責(zé)任心;溝通能力;團隊合作精神;耐心、細(xì)心和信心;保持懷疑的態(tài)度,有缺陷預(yù)防的意識;不斷學(xué)習(xí)的能力。

合格的測試工程師應(yīng)具有的能力:?① 一般能力:包括表達、交流、協(xié)調(diào)、管理、質(zhì)量意識、軟件開發(fā)過程方法、軟件工程等; ② 測試技能及方法:包括測試基本概念及方法、對測試工具的掌握、對專業(yè)測試標(biāo)準(zhǔn)的熟悉程度等; ③ 測試規(guī)劃能力:包括風(fēng)險分析及防范能力、測試目標(biāo)及計劃的制定能力等; ④ 測試執(zhí)行能力:包括測試數(shù)據(jù)/腳本/用例的制定能力、測試比較及分析能力、缺陷記錄及處理能力; ⑤ 測試分析、報告和改進能力:包括測試度量、統(tǒng)計技術(shù)、測試報告、過程監(jiān)測及持續(xù)改進能力。

測試工程師的職責(zé):?測試人員要了解項目需求內(nèi)容,從用戶的角度提出自己的測試看法; 測試人員要編寫合理的測試計劃并與項目整體計劃有機地整合在一起; 測試人員要編寫覆蓋率高的測試用例;測試人員要認(rèn)真仔細(xì)的實施測試工作,并提交測試報告以供項目參考; 測試人員要進行缺陷跟蹤和分析。

2、軟件測試基礎(chǔ)軟件的概念

軟件是計算機系統(tǒng)中與硬件相互依存的一部分,包括程序、數(shù)據(jù)、與其相關(guān)文檔的完整結(jié)合。軟件 = 程序 + 數(shù)據(jù) + 文檔。

軟件的特點:?① 軟件是一種邏輯體,而不是具體的物理體,因而它具有抽象性; ② 軟件的生產(chǎn)與硬件不同,它沒有明顯的制造過程,對軟件質(zhì)量的控制,必須在開發(fā)方面下功夫; ③ 在軟件運行和使用期間,沒有硬件那樣的機械磨損和老化問題,然而它存在退化問題,必須進行多次的修改和維護; ④ 軟件的開發(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)險進行評估的活動”。(風(fēng)險觀點)軟件測試就是“驗證(Verification)”和“有效性確認(rèn)(Validation)”活動構(gòu)成的整體,即軟件測試V&V 。(標(biāo)準(zhǔn)觀點)要完整理解軟件測試,就要從不同方面去審視軟件測試,概括起來,軟件測試就是貫穿整個軟件開發(fā)生命周期,對軟件產(chǎn)品(包括階段性產(chǎ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)把“盡早地和不斷地進行軟件測試”作為軟件測試者的座右銘。 ③ 由于軟件的復(fù)雜性和抽象性,在軟件生命周期各個階段都可能產(chǎn)生錯誤,所以不應(yīng)把軟件測試僅僅看作是軟件開發(fā)的一個獨立階段的工作,而應(yīng)當(dāng)把它貫穿到軟件開發(fā)的各個階段中。在軟件開發(fā)的需求和設(shè)計階段就應(yīng)開始測試工作,編寫相應(yīng)的測試文檔。 ④ 完全測試是不可能的,測試需要終止。 ⑤ 想要進行完全的測試,在有限的時間和資源條件下,找出所有的軟件缺陷和錯誤 使軟件趨于完美是不可能的主要有三個原因: ① 輸入量太大; ② 輸出結(jié)果太多;③ 路徑組合太多。 ⑥ 測試無法顯示軟件潛在的缺陷:進行測試是可以查找并報告發(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)自己的錯誤。因此為達到測試的目的,應(yīng)由客觀、公正、嚴(yán)格的獨立的測試部門或獨立的第三方測試機構(gòu)進行測試。 ⑨ 盡量避免測試的隨意性:應(yīng)從工程的角度理解測試,它是有組織、有計劃、有步驟的活動。

軟件測試誤區(qū):誤區(qū)一:如果發(fā)布出去的軟件有質(zhì)量問題,都是軟件測試人員的錯。誤區(qū)二:軟件測試技術(shù)要求不高,至少比編程容易多了。誤區(qū)三:有時間就多測試一些,來不及就少測試一些。誤區(qū)四:軟件測試是測試人員的事,與開發(fā)人員無關(guān)。誤區(qū)五:根據(jù)軟件開發(fā)瀑布模型,軟件測試是開發(fā)后期的一個階段。

3、軟件測試分類

單元測試:

單元測試又稱模塊測試,針對軟件設(shè)計中的最小單位——程序模塊,進行正確性檢查的測試工作。單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例。多個模塊可以平行地獨立進行單元測試。

單元定義:

C中指一個函數(shù),Java中指一個類,在圖形化的軟件中,單元一般指1個窗口,1個菜單。如何進行單元測試:單元測試主要用白盒測試,先靜態(tài)地檢查代碼是否符合規(guī)范,然后動態(tài)運行代碼,檢查其實際運行結(jié)果,檢查程序的運行結(jié)果是否正確是一個最基本的要求,還要關(guān)注容錯處理,程序的邊界值處理等。

集成測試:

集成測試又叫組裝測試,通常在單元測試的基礎(chǔ)上,將所有程序模塊進行有序的、遞增的測試。重點測試不同模塊的接口部分。

系統(tǒng)測試:

指將整個軟件系統(tǒng)看為一個整體進行測試,包括對功能、性能、以及軟件所運行的軟硬件環(huán)境進行測試。

驗收測試:

驗收測試指按照項目任務(wù)書或合同、供需雙方約定的驗收依據(jù)文檔進行的對整個系統(tǒng)的測試與評審,決定是否接收或拒收系統(tǒng)。在系統(tǒng)測試的后期,以用戶測試為主或有測試人員等質(zhì)量保證人員共同參與的測試。

α測試:指的是指的是由用戶,測試人員、開發(fā)人員等共同參與的內(nèi)部測試。

β測試:指的是內(nèi)測后的公測,即完全交給最終用戶測試驗收測試的重要性:驗收簽字,收錢。

靜態(tài)測試:指不實際運行被測軟件,而只是靜態(tài)地檢查程序代碼、界面和文檔中可能存在的錯誤的過程。

動態(tài)測試:指實際運行被測程序,輸入相應(yīng)的測試數(shù)據(jù),檢查實際輸出結(jié)果與預(yù)期結(jié)果是否相符。(動態(tài)測試方法為結(jié)構(gòu)和正確性測試;動態(tài)測試工具Robot、QTP等)

黑盒測試:指的是把被測的軟件看做一個黑盒子,我們不關(guān)心盒子里面的結(jié)構(gòu)是什么樣子的,只關(guān)心軟件的輸入數(shù)據(jù)和輸出

白盒測試:指的是把盒子打來,去研究里面的源代碼和程序結(jié)構(gòu)。軟件公司中,往往采用黑盒測試&白盒測試相結(jié)合的方式。

  • 靜態(tài)黑盒測試:看文檔,看頁面等
  • 靜態(tài)白盒測試:看源代碼等
  • 動態(tài)黑盒測試:使用軟件等
  • 動態(tài)白盒測試:運行源代碼等

灰盒測試:是介于白盒測試與黑盒測試之間的一種測試,灰盒測試多用于集成測試階段,不僅關(guān)注輸出、輸入的正確性,同時也關(guān)注程序內(nèi)部的情況。

功能測試:是黑盒測試的一方面,它檢查實際軟件的功能是否符合用戶的需求。

邏輯功能測試(functiontesting)

界面測試(UItesting)

易用性測試(usability testing)

安裝測試(installationtesting)

兼容性測試(compatibilitytesting)

性能測試:是軟件測試的高端領(lǐng)域,通常我們所說的高級軟件測試工程師一般就是指性能測試或是白盒測試工程師。時間性能(事務(wù)響應(yīng)時間等)空間性能(系統(tǒng)資源消耗)一般性能測試可靠性測試負(fù)載測試壓力測試

回歸測試:指對軟件的新版本測試時,重復(fù)執(zhí)行上一個版本測試時的用例。

冒煙測試:是指在對一個新版本進行系統(tǒng)大規(guī)模的測試之前,先驗證一下軟件的基本功能是否實現(xiàn),是否具備可測試性。

隨機測試:是指測試中所有的輸入數(shù)據(jù)都是隨機生成的,其目的是模擬用戶的真實操作,并發(fā)現(xiàn)一些邊緣性的錯誤。

軟件測試的過程:從軟件開發(fā)的過程按階段劃分有:需求驗證、單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試、驗收測試

4、白盒測試用例設(shè)計方法

測試用例(英文為TestCase,縮寫為TC):指的是在測試執(zhí)行之前設(shè)計的一套詳細(xì)的測試方案,包括測試環(huán)境、測試步驟、測試數(shù)據(jù)和預(yù)期結(jié)果。測試用例可以針對黑盒測試設(shè)計用例,也可以針對白盒測試設(shè)計用例。編寫測試用例的唯一標(biāo)準(zhǔn)就是用戶需求,具體的參考資料是《需求規(guī)格說明書》。

設(shè)計測試用例的原因:軟件測試是一項有組織、有計劃、有步驟的活動,為了將軟件測試的行為轉(zhuǎn)換為可管理的、具體量化的模式,需要創(chuàng)建和設(shè)計測試用例。

測試用例的四性:

代表性:能夠代表并覆蓋各種合理的和不合理合法的和不合法的、邊界的和越界的以及極限的輸入數(shù)據(jù)、操作等。

針對性:對程序中的可能存在的錯誤有針對性地測試。

可判定性:測試執(zhí)行結(jié)果的正確性是可判定的,每一個測試用例都應(yīng)有相應(yīng)的期望結(jié)果。

可重現(xiàn)性:對同樣的測試用例,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的。

測試用例的基本原則:

利用成熟的測試用例設(shè)計方法來指導(dǎo)設(shè)計

測試用例的針對性

測試用例的代表性

測試用例的可判定性

測試用例的可重現(xiàn)性足夠詳細(xì)、準(zhǔn)確和清晰的步驟

測試用例必須符合內(nèi)部的規(guī)范的要求

語句覆蓋:語句覆蓋就是設(shè)計若干個測試用例,運行被測試程序,使得每一條可執(zhí)行語句至少執(zhí)行一次;

判定覆蓋(也稱為分支覆蓋):設(shè)計若干個測試用例運行所測程序使程序中每個判斷的取真分支和取假分支至少執(zhí)行一次;

條件覆蓋:設(shè)計足夠多的測試用例,運行所測程序,使程序中每個判斷的每 條件覆蓋設(shè)計足夠多的測試用例 行所測程序使程序中每個判斷的每個條件的每個可能取值至少執(zhí)行一次;

判定-條件覆蓋:設(shè)計足夠多的測試用例,運行所測程序,使程序中每個判斷的每個條件的所有可能取值至少執(zhí)行一次,并且每個可能的判斷結(jié)果也至少執(zhí)行一次,換句話說,即是要求各個判斷的所有可能的條件取值組合至少執(zhí)行一次;

條件組合測試:設(shè)計足夠多的測試用例,運行所測程序,使程序中每個判斷的所有可能的條件取值組合至少執(zhí)行一次;

路徑測試:設(shè)計足夠多的測試用例,運行所測程序,要覆蓋程序中所有可能的路徑。

主要測試技術(shù):分支條件覆蓋,基本路徑測試

5、黑盒測試用例設(shè)計方法

主要測試技術(shù):等價類劃分(邊界值分析),因果圖法,(正交實驗法)

6、缺陷管理軟件缺陷

軟件缺陷:

是指存在于軟件(程序、數(shù)據(jù)、文檔)中的那些不符合用戶需求的問題。

軟件缺陷的來源:

需求說明書:需求說明書的錯誤或不清楚引起的錯誤,是缺陷第一大的來源。

設(shè)計文檔:設(shè)計文檔描述不準(zhǔn)確、以及與需求說明書不一致,是缺陷的第二大來源。

編碼:純粹是由編碼的問題引起。

其它:可能是系統(tǒng)集成、測試引起。

軟件缺陷的根源:交流不充分(客戶與開發(fā)人員、開發(fā)人員與測試人員等)軟件的復(fù)雜性(功能復(fù)雜、開發(fā)復(fù)雜、測試復(fù)雜)開發(fā)人員的錯誤(對需求的理解、開發(fā)壓力、能力與經(jīng)驗)需求的變化(需求說明書設(shè)計文檔 程序的變更)進度壓力(項目周期比較緊)

軟件缺陷的發(fā)現(xiàn)手段:同行評審、測試、管理評審、QA發(fā)現(xiàn)、項目組內(nèi)部發(fā)現(xiàn)、客戶反饋為了便于缺陷的定位、跟蹤和修改,要對所發(fā)現(xiàn)的缺陷,按照缺陷的嚴(yán)重程度、優(yōu)先級、發(fā)現(xiàn)階段、修復(fù)階段、缺陷的性質(zhì)、所屬功能模塊、系統(tǒng)環(huán)境等方面進行分類和統(tǒng)計。

二八定理:80%的軟件問題總是發(fā)生在大約20%的功能模塊中。

缺陷密度:基本的缺陷測量是以每千行代碼的缺陷數(shù)(個/KLOC)來測量的,其測量單位是defects/KLOC。

常見尋找bug的方法:色彩、功能結(jié)構(gòu)布局、圖片、頁面大小、字體、窗體大小、界面文字、容錯處理(也為功能缺陷,所謂容錯,就是容忍錯誤的能力。當(dāng)用戶在使用軟件過程中發(fā)生錯誤后,軟件應(yīng)該能給出引導(dǎo)信息,指應(yīng)用戶進行正確的操作)、數(shù)據(jù)轉(zhuǎn)換(增刪改查)、性能缺陷(黑盒測試)。

Web測試:

Web測試即測試網(wǎng)站系統(tǒng)在不同客戶端(瀏覽器)的運行情況及兼容性。

Selenium:

Selenium是一個用于Web應(yīng)用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。

最后感謝每一個認(rèn)真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:

這些資料,對于【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!

在我的QQ技術(shù)交流群里(技術(shù)交流和資源共享,廣告勿擾)

可以自助拿走,群號:310357728群里的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術(shù)哦

如果對你有一點點幫助,各位的「點贊」就是小編創(chuàng)作的最大動力,我們下篇文章見!

?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/118966.html

相關(guān)文章

  • ??不一樣測試之旅:醫(yī)療行業(yè)軟件測試有什么不一樣???

    一直在網(wǎng)站上學(xué)習(xí)別人的測試之路,現(xiàn)在也想分享一下自己的經(jīng)歷。 結(jié)緣測試 和大家不同的地方在于,作為一名生物醫(yī)學(xué)工程專業(yè)畢業(yè)生,我都是在醫(yī)療行業(yè)打轉(zhuǎn)。 我的軟件測試之旅分為兩段,第一段是一份實習(xí),從2019年9月到2020年1月,第二段是畢業(yè)后的第一份工作,從2020年4月到今天。 實習(xí)之路 雖然從時間上來看,我的軟件測試之旅接近兩年,尤其是第一份實習(xí),雖然時間跨度有四個月,但因為當(dāng)時學(xué)校導(dǎo)師給的壓...

    CarterLi 評論0 收藏0
  • Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師(全網(wǎng)最強)

    摘要:哪吒社區(qū)技能樹打卡打卡貼函數(shù)式接口簡介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號作者架構(gòu)師奮斗者掃描主頁左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進步歡迎點贊收藏留言前情提要無意間聽到領(lǐng)導(dǎo)們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區(qū)Java技能樹打卡?【打卡貼 day2...

    Scorpion 評論0 收藏0
  • 開始學(xué)習(xí)機器學(xué)習(xí)之前你必須要了解知識有哪些?機器學(xué)習(xí)系列入門篇

    摘要:進入當(dāng)前程序的學(xué)習(xí)系統(tǒng)的所有樣本稱作輸入,并組成輸入空間。結(jié)束語注意這篇文章僅僅是我接下來的機器學(xué)習(xí)系列的第一篇,后續(xù)還會有更多的內(nèi)容。 往期回顧:統(tǒng)計學(xué)習(xí)方法第...

    leoperfect 評論0 收藏0

發(fā)表評論

0條評論

ivan_qhz

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<