01day 測試理論
是一系列按照特定順序組織的計算機數(shù)據(jù)和指令的集合
工具類軟件朱灿、游戲型軟件昧识、媒體型軟件、電商型軟件等
單機版軟件跪楞、分布式軟件
office、紅警等
客戶端需安裝專門軟件侣灶,如QQ 微信等
客戶端為瀏覽器 甸祭,如百度、hao123等
事故:阿麗亞娜5號火箭爆炸
原因:程序中試圖將64位浮點數(shù)轉(zhuǎn)換成16位整數(shù)時發(fā)生溢出-----缺少錯誤程序?qū)?shù)據(jù)溢出進行管理
通過人工或自動化的方式來驗證軟件的實際結(jié)果與用戶需求是否一致的過程
原則一:盡早進入軟件測試
?原則二:窮盡測試是不可行的
?原則三:程序員應(yīng)避免檢查自己的程序
?原則四:充分注意測試中缺陷的群集現(xiàn)象
?原則五:嚴格執(zhí)行測試計劃校焦,排除測試的隨意性
?原則六:應(yīng)當對每一個測試結(jié)果做全面的檢查
?原則七:妥善保存測試計劃赊抖、測試用例、出錯統(tǒng)計和最終分析報告寨典,為維護提供方便
?原則八:設(shè)計測試用例時氛雪,應(yīng)當包括合理的輸入數(shù)據(jù)和不合理的輸入數(shù)據(jù)
?原則九:測試用例應(yīng)由測試數(shù)據(jù)和與之對應(yīng)的預(yù)期輸出結(jié)果這兩部分組成
? ? 瀑布模型:將軟件生命周期的各項活動規(guī)定為按固定順序而連接的若干階段工作报亩,形如瀑布流水,最終得到軟件產(chǎn)品的項目井氢;
?? 快速原型模型:在需求分析階段對軟件的需求進行初步而非完全的分析和定義羽德,用戶與開發(fā)者在過程中加強反饋停蕉,快速設(shè)計開發(fā)出軟件系統(tǒng)可以運行的模型;
?增量模型:把待開發(fā)的軟件系統(tǒng)模塊化,第1個增量往往是產(chǎn)品的核心峭沦,將每個模塊作為一個增量組件拴泌,從而分批次地分析担钮、設(shè)計你雌、編碼和測試這些增量組件;
?? 敏捷開發(fā):先選擇產(chǎn)品烤宙,再進行開會遍烦、對產(chǎn)品計劃,然后對任務(wù)進行分工躺枕,分工后開始按照計劃執(zhí)行服猪,然后就做出了新的功能模塊,然后再進行演示拐云、回顧罢猪,最后再領(lǐng)取新的任務(wù),依次循環(huán)叉瘩。
階段名工作內(nèi)容產(chǎn)出物
測試準備階段項目立項薇缅、需求分析危彩、需求評審需求文檔、產(chǎn)品PRD
測試計劃階段編寫測試計劃泳桦、計劃評審測試計劃
測試設(shè)計階段提取測試點汤徽、編寫測試用例、用例評審測試用例
測試執(zhí)行階段冒煙測試灸撰、執(zhí)行測試用例谒府、提bug拼坎、回歸測試缺陷報告
測試完成階段驗收測試、編寫測試報告完疫、項目上線測試報告
黑盒測試趋惨、白盒測試鸟顺、灰盒測試
?黑盒測試:不需要了解程序的源代碼惦蚊,通過使用整個軟件功能來驗證程序是否滿足需求的測試方法
?白盒測試:是一種按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu)設(shè)計測試數(shù)據(jù)并完成測試的測試方法
?灰盒測試:一種基于程序運行時的外部表現(xiàn)同時又結(jié)合程序內(nèi)部結(jié)構(gòu)來設(shè)計測試數(shù)據(jù)的測試方法
單元測試、集成測試蹦锋、系統(tǒng)測試兆沙、驗收測試
?單元測試:對一個模塊、一個函數(shù)或者一個類來進行正確性檢驗的測試方法
?集成測試:單元測試后莉掂,將單獨的模塊按照設(shè)計要求組裝成為子系統(tǒng)或系統(tǒng)葛圃,作為整體進行測試的測試方法
?系統(tǒng)測試:集成測試后,將硬件憎妙、軟件看作一個整體,對系統(tǒng)的功能及性能的總體測試
?驗收測試:系統(tǒng)測試后以用戶測試為主库正,或有測試人員共同參與檢驗軟件質(zhì)量的測試方法
功能測試厘唾、性能測試褥符、兼容性測試
界面測試、冒煙測試抚垃、回歸測試喷楣、業(yè)務(wù)邏輯測試、易用性測試
?功能測試:根據(jù)產(chǎn)品操作描述和需求文檔鹤树,測試一個產(chǎn)品的特性和可操作行為是否滿足用戶需求的測試方法
?界面測試:測試用戶界面的功能模塊的布局是否符合客戶使用習慣铣焊,界面操作便捷性、導航簡單易懂性的測試
?冒煙測試:驗證系統(tǒng)的核心功能是否能夠正常運行的測試方法
?回歸測試:指修改了舊代碼后罕伯,重新進行測試以確認修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤的測試方法
?業(yè)務(wù)邏輯測試:在基本的功能點都已合格的基礎(chǔ)上曲伊,準備多種測試數(shù)據(jù),來驅(qū)動各種約束條件下業(yè)務(wù)流程追他,確定最終輸出的結(jié)果是否符合預(yù)期的測試
?易用性測試:指用戶使用軟件時是否感覺方便的測試
壓力測試坟募、負載測試、并發(fā)測試
?性能測試:通過自動化的測試工具模擬多種正常湿酸、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行校驗的測試方法
?壓力測試:通過逐步增加系統(tǒng)負載婿屹,測試系統(tǒng)性能的變化,并確定在什么條件下系統(tǒng)性能處于失效狀態(tài)
?負載測試:通過逐步增加系統(tǒng)負載推溃,測試系統(tǒng)性能的變化昂利,在滿足性能指標的情況下,系統(tǒng)所能承受的最大負載量的測試
?并發(fā)測試:是一個負載測試和壓力測試的過程,即逐漸增加并發(fā)用戶數(shù)負載直到系統(tǒng)的瓶頸蜂奸,通過分析資源監(jiān)控指標等來確定系統(tǒng)并發(fā)性能
冒煙測試犁苏、隨機測試、安全性測試扩所、探索性測試围详、回歸測試、Alpha測試祖屏、Beta測試
?隨機測試:隨機測試主要是根據(jù)測試者的經(jīng)驗無需測試用例對軟件進行功能和性能抽查的測試方法
?安全性測試:通過不同的測試方法助赞,檢驗程序、網(wǎng)絡(luò)袁勺、數(shù)據(jù)庫安全性的測試方法
?探索性測試:碰到問題時能隨機應(yīng)變雹食,強調(diào)測試人員的主觀能動性明確整體的測試計劃的測試方法
?Alpha測試:俗稱內(nèi)測,α測試期丰。內(nèi)部環(huán)境下的測試群叶;開發(fā)人員或測試人員在現(xiàn)場
?Beta測試:俗稱外測、公測钝荡,β測試街立。生產(chǎn)環(huán)境下的測試;開發(fā)人員和測試人員都不在現(xiàn)場
冒煙測試赎离、隨機測試、安全性測試植阴、探索性測試蟹瘾、回歸測試、Alpha測試掠手、Beta測試
?隨機測試:隨機測試主要是根據(jù)測試者的經(jīng)驗無需測試用例對軟件進行功能和性能抽查的測試方法
?安全性測試:通過不同的測試方法憾朴,檢驗程序、網(wǎng)絡(luò)喷鸽、數(shù)據(jù)庫安全性的測試方法
?探索性測試:碰到問題時能隨機應(yīng)變众雷,強調(diào)測試人員的主觀能動性明確整體的測試計劃的測試方法
?Alpha測試:俗稱內(nèi)測,α測試做祝。內(nèi)部環(huán)境下的測試砾省;開發(fā)人員或測試人員在現(xiàn)場
?Beta測試:俗稱外測、公測混槐,β測試编兄。生產(chǎn)環(huán)境下的測試;開發(fā)人員和測試人員都不在現(xiàn)場