軟件測試概述
軟件的概念
軟件是計算機系統(tǒng)中與硬件相互依存的另一部分赎败,它包括了程序口四、文檔谣旁、數(shù)據(jù)的完整集合。
軟件的分類
按照軟件功能分類:
????系統(tǒng)軟件:WIN7 IOS 安卓桥胞。
????支持軟件:VB VC 等開發(fā)工具恳守。
????應(yīng)用軟件:office,Photoshop,機票查詢等
按照技術(shù)特點分類:
? ? 業(yè)務(wù)管理軟件:MIS ERP DSS CRM
????科學(xué)計算軟件:Scilab 輔助計算。
????嵌入式軟件:WindowsCe VxWorks
????桌面軟件:QQ 輸入法
????個人計算機軟件:文字處理贩虾,電子報表催烘,娛樂
????人工智能軟件:專家系統(tǒng),輔助決策和識別模式缎罢。
按照部署結(jié)構(gòu)分類:
????單機版軟件伊群、分布式軟件(CS/BS)
軟件測試的定義
使用人工或自動手段來運行或測試某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實際結(jié)果的差別策精。
軟件測試的目的
軟件測試是程序的執(zhí)行過程舰始,目的在于發(fā)現(xiàn)錯誤。
測試是為了證明程序有錯誤咽袜,而不是證明程序無錯誤
一個成功的測試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤丸卷。
一個成功的測試是為了發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤測試。
通過分析錯誤询刹,發(fā)現(xiàn)當前所采用的軟件過程缺陷谜嫉,改進軟件過程萎坷。
通過被測試軟件業(yè)務(wù)的深入了解,對新產(chǎn)品的改進提出有意義的建議沐兰。
驗證產(chǎn)品符合質(zhì)量標準哆档。
軟件測試工程師必備的基本素質(zhì)
正確高效的溝通能力
超強責(zé)任心
堅持原則
懂得尊重開發(fā)人員,不要背后評論
有較全面的技術(shù)知識
軟件測試工程師必備技能
測試專業(yè)技能
軟件編程技能
網(wǎng)絡(luò)住闯、操作系統(tǒng)瓜浸、中間件等知識
軟件缺陷的概念
在軟件工程整個生命周期中任何背離需求、無法正確完成用戶所需求的功能的問題比原,包括存在于組件斟叼、
設(shè)備或系統(tǒng)軟件中,因異常條件不支持而導(dǎo)致系統(tǒng)的失敗等都屬于缺陷春寿。
缺陷產(chǎn)生的原因
掌握避免提交無效缺陷的的技巧
測試環(huán)境錯誤。測試過程中忽孽,測試工程師不仔細檢查測試環(huán)境绑改,直接當成一個缺陷提交了。
發(fā)現(xiàn)一個錯誤不要馬上想著提交兄一,而應(yīng)該分析一下是否測試機器的配置環(huán)境是否有問題厘线。
需求文檔沒有明確產(chǎn)品需求:需求不明確時,提交缺陷應(yīng)做充分分析出革。
需求理解錯誤:擴充自己的知識面造壮,尋找正確的測試方法。
缺陷重復(fù)骂束。同一個缺陷A測試工程師提交后耳璧,B測試工程師又提交。
掌握重現(xiàn)缺陷的方法
檢查系統(tǒng)日志(log),看有沒有異常展箱。
檢查數(shù)據(jù)庫配置旨枯、網(wǎng)絡(luò)、硬件配置是否與開發(fā)環(huán)境有差異混驰。
狀態(tài)缺陷是否僅在特定軟件狀態(tài)中顯露攀隔。
檢查被測對象版本信息狀態(tài)缺陷是否只在特定的軟件狀態(tài)顯露。
借助其他工具栖榨,如Debug或者fiddler工具去分析昆汹。
軟件測試環(huán)境異于開發(fā)環(huán)境。
完整的缺陷報告
簡單描述
????用一句話簡單地描述清楚問題婴栽。
詳細描述
????描述問題的基本環(huán)境满粗,包括操作系統(tǒng),硬件環(huán)境居夹,網(wǎng)絡(luò)環(huán)境败潦。
????使用最少步驟去重現(xiàn)測試工程師的操作步驟和使用的數(shù)據(jù)本冲。
????測試工程師根據(jù)上述信息可以給出對問題的簡單分析。
????被測試軟件版本劫扒。
????狀態(tài)檬洞、嚴重級別、優(yōu)先級別沟饥。
????提交日期添怔、提交人。
相關(guān)附件
????如果從圖形界面上反映出軟件的異常贤旷,最好采用拷屏的方式截圖广料。
????被測試軟件運行時的相關(guān)日志文件。
缺陷報告準則
方便閱讀
統(tǒng)一缺陷嚴重程度
一個缺陷一個報告
報告小缺陷
及時報告缺陷
引用他人報告時要小心
缺陷報告的用途
記錄缺陷幼驶、缺陷分類艾杏、缺陷跟蹤、缺陷統(tǒng)計盅藻。
缺陷報告分類
按缺陷所屬模塊分類购桑。
按缺陷嚴重程度分類。
按優(yōu)先級分類氏淑。
按缺陷引入原因分類勃蜘。
按缺陷復(fù)現(xiàn)率分類。
缺陷處理流程
正常的處理流程:
測試人員提交缺陷報告-->分配給相應(yīng)的開發(fā)人員-->開發(fā)人員處理了缺陷-->測試人員驗證缺陷已經(jīng)修改-->測試人員關(guān)閉缺陷假残。
其他流程
軟件開發(fā)和測試流程
軟件開發(fā)模型
瀑布模型缭贡、原型模型、螺旋模型辉懒、敏捷開發(fā)模型阳惹。
瀑布模型生命周期:計劃、需求分析耗帕、設(shè)計穆端、編碼、測試仿便、運行維護体啰。
軟件測試的生命周期:軟件測試計劃、測試用例設(shè)計和開發(fā)嗽仪,實施測試和提交缺陷荒勇、提交測試總結(jié)報告。
常用的開發(fā)模型:V模型闻坚、W模型沽翔、H模型、X模型。
軟件測試分類
按測試階段分:單元測試仅偎、集成測試跨蟹、冒煙測試、系統(tǒng)測試橘沥、Alpha測試窗轩、Beta測試、驗收測試
按技術(shù)分:白盒測試座咆、黑盒測試痢艺、灰盒測試、靜態(tài)測試介陶、動態(tài)測試堤舒。
按測試實施組織分:開發(fā)商測試、外包測試哺呜。
外包測試又分為:現(xiàn)場測試舌缤、完全離岸外包、設(shè)立聯(lián)合研發(fā)中心
軟件測試的生命周期
軟件測試流程圖
WEB系統(tǒng)測試類型
功能測試某残、性能測試友驮、安全性測試、兼容性測試驾锰、易用性測試、配置測試走越、文檔測試椭豫、壓力測試、負載測試旨指。
編寫測試計劃和測試方案
項目管理
項目管理通常是指在項目活動中運用專門的知識赏酥、技能、工具和方法谆构,使項目能夠?qū)崿F(xiàn)或超過項目干系人的需要和期望裸扶。
項目管理包括:范圍管理、人力資源管理搬素、時間管理呵晨、風(fēng)險管理、質(zhì)量管理熬尺、溝通管理摸屠、采購管理、成本管理粱哼。
軟件測試計劃包括的內(nèi)容
簡介季二、測試參考文檔和測試提交文檔、測試進度、測試資源胯舷、測試策略刻蚯、問題嚴重程度及優(yōu)先級描述、測試風(fēng)險
軟件測試計劃原則
避免測試項目只有一個軟件測試計劃
避免不分析就進行軟件階段日常安排
避免測試任務(wù)的安排超前于開發(fā)任務(wù)
避免有些系統(tǒng)測試類型無法按期進入測試
不正確的變更測試計劃
測試計劃中明確更新周期和暫停測試原則
測試計劃不是一成不變的
測試風(fēng)險分析
軟件需求風(fēng)險
人員風(fēng)險
測試環(huán)境風(fēng)險
測試工程師對產(chǎn)品業(yè)務(wù)不熟悉
軟件測試原則
盡早地進行軟件測試桑嘶,并把軟件測試貫穿于整個軟件生命周期
所有測試的標準都是建立在用戶需求之上
測試應(yīng)由第三方來測試
窮舉測試是不可能的炊汹,要遵循Good-enough原則
軟件測試計劃是做好軟件測試工作的前提
必須確定預(yù)期輸出結(jié)果
充分注意測試中的群集現(xiàn)象
測試用例是設(shè)計出來的,不是寫出來的
事先定義好產(chǎn)品的質(zhì)量標準
軟件測試的二八定理
正確認識軟件測試
軟件的質(zhì)量不是測出來的
軟件測試不一定比開發(fā)軟件容易
軟件測試需要開發(fā)人員和測試人員共同努力
關(guān)于處理缺陷
關(guān)注開發(fā)修復(fù)缺陷時寫的回歸測試范圍
修改缺陷要量力而行
關(guān)注被推遲修改的缺陷
如果決定據(jù)理力爭就一定要贏
定期進行缺陷交流
軟件測試結(jié)束標準
模塊測試用例執(zhí)行完畢
缺陷收斂趨勢符合質(zhì)量要求
缺陷修復(fù)率達到產(chǎn)品設(shè)計人員需求
測試覆蓋了全部軟件需求
按照客戶交付時間結(jié)束
達到預(yù)先的缺陷度量原則基于“質(zhì)量/成本/進度”的原則
值得借鑒的經(jīng)驗
測試人員關(guān)注失效不翩,才能保證產(chǎn)品質(zhì)量
測試必須依據(jù)需求
重視界面測試
不能進行“疲勞”測試
軟件測試總結(jié)報告包括哪些內(nèi)容
概述
測試情況
測試環(huán)境
測試結(jié)果及缺陷分析
測試遺留問題報告
測試評價