軟體基礎的理論
一, 什么是軟體產品
它是一個邏輯產品,沒有物體,包括程式,檔案和資料,需要通過終端設備才能體現出來功能和作用
二, 軟體產品的中間程序檔案
客戶需求
產品需求
需求規格
專案計劃
版本計劃
技術選型報告
競爭對手調研報告
概要設計
詳細設計
測驗計劃
測驗方案
測驗用例
測驗報告
缺陷跟蹤單
三, 完成軟體的角色有哪些
產品經理(PM):需求調研,客戶對接,輸出需求檔案
專案經理(PM):專案計劃,進度把控,重大事件決策,人員調度,風險管理,協調團隊
架構師(FD): 技術選型,技術專家,關鍵模塊實作
程式員(FG):設計,編碼,修復bug
測驗工程師(TE): 找出軟體中存在的bug并提交
四, 軟體產品的開發程序
軟體產品從最初的構思到最后的版本發行的程序
五, 常見的開發模型
瀑布模型,敏捷開發模型,V模型,W模型,X模型,H模型,螺旋模型
1,瀑布模型的流程:專案計劃-需求分析-軟體計劃-程式開發-軟體測驗-集成維護

- 特點:線性結構,各階段都具有里程碑的意義,檔案驅動,階段評審機制
- 優點:提供了一個軟體開發的基本框架,有利于大規模軟體開發和管理,有利于開發方法和工具的使用,提高了軟體的質量和效率
- 缺點:開發時間拉得太長,錯誤修改成本太高了
2, V模型

3, W模型

4,敏捷迭代模型
站會(晨會):
三個問題: 昨天做了什么、今天要做什么、遇到了什么問題 時間控制在15分鐘內
不需要實際去解決問題(會后的事情)
? 產品負責人(PO): 指定產品發布日期和內容,有權接受或拒絕開發成果
? 流程管理員(SM): 負責整個開發程序的流程管理,打通開發和客戶之間的溝通壁障
? 開發團隊(ST): 根據規定流程完成開發作業,不同人負責不同的技術實作、作業方式不拘于形式,只要能完成目標即可.
六, 軟體開發程序模型的目的
- 使軟體滿足客戶的需求
- 提高產品質量,降低開發成本
- 專案可管理,進度可控
- 作為測驗 ,運用自身的技能,盡量協助創造完美的軟體
七, 軟體的生命周期
需求-設計-編碼-測驗-維護-升級-廢棄
八, 軟體質量的定義:反應物體滿足或隱含需要的能力的特性總和
九, 軟體質量模型
六大特性:功能性,可靠性,易用性,效率,維護性,可移植性
(1) 功能性: 功能性是指當軟體在指定條件下使用,軟體產品滿足明確和隱含要求功能的能力
(2) 可靠性:在規定的時間下,規定的條件下完成規定功能的能力
(3) 易用性:易理解,易學習,易使用,吸參考戶
(4)效率性:對于資源利用情況,軟體提供適當的性能的能力
(5)維護性:四規定,在規定條件下、規定時間內、使用規定方法或工具修復規定功能的能力
(6)可移植性:從一種環境遷移到另一種環境的能力
十, QA和QC的區別
(1) QA:主要從事事先的質量保證活動,以預防為主,減少降低錯誤的發生的幾率
(2) QC:主要從事事后的質量檢查活動,期望發現并報告問題
(3) QA偏向與質量管理體系和維護,質量培訓,認證體系審核,QC便向與質量檢測和控制
(4) QA的作業涉及全流程所有部門,范圍較廣,QC主要集中在質量檢驗這一方面
十一, CMMI:軟體能力成熟度模型綜合
(1)分為五個等級
- 第一級:初始級
- 第二級:受管理級
- 第三級:已定義級
- 第四級:定量管理級
- 第五級:持續優化級
(2)PA:程序域(一類實踐的集合)
(3)Goal:目標
(4)Practice:實踐
軟體測驗的基礎理論
一, 為什么要進行軟體測驗
為了通過軟體測驗,盡可能減少bug,保證軟體質量
二, 軟體測驗的定義
為了發現軟體中的缺陷而執行程式或系統的程序
三, 軟體測驗的目的
以最少的人力物力發現軟體中的缺陷和潛在的問題,滿足客戶的需求
四, 軟體測驗的原則
- 測驗應該追溯到需求
- 盡早測驗,不斷測驗
- 窮盡測驗不可能,需要及時終止
- 80%的bug來源于20%的模塊
- 程式員避免檢查自己的程式(不代表不用自測)
- 要有計劃的,有目的的進行測驗
- 測驗用例既要正向用例,也需要反向用例
- 要徹底檢查用例的執行結果(查看相關聯的模塊結果)
- 保存測驗程序中的相關檔案和資料,為專案管理提供依據
五, 軟體測驗的物件
程式,檔案,資料(不同階段,測驗物件也會不同,eg: 需求階段測驗, 測驗物件就是需求檔案)
六, 軟體測驗分類的劃分標準
- 按階段:單元測驗, 集成測驗, 系統測驗, 驗收測驗
- 程式是否運行: 動態測驗, 靜態測驗
- 是否查看代碼: 白盒測驗, 黑盒測驗, 灰盒測驗
- 其他: 兼容測驗, 安全測驗, 回歸測驗, 冒煙測驗, 隨機測驗, app測驗, 介面測驗
七, 單元測驗UT(Unit Testing)
- 對軟體的最小組成單元(方法,模塊,類) 進行的測驗, 主要測驗單元內部的資料結構,邏輯控制,例外處理
- 驅動模塊:呼叫其他模塊的模塊
- 樁模塊:被其他模塊呼叫的模塊
八, 集成測驗IT(Integration Testing) 系統集成測驗SIT(System Integration Testing)
- 集成測驗也叫組裝測驗,是屬于灰盒測驗一種,一般通過介面測驗來進行系統集成,包括系統內部介面和外部介面
- 集成測驗的方式:非增量式,增量式
- 非增量式:一次性集成所有模塊
- 增量式:
-
自頂向下---從頂層模塊向下層模塊集成
-
自底向上---從底層模塊向上層模塊集成
九, 系統測驗測驗 S T(system testing)
? 將已經集成好的系統與硬體環境,網路和其他元素整合到一起進行一系列的組裝和確認
是對整個系統的測驗,將硬體、軟體、操作人員看作一個整體,檢驗它是否有不符合系統說明書的地方,這種測驗可以發現系統分析和設計中的錯誤,如安全測驗是測驗安全措施是否完善,能不能保證系統不受非法侵入,再例如,壓力測驗是測驗系統在正常資料量以及超負荷量(如多個用戶同時存取) 等情況下是否還能正常地作業,
功能測驗、安全性測驗、配置測驗、易用性測驗、安裝測驗、檔案測驗、穩定性測驗、可靠性測驗、兼容性測驗、性能測驗、壓力測驗、容量測驗、負載測驗、并發測驗、高可用測
十, 驗收測驗 U A T (User Acceptance Testing)
在已經完成單元,集成和系統測驗之后進行的測驗主要是為了確保軟體的功能是否滿足合同和客戶需求檔案所提的要求
測驗型別:黑盒測驗(驗收測驗)
驗收測驗分類:
非正式驗收: α測驗,β測驗正式驗收:按照完整測驗流程進行測驗(測驗計劃、測驗方案、用例選擇、測驗報告,以及其他所有的中間程序檔案)
十一, 白盒測驗 W B T(White Box Testing)
把一個程式看成一個透明的盒子,主要對程式本身進行測驗,包括內部結構,資料和邏輯
白盒測驗用例的設計方法:
邏輯覆寫(陳述句覆寫,條件覆寫,判定覆寫,條件/判定覆寫,條件組合覆蓋)路徑覆寫
十二, 黑盒測驗B B T(Black Box Testing)
也叫功能測, 據驅動測驗, 是站在用戶的角度,主要關注的是軟體的功能和性能是都滿足需求
用例設計方法:
-
等價類劃分法 -
邊界值分析 -
場景法 -
錯誤推測法 -
判定表驅動 -
因果圖法 -
正交實驗法
十三, 灰盒測驗 G B T(Gray Box Testing)
灰盒測驗介于白盒與黑盒測驗之間,以介面測驗為主,主要關注介面的輸入輸出測驗,應用在集成測驗階段
十四, 兼容測驗C T(Compatibility Testing)
包括三類兼容:
-
硬體兼容:設備(同一品牌得不同機型,不同品牌) -
軟體兼容:作業系統(不同的作業系統,同一系統作業系統的不同版本),瀏覽器(不同品牌,同一品牌的不同版本),資料庫,解析度,網路環境,應用軟體之間的兼容 -
資料兼容: 產品的不同版本之間的資料兼容,不同軟體之間的資料兼容 -
WEB兼容性測驗的側重點:-
作業系統兼容性測驗
-
瀏覽器兼容性測驗
-
解析度兼容性測驗
-
-
C/S兼容性測驗的側重點:- 作業系統兼容性測驗
- 客戶端版本服務器版本兼容性測驗
十五, APP測驗
專項測驗:安裝測驗(覆寫安裝,),卸載測驗(清除資料,不清除資料),事件交叉(切換到其他參考然后再切回來),網路環境(移動玩絡,無網路,WiFi網路,弱網),終端設備(手機型號,螢屏尺寸,解析度,作業系統,系統版本),升級測驗,降級測驗,耗電量,手機發熱量
十六, 回歸測驗(Regression Testing)
bug修復完成后進行的測驗,主要檢驗bug是否修復完成, 有沒有引起其他問題
回歸策略: 全量回歸、基于風險的回歸、只回歸修改部分
十七, 冒煙測驗(Build Verification Testing)
開發提測后,首先要進行的測驗,主要測驗系統主流程、基本功能、核心功能是否能正常使用
十八, 隨機測驗(Monkey測驗 Ad_hoctesting)
通過adb monkey 生成隨機事件,發送到移動設備中,模擬隨機操作,主要針對Andriod端的app測驗
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/501177.html
標籤:其他
上一篇:ASC WarGames 2022 WEB WriteUP
下一篇:進位元組跳動了,年薪30w+
