軟件測試定義:
一個過程 ,只是活動之一(計劃屹电,設計阶剑,實施跃巡,執(zhí)行),通過人工測試或借助工具牧愁,檢驗其 計算機代碼是否滿足規(guī)定需求素邪,完成了其應該 完成 的功能,不執(zhí)行 其不 該有的操作猪半。
測試目的: 發(fā)現(xiàn)缺陷~預防缺陷
? 發(fā)現(xiàn):
? 預防:預防下一版本 出現(xiàn)的問題
? ? ? ? ? 預防 用戶使用 軟件可能出現(xiàn)的問題
? ? ? ? ? 提前 發(fā)現(xiàn)開發(fā)過程中的問題和風險
? ? ? ? ? ? 提供可以 用于分析的測試結(jié)果數(shù)據(jù)
測試常見誤區(qū): 調(diào)試:定位問題并修改兔朦,結(jié)局不可預知,隨機磨确,程序員完成 為程序可運行
? ? ? ? ? ? ? ? ? ? ? ? ? 測試:找問題沽甥,結(jié)局可預知,有計劃有目的乏奥,測試員完成 測試 功能可運行
軟件測試工作:
1,檢視代碼摆舟,評審開發(fā)文檔
2,進行測試設計,寫作測試文檔邓了,測試計劃恨诱,測試方案,測試用例
3,執(zhí)行測試骗炉,發(fā)現(xiàn)軟件缺陷胡野,提交缺陷報告,并確認缺陷 最終得到修正
4,通過測試度量軟件質(zhì)量
軟件生命周期:
計劃~需求分析~設計~編碼~測試~運行~評價
計劃:? 功能痕鳍,性能 要求
需求:? 需求來源? 針對產(chǎn)品? ~市場調(diào)研
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 針對項目? ~客戶要求
設計:? 概要設計 (HLD)在設計階段把各項需求轉(zhuǎn)化成 相應的體系結(jié)構(gòu)硫豆,每一部分是功能明確的模塊(例如 加減乘除五個模塊,加法模塊包含 5個函數(shù):加法主函數(shù)笼呆,十進制熊响,八,二,十六,主函數(shù)調(diào)用后四個函數(shù),)
? ? ? ? ? 詳細設計 (LLD)對每一模塊要完成的工作進行具體的描述 (例如:加法主函數(shù)的流程圖)
編碼:
測試:
? ? ? ? 單元測試:LLD(詳設)對每一個函數(shù)進行測試
? ? ? ? 集成測試:(HLD)概設 對函數(shù)與函數(shù)的集成诗赌,模塊與模塊的集成進行測試
? ? ? 系統(tǒng)測試:對每一個功能汗茄,性能需求進行測試
? 軟件研發(fā)相關(guān)因素 :? 人員? 過程 (決定作用)? 工具? (輔助作用)?
? ? ? ? ? ? ? ? ?
軟件項目組成員:分析人員,設計人員铭若,開發(fā)人員洪碳,測試人員,配置管理人員叼屠,SQA(軟件質(zhì)量保證)
配置管理人員:所有開發(fā)文檔瞳腌,產(chǎn)品由配置團隊來進行管理
項目組架構(gòu):開發(fā) ~SQL~測試~配置管理(并列關(guān)系)
軟件研發(fā)組織 和 流程:
瀑布模型? :應運最為廣的一種模型,也是最容易理解和掌握的模型镜雨,缺陷是線性過程 增加開發(fā)風險嫂侍,在結(jié)果測試階段才能發(fā)現(xiàn)缺陷。
螺旋模型: 貫穿過程,四象限挑宠,需求不明確菲盾,周期長,
RUP流程
IPD流程: 適合產(chǎn)品研發(fā)各淀,(長虹)懒鉴,跨部門,跨系統(tǒng)協(xié)作