軟體測試
- 2022 年 9 月 28 日
- 筆記
學科介紹:
軟體測試是互聯網技術中一門重要學科,是軟體生命周期中不可或缺的環節,擔負著把控、監督軟體的品質的重任。2018年測試工程師缺口達30萬,其中大中型城市人才需求突破20萬,並以每年20%的速度遞增。
軟體測試學科課程立足於當前測試領域的緊缺技術性人才需求,課程內容由基礎到深入,覆蓋Web端自動化、移動端自動化、介面自動化和高級性能測試,通過企業實戰項目,確保學員真正掌握測試前沿技術,具備中高級測試工程師技能,在今後的職業發展中具備核心競爭力。
就業崗位:
測試工程師
自動化測試工程師
測試開發工程師
遊戲測試工程師
移動端測試工程師
Web端測試工程師
介面測試工程師
性能測試工程師
安全測試工程師
發展前景:
隨著企業對軟體產品品質的重視,測試崗位的需求越來越旺盛,無論大中小的研發團隊,都設置了軟體測試崗位,且市場需求與供給間的差距仍在進一步拉大。企業提供了非常優厚的薪資待遇,且隨著測試技術及經驗的提升,在崗位及待遇都有很大的晉陞空間。
軟體測試的發展過程:
1956年調試時期(測試即調試)
1957年-1978年論證時期(軟體測試是驗證軟體是正確的)和1979年-1982年破壞性測試時期(為了發現錯誤而執行程式的過程)
1983年起,軟體測試已有了行業標準(IEEE829),它需要運用專門的方法和手段,需要專門人才和專家來承擔
1990年起軟體迅速發展,測試行業也更著發生了巨大變化,開始引入專業測試工具
軟體測試:
在規定的條件下對程式進行操作,從而發現錯誤,對軟體品質進行評估的一個過程。
測試的目的:
是想以最少的人力,物力和時間找出軟體中潛在的各種錯誤與缺陷,通過修正各種錯誤和缺陷提高軟體品質,迴避軟體發布後由於潛在的軟體缺陷和錯誤造成的隱患以及帶來的商業風險。(注意這個問題的答案,經常會與軟體測試的定義混淆)
軟體測試的定義:
使用人工和自動手段來運行或測試某個系統的過程,其目的在於檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。
軟體測試得原則:
1、所有得測試都應追溯到用戶需求(影片網站,點擊後最大化)
2、應當把「儘早和不斷地測試」作為座右銘
3、測試工作應該由獨立的專業的軟鍵測試機構來完成
4、Pareto原則,測試發現的錯誤中80%很可能起源於20%的模組中
5、設計測試用例時,應該考慮各種情況
6、對測試出的錯誤結果一定要有一個確認的過程(描述缺陷報告)。
7、制定嚴格的測試計劃
8、完全測試是不可能的,測試需要終止
9、注意回歸測試(見下一頁)的關聯性
10、妥善保存一切測試過程文檔。
回歸測試:
指修改了舊程式碼後,重新進行測試以確認修改沒有引入新的錯誤或導致其他程式碼產生錯誤。
軟體產品品質模型(ISO/IEC9126):
軟體產品品質模型對產品設計時需要考慮的地方進行了高度概括。
六大特性:
1、功能性:是指軟體產品在指定條件下使用時,提供滿足明確和隱含要求的功能的能力。
2、可靠性:是指在特定條件下使用時,軟體產品維持規定的性能級別能力。第一層:設備最好不要出故障;第二層:設備出現故障了不要影響主要的功能和業務;第三層:如果影響了主要功能和業務,系統可以儘快定位並恢復。
3、易用性:是指用戶在指定條件下使用軟體產品時,產品被用戶理解、學習、使用和吸引用戶的能力。簡單10個字:易懂、易學、易用、漂亮好看(用戶體驗好)
4、效率:是指在規定條件下,相對於所用資源的數量,軟體產品可提供適當的性能的能力。通常,效率就是我們常說的產品性能(單選、多選例子)
5、可維持性(更新):是指產品可被修改的能力,這裡的修改是指糾正、改進軟體產品和軟體產品對環境、功能規格變化的適應性(qq隱身在線顯示)
//www.kuaihou.com/s/qqlishibanben/快速滑動會由問題,經典的js程式碼bug
6、可移植性:是指軟體產品從一種環境遷移到另外一種環境的能力。這裡的環境,可以理解為硬體、軟體或組織等不同的環境。(win7、win10、Android、ios......)
軟體品質模型保證(SQA):
軟體品質保證是建立一套有計劃,有系統的方法,來向管理層保證擬定出的標準、步驟、實踐和方法能夠正確地被所有項目所採用。軟體品質保證的目的是使軟體過程對於管理人員來說是可見的。它通過對軟體產品和活動進行評審和審計來驗證軟體是合乎標準的。軟體品質保證組在項目開始時就一起參與建立計劃、標準和過程,這些將使軟體項目滿足機構方針的要求。
5個基本目標:
1、軟體品質保證工作是有計划進行的
2、客觀地驗證軟體項目產品和工作是否遵循恰當的標準、步驟和需求
3、將軟體品質保證工作及結果通知給相關組別和個人
4、高級管理層接觸到在項目內部不能解決的不符合類問題
5、軟體品質需要全面的測試工作來保證
QC:檢驗產品的品質,保證產品符合客戶的需求;是產品品質檢查者;
QA:審計過程的品質,保證過程被正確執行;是過程品質審計者;
注意區別:檢查和審計的不同
檢查:就是我們常說的找茬,是挑毛病的
審計:來確認項目按照要求進行的證據;審計的內容主要是過程;
QC進行品質控制,向管理層回饋品質資訊;QA則確保QC按照過程進行品質控制活動,按照過程將檢查結果向管理層彙報。這就是QA和QC工作的關係。
軟體測試基本流程:
1、需求分析
2、編寫測試用例
3、評審測試用例
4、搭建測試環境
5、等待開發提交測試包
6、部署測試包
7、冒煙測試(對軟體主體基本功能進行基本測試)
8、執行測試用例
9、BUG跟蹤處理(提交及回歸BUG)
10、N輪之後符合需求
11、測試結束


