第一章?
1.軟件測試定義:是為發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。是對軟件需求費,設計硕蛹,編碼的最終復查的一系列過程,是軟件質量保證的關鍵步驟。
2.軟件測試的目的:?
????(1) 發(fā)現(xiàn)缺陷法焰,提高質量
????(2) 驗證是否滿足需求(功能及其性能)
????(3) 建立軟件質量的信心
3.軟件測試的原則:
????(1) 測試顯示缺陷的存在
????(2) 窮盡測試是不可能的
????(3) 測試盡早介入
????(4) 缺陷集群性
????(5) 殺蟲劑悖論: 采用同樣的測試用例多次重復進行測試僵腺,最后將不再能夠發(fā)現(xiàn)新的缺陷
????(6) 測試活動依賴于測試背景
????(7) 不存在缺陷(就是有用系統(tǒng))的謬論
3.軟件測試工作最為重要的是:
????(1) 測試流程、方法
????(2) 測試工具
????(3) 測試人員素質
4.? 軟件測試流程
????(1) 制定測試計劃和控制
????(2) 測試需求分析和用例設計
????(3) 實現(xiàn)(編寫測試用例)和執(zhí)行測試用例
????(4) 評估出準則和報告(提交測試報告)
????(5) 測試結束活動
第二章:測試用例執(zhí)行
1.軟件測試的執(zhí)行包括: 手動測試? 自動測試
2. 軟件測試執(zhí)行的內(nèi)容(要決定怎樣執(zhí)行測試和測試什么)壶栋,主要包括下面的任務:
????(1) 執(zhí)行測試計劃預定的測試(執(zhí)行所有已設計的測試用例)
????(2) 記錄原始測試數(shù)據(jù)
????(3) 記錄執(zhí)行結果
????(4) 記錄缺陷
????(5) 對所發(fā)現(xiàn)的缺陷進行跟蹤辰如、管理和監(jiān)控
3. 軟件測試執(zhí)行影響因素:(1) 測試計劃? (2) 測試環(huán)境準備? (3)? 測試實現(xiàn)
4. 測試執(zhí)行進度計劃的影響因素: 過程成熟度; 測試的時間; 測試的規(guī)模;? 測試的資源; 產(chǎn)品的質量; 測試的文檔
5. 四個度量 指標:
????(1) 測試覆蓋率: 度量測試完整性
????(2) 測試執(zhí)行率: 實際執(zhí)行過程中確定已經(jīng)執(zhí)行的測試用例比率
????(3) 測試通過率: 度量測試執(zhí)行結果
????(4) 缺陷解決率: 某個階段已關閉缺陷占缺陷總數(shù)的比率
第三章 軟件缺陷
1.軟件錯誤或軟件缺陷是軟件產(chǎn)品的固有成分,是軟件“生來具有”的特征贵试,軟件缺陷包括檢測缺陷和殘留缺陷
2. 軟件缺陷報告
????(1)報告缺陷的基本原則:
????????????a, 盡快報告缺陷
????????????b, 有效描述缺陷
????????????c, 報告缺陷時不做任何評價
????????????d, 確保缺陷可以重現(xiàn)
????(2)軟件缺陷報告的編寫原則? :
? ? ? ? ? ? ? ?Correct( 準確)琉兜,Concise( 簡潔),
? ? ? ? ? ? ? ?Clear( 清晰)毙玻,Consistent(一致)豌蟋,
????????????????Complete(完整)
3. 缺陷報告的主要要素:
????(1)可追蹤信息 — 缺陷 ID (唯一的缺陷ID,可以根據(jù)該ID追蹤缺陷)
????(2)缺陷基本信息
????(3)附加信息- - 必要 的附件
4桑滩,缺陷生命周期
5梧疲,軟件缺陷度量的主要方法有:
????? 缺陷密度(缺陷在規(guī)模上的分布)
????????????缺陷密度=已知缺陷的數(shù)量/產(chǎn)品規(guī)模
????? 缺陷率(缺陷在時間上的分布)
????????????缺陷率=一定時間范圍內(nèi)的缺陷數(shù)/錯誤幾率
????? 缺陷清除率
????????????整體缺陷清除率=開發(fā)過程中發(fā)現(xiàn)的所有缺陷數(shù)/發(fā)現(xiàn)的總缺陷數(shù)
????????????階段性缺陷清除率=開發(fā)階段清除的缺陷數(shù)/產(chǎn)品潛伏的缺陷總數(shù)
????? 缺陷趨勢通常用缺陷趨勢圖來表示
????? 缺陷發(fā)現(xiàn)率
第四章:軟件測試過程及其管理
1,軟件測試過程模型
**:V 模型和W 模型的局限性:
(1)串行活動运准,無法更好適應變更:把軟件的開發(fā)視為需求幌氮、設計、編碼等一系列的串行活動胁澳,無法解決需求變更等變更調整该互。
(2)線性的前后關系,無法有效支持迭代:開發(fā)和測試保持線性的前后關系韭畸,上一階段完成才能開始下一階段宇智,無法有效,快速支持產(chǎn)品迭代胰丁。
(3)測試完整性不足:順序模型中沒有很好體現(xiàn)測試流程的完整性随橘。
2,C MMI I 的五個級別:
? 初始級锦庸、被管理級 机蔗、被定義級、 定量化管理級 酸员、持續(xù)優(yōu)化級
軟件測試過程管理的理念:
????(1)盡早測試(降低成本蜒车,規(guī)避風險)(單元測試、集成測試幔嗦、系統(tǒng)測試)
????(2)全面測試:軟件開發(fā)及測試人員(有時包括用戶)全面地參與到測試工作中
????????????(測試內(nèi)容包括:需求酿愧、設計文檔、代碼邀泉、用戶文檔等)
????????????(全方位把握軟件質量嬉挡,盡可能排除影響軟件質量的因素钝鸽,滿足需求)
????(3)全過程測試:測試人員關注開發(fā)過程,對各種變化做出響應庞钢。
????????????測試人員要對測試的全過程進行全程的跟蹤拔恰,及時調整測試策略。(及時應對項目變化基括,降低測試風險)
????(4)獨立的颜懊,迭代的測試:強調了測試的就緒點,也就是說风皿,只要測試條件成熟河爹,測試準備活動完成,測試的執(zhí)行活動就可以開展桐款。(測試過程是獨立的)(迭代的測試)
BUG 的跟蹤和管理
????①設計好每個bug 應該包含的信息條目咸这、狀態(tài)分類等;
????②通過系統(tǒng)自動發(fā)出郵件給相應的開發(fā)人員和測試人員魔眨,使得任何bug 都不會錯過媳维,并能得到及時處理;
????③通過日報遏暴、周報等各類項目報告來跟蹤目前bug 狀態(tài)侄刽;
????④在各個大小里程碑之前,召開有關人員的會議拓挥,對bug 進行會審唠梨;
????⑤通過一些歷史曲線袋励、統(tǒng)計曲線等進行分析侥啤,預測未來情況。
軟件測試文檔的概念:描述要執(zhí)行的軟件測試及測試的結果茬故,用來記錄盖灸、描述、展示測試過程中一系列測試信息的處理過程磺芭,通過書面或圖示的形式對軟件測試過程中的活動或結果進行描述赁炎、定義及報告,記載了整個測試的過程和成果钾腺。
軟件測試文檔的作用
?????提高軟件測試過程的能見度
?????文檔化能規(guī)范測試問題的反饋徙垫,提高測試效率
?????便于團隊成員之間的交流與合作
?????測試文檔是測試人員經(jīng)驗提升的最好途徑
?????有利于項目測試的監(jiān)控作用
?????有利于測試工作的開展
測試用例:為某個特殊目標而編制的一組測試輸入、執(zhí)行條件以及預期結果放棒,以便測試某個程序路徑或核實是否滿足某個特定需求姻报。
測試數(shù)據(jù):在測試中使用的實際值(集合)或執(zhí)行測試需要的元素。
測試腳本:是自動執(zhí)行測試過程(或部分測試過程)的計算機可讀指令间螟。
軟件項目測試組織的人員
第五章 軟件測試需求分析
1吴旋,測試需求的特征:
? ??·制定的測試需求項必須是可核實的
? ??·測試需求應指明滿足需求的正常的前置條件损肛,同時也要指明不滿足需求時的出錯條件
? ??·測試需求不涉及具體的測試數(shù)據(jù),測試數(shù)據(jù)設計是測試設計環(huán)節(jié)應解決的內(nèi)容
2荣瑟,為什么需要測試需求
?? ·?軟件測試需求是開發(fā)測試用例的依據(jù)
? ?· 有助于保證測試的質量與進度
? ?· 測試需求是衡量測試覆蓋率的重要指標
3治拿,測試需求評審
完整性審查:應保證測試需求能充分覆蓋軟件需求的各種特征,重點關注功能要求笆焰、數(shù)據(jù)定義劫谅、接口定義、性能要求嚷掠、安全性要求同波、可靠性要求、系統(tǒng)約束等方面叠国,同時還應關注是否覆蓋開發(fā)人員遺漏的未檩、系統(tǒng)隱含的需求
準確性審查:應保證所描述的內(nèi)容能夠得到相關各方的一致理解,各項測試需求之間沒有矛盾和沖突粟焊,各項測試需求在詳盡程度上保持一致冤狡,每一項測試需求都可以作為測試用例設計的依據(jù)
評審人員組成:
(1)正式評審小組中,一般存在多種角色项棠,包括協(xié)調人悲雳、作者、評審員等香追。
(2)評審員需要精心挑選合瓢,保證不同類型的人員都要參與進行來,通常包括項目經(jīng)理透典、開發(fā)經(jīng)理晴楔、測試經(jīng)理、系統(tǒng)分析人員峭咒、相關開發(fā)人員和測試人員等税弃。
第六章? 測試用例設計
黑盒測試
黑盒測試又稱功能測試或數(shù)據(jù)驅動測試:
?(1)把測試對象當作看不見內(nèi)部的黑盒,在完全 不考慮程序內(nèi)部結構和處理過程的情況下凑队,測試者僅依據(jù)程序功能的需求規(guī)范考慮则果,確定測試用例和推斷測試結果的正確性.
(2)站在使用軟件或程序的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應關系進行的測試在軟件的接口處進行測試
(3)通過導出執(zhí)行程序所有功能需求的輸入條件集漩氨,實現(xiàn)功能覆蓋西壮,需求覆蓋
黑盒測試主要回答這幾方面的問題:
(1)如何測試功能的有效性:
????????a, 何種類型的輸入會產(chǎn)生好的測試用例
????????b, 如何分隔數(shù)據(jù)類的邊界
????????c, 系統(tǒng)是否對特定的輸入值特別敏感
(2)如何測試系統(tǒng)行為和性能?
????????a, 系統(tǒng)能夠承受何種數(shù)據(jù)率和數(shù)據(jù)量
黑盒測試要求
– 每個軟件特性或功能必須被一個測試用例或一個被認可的異常所覆蓋
– 構造數(shù)據(jù)類型和數(shù)據(jù)值的最小集測試
– 對影響性能的關鍵模塊,應測試模塊性能
? 程序做了該做的
? 程序沒有做不該做的
? 程序錯誤處理是否完整
黑盒測試的用例設計方法:
1叫惊、等價類劃分
(1)什么是等價類劃分
????????– 等價類款青,把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分,
????????– 劃分,從每一部分中選取少數(shù)有 代表性的數(shù)據(jù)做為測試用例赋访,代表性數(shù)據(jù)等同于該類中的其他值
(2)劃分等價類的考慮因素: 輸入數(shù)據(jù), 輸出數(shù)據(jù)
????????有效等價類:對于程序規(guī)格說明來說可都,是合理的缓待,有意義的輸入數(shù)據(jù)構成的集合
????????無效等價類:對于程序規(guī)格說明來說,是不合理的渠牲,無意義的輸入數(shù)據(jù)構成的集合
(3)劃分等價類的經(jīng)驗原則:?
????????A,輸入條件的取值范圍, 可以劃分出一個有效等價類和兩個無效等價類
????????B,如果輸入條件規(guī)定了 輸入值的集合或規(guī)定了“必須如何”的條件旋炒,則可確立一個有效等價類和一個無效等價類
????????C, 如果輸入條件是一個 布爾量,則可以確定一個有效等價類和一個無效等價類
????????D, 如果規(guī)定了 輸入數(shù)據(jù)的一組值(假設N個)签杈,而且程序要對每個輸入值分別進行處理瘫镇。
????????????????–每個允許的輸入值是一個有效等價類(即N個有效的)
????????????????–這組值確立一個無效等價類,它是所有不允許的輸入值的集合答姥。
????????E, 若規(guī)定輸入數(shù)據(jù)必須遵守的規(guī)則铣除,則可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)
????????F, 在確知已劃分的等價類中,各元素在程序處理中的方式不同的情況下鹦付,則應再將該等價類進一步地劃分為
2尚粘、邊界值分析:
(1)邊界的含義: 邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法,稍高于其邊界值及稍低于其邊界值的一些特定情況。
(2)邊界值分析方法: 選取正好等于敲长,剛剛大于郎嫁,或剛剛小于邊界的值做為測試數(shù)據(jù)的方法
3、因果圖:?
(1)定義:是一種利用圖解法分析輸入的各種組合情況祈噪,從而設計測試用例的方法泽铛,該方法充分考慮了輸入情況的各種組合及輸入條件之間的相互制約關系。
(2)適用范圍: 適合檢查程序輸入條件的各種組合情況
4辑鲤、隨機測試:
5盔腔、猜錯法:根據(jù)測試經(jīng)驗來判斷容易出錯的測試點
6、探索性
測試用例:
1. 測試用例的作用月褥?
????指導測試執(zhí)行者執(zhí)行測試
????告訴執(zhí)行人員如何執(zhí)行測試
2. 測試用例的核心部分弛随?
????步驟名稱、步驟描述吓坚、預期結果撵幽;業(yè)務順序;操作對象礁击、操作方式、操作數(shù)據(jù)逗载;操作完成之后期望的結果(重點的檢查點)
3. 測試用例的主要組成內(nèi)容哆窿?
????????步驟名稱;步驟描述厉斟;預期結果挚躯;
????????測試用例編號;模塊擦秽;前置條件码荔;
????????用例名稱漩勤;實際結果;測試結果缩搅;
????????備注越败;優(yōu)先級;設計人硼瓣;
例:測試用例編號舉例:(有的項目組會對測試用例名稱進行如下規(guī)范要求)
規(guī)范1:項目名字_子系統(tǒng)_功能模塊_測試點_ N_測試數(shù)據(jù)_順序編號
YUM_餐廳管理_餐廳查詢_權限檢查_管理員登陸_101
YUM_餐廳管理_餐廳查詢_權限檢查_N_非管理員登陸_102
01_Test_Query_flight_CapicityTesting
4究飞、測試用例主要元素: 測試環(huán)境,測試輸入數(shù)據(jù)堂鲤,測試執(zhí)行步驟亿傅,測試預期結果。