1.軟件測試理論
1.缺陷
bug
a.軟件為達到產(chǎn)品說明書標明的功能(沒有 該有的)
b.軟件出現(xiàn)了產(chǎn)品說明書指明不會出現(xiàn)的錯誤(有了贺喝,不該有的)
c. 軟件功能超出產(chǎn)品說明書指明的范圍()
d.軟件未達到產(chǎn)品說明書雖未指出但應該達到的目標()
e.軟件難以理解轰枝、不易使用、運行速度緩慢或者從測試人員的角度看最終用戶認為不好()
2.軟件缺陷產(chǎn)生的原因
1. 需求不明確和變更 軟件需求不清晰或者開發(fā)人員對需求理解偏差襟锐,導致軟件設(shè)計時偏離用戶的需求目標耸黑,造成軟件功 能或特征上的缺陷石咬。此外组底,開發(fā)過程中客戶頻繁更新需求也會影響軟件最終的質(zhì)量。
2.軟件結(jié)構(gòu)復雜
3.編碼問題
4.項目期限短
5.使用新技術(shù)
3.軟件缺陷分類
4.常見軟件缺陷管理工具
禪道捕传、Jira惠拭、碼云…
2.軟件測試概述
1.軟件測試簡介
2.軟件測試目的
1.就是以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷庸论,通過修正各種錯誤和缺陷保障軟件質(zhì)量职辅,避免軟件發(fā)布后由于潛在的軟件錯誤和缺陷造成的隱患所帶來的商業(yè)風險。
2.同時利用測試過程中得到的測試結(jié)果和測試信息聂示,作為后續(xù)項目開發(fā)和測試過程改進的重要輸入域携,避免在將來的項目開發(fā)和測試中重復同樣的錯誤。
3.采用更加高效的測試管理手段鱼喉,提高軟件測試的效率和軟件產(chǎn)品的質(zhì)量秀鞭。
2.軟件測試與開發(fā)的關(guān)系
一個成功的項目離不開測試。成功項目的“鐵三角”:
成本:項目的開銷扛禽,人工成本锋边,工具成本,設(shè)備成本旋圆,錯誤成本(BUG)
進度:時間宠默,計劃
質(zhì)量:軟件對顧客需求的滿意程度,一個低質(zhì)量的軟件灵巧,即使生產(chǎn)成本很低,進度控制良好抹沪,顧客也難 以接受刻肄。
3.軟件測試模型
1.V模型
下降是開發(fā)階段,上升是測試階段融欧,測試階段和開發(fā)各階段的對應關(guān)系下圖:
2.W模型
相對于V模型敏弃,W模型更科學。W模型是V模型的發(fā)展噪馏,它是測試伴隨著軟件開發(fā)周期麦到,測試的對象包括程序绿饵、需求、功能和設(shè)計瓶颠,開發(fā)和測試時同時進行的拟赊,能更早發(fā)現(xiàn)問題。
4.軟件測試
1.優(yōu)秀軟件測試工程的基本素質(zhì)
縝密的思維能力粹淋、正確的測試態(tài)度吸祟、良好的心理素質(zhì),性格:好奇心桃移、成就感屋匕。
1.參與需求討論,制訂測試計劃借杰,確保測試能順利執(zhí)行并完成;
2.負責項目的功能性測試过吻、用戶體驗測試、兼容性測試以及性能測試 ;
3.負責測試用例的編寫;編寫測試報告和對測試結(jié)果分析;
4.與開發(fā)人員蔗衡、產(chǎn)品經(jīng)理溝通和協(xié)作疮装,推動整個項目的順利進行;
5.負責軟件開發(fā)團隊項目進度管理工作;
6.熟悉Linux常用命令,熟悉常用數(shù)據(jù)庫粘都,熟練使用基本的SQL語句;
7.熟練使用Loadrunner廓推,Jmeter等至少一種性能測試工具。
2.軟件測試的內(nèi)容
程序測試包括程序邏輯功能翩隧,界面樊展,性能,易用性堆生,兼容性专缠,安裝等測試,當然文檔測試也算淑仆,排版涝婉,字體大小,也算程序測試的內(nèi)容
3.軟件測試的環(huán)境
測試環(huán)境=硬件+軟件+網(wǎng)絡(luò) 硬件環(huán)境:pc機還是筆記本 軟件環(huán)境:不同的操作系統(tǒng)windows10 windows8 windows7 Linux Mac 蔗怠, 不同瀏覽器firefox chrom 網(wǎng)絡(luò):局域網(wǎng)還是互聯(lián)網(wǎng)
4.軟件測試流程
5.軟件測試原則
原則一:測試顯示軟件存在缺陷
原則二:窮盡測試是不可能的
原則三:測試盡早介入
原則四:缺陷集群性(2/8原則)
原則五:殺蟲劑悖論
原則六:測試活動依賴于測試內(nèi)容
原則七:沒有錯誤是好是謬論
原則八:程序員不能自測之后就上線
原則九:嚴格執(zhí)行測試計劃墩弯,排除測試的隨意性
原則十:應當對每一個測試結(jié)果做全面的檢查
原則十一:妥善保存測試計劃、測試用例寞射、出錯統(tǒng)計和最終分析報告,為維護提供方便
原則十二:設(shè)計測試用例時桥温,應當包括合理的輸入數(shù)據(jù)和不合理的輸入數(shù)據(jù)
原則十三:測試用例應由測試數(shù)據(jù)和與之對應的預期輸出結(jié)果這兩部分組成
5.軟件測試分類
1.按照測試原理分類
黑盒測試引矩、白盒測試、灰盒測試
黑盒測試(Black Box -Test):通過“望聞問切”來判斷是否有問題。
白盒測試:是一種按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu)設(shè)計測試數(shù)據(jù)并完成測試的測試方法
灰盒測試:一種基于程序運行時的外部表現(xiàn)同時又結(jié)合程序內(nèi)部結(jié)構(gòu)來設(shè)計測試數(shù)據(jù)的測試方法
2.按照測試階段分類
單元測試旺韭、集成測試氛谜、系統(tǒng)測試、驗收測試
單元測試:對一個模塊区端、一個函數(shù)或者一個類來進行正確性檢驗的測試方法
集成測試:單元測試后值漫,將單獨的模塊按照設(shè)計要求組裝成為子系統(tǒng)或系統(tǒng),作為整體進行測試的 測試方法
系統(tǒng)測試:集成測試后珊燎,將硬件惭嚣、軟件看作一個整體,對系統(tǒng)的功能及性能的總體測試
驗收測試:系統(tǒng)測試后以用戶測試為主,或有測試人員共同參與檢驗軟件質(zhì)量的測試方法
3.按照內(nèi)容分類
功能測試悔政、性能測試晚吞、兼容性測試
1.功能測試:
界面測試、冒煙測試谋国、回歸測試槽地、業(yè)務邏輯測試、易用性測試
功能測試:根據(jù)產(chǎn)品操作描述和需求文檔芦瘾,測試一個產(chǎn)品的特性和可操作行為是否滿足用戶需求的 測試方法
界面測試:測試用戶界面的功能模塊的布局是否符合客戶使用習慣捌蚊,界面操作便捷性、導航簡單易 懂性的測試
冒煙測試:驗證系統(tǒng)的核心功能是否能夠正常運行的測試方法
回歸測試:指修改了舊代碼后近弟,重新進行測試以確認修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯 誤的測試方法
業(yè)務邏輯測試:在基本的功能點都已合格的基礎(chǔ)上缅糟,準備多種測試數(shù)據(jù),來驅(qū)動各種約束條件下業(yè) 務流程祷愉,確定最終輸出的結(jié)果是否符合預期的測試
易用性測試:指用戶使用軟件時是否感覺方便的測試
2.性能測試
性能測試:通過自動化的測試工具模擬多種正常窗宦、峰值以及異常負載條件來對系統(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ā)性能
3.兼容性測試:
冒煙測試欺殿、隨機測試寄纵、安全性測試、探索性測試祈餐、回歸測試擂啥、Alpha測試、Beta測試
隨機測試:隨機測試主要是根據(jù)測試者的經(jīng)驗無需測試用例對軟件進行功能和性能抽查的測試方法
安全性測試:通過不同的測試方法帆阳,檢驗程序、網(wǎng)絡(luò)、數(shù)據(jù)庫安全性的測試方法
探索性測試:碰到問題時能隨機應變蜒谤,強調(diào)測試人員的主觀能動性明確整體的測試計劃的測試方法
Alpha測試:俗稱內(nèi)測山宾,α測試。內(nèi)部環(huán)境下的測試;開發(fā)人員或測試人員在現(xiàn)場
Beta測試:俗稱外測鳍徽、公測资锰,β測試。生產(chǎn)環(huán)境下的測試;開發(fā)人員和測試人員都不在現(xiàn)場
6.按照其他分類
冒煙測試阶祭、隨機測試绷杜、安全性測試、探索性測試濒募、回歸測試鞭盟、Alpha測試、Beta測試
隨機測試:隨機測試主要是根據(jù)測試者的經(jīng)驗無需測試用例對軟件進行功能和性能抽查的測試方法
安全性測試:通過不同的測試方法瑰剃,檢驗程序齿诉、網(wǎng)絡(luò)、數(shù)據(jù)庫安全性的測試方法
探索性測試:碰到問題時能隨機應變晌姚,強調(diào)測試人員的主觀能動性明確整體的測試計劃的測試方法
Alpha測試:俗稱內(nèi)測粤剧,α測試。內(nèi)部環(huán)境下的測試;開發(fā)人員或測試人員在現(xiàn)場
Beta測試:俗稱外測挥唠、公測抵恋,β測試宝磨。生產(chǎn)環(huán)境下的測試;開發(fā)人員和測試人員都不在現(xiàn)場
7.測試分類占比
接口測試占:9%
壓力測試占:9%
性能測試占:19%
功能測試占:63%