?? day18.txt
字號:
CoreJava(day18) --- 李艷
軟件測試:
開發人員也要寫測試代碼。
網上流行的----XP開發(極限開發)
本章要點:
軟件測試概述
軟件測試分類
幾種單元測試方法------程序員
組織軟件測試-----測試人員
軟件測試文檔----90%是測試人員寫,但也有程序員寫的
軟件測試的定義(1983,IEEE):
“使用人工或自動手段來進行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是否弄清預期結果與實際結果之間的差別。
軟件測試以檢驗是否滿足需求為目標”
軟件開發流程:
1、可行性分析
2、需求分析------>開發、測試,(與客戶溝通,了解系統需要),一般由項目經理(PM)完成
3、概要設計------>分模塊,定框架
4、詳細設計------>類設計,接口設計
5、coding------->程序員
6、測試
7、部署
8、維護
一般把3,4合起來統稱為設計,這部分可由項目經理、架構師或高級程序員來做
軟件質量保證和軟件測試不同-----測試只是一種手段
測試的目的:
尋找缺陷----找Bug(臭蟲)
發現新的缺陷----換方法繼續測
任何系統都不能保證沒有缺陷,Bug永遠存在,我們所能克服的Bug是致命Bug(嚴重Bug)
比如XP系統的RPC,沖擊波和震蕩波這兩大病毒就是針對RPC的缺陷去攻擊的。
軟件測試的原則:
追溯根源
計劃在先------測試計劃(文檔)
從小到大
不能窮舉
正確認識軟件測試:
軟件測試不是程序測試-------
測試心態----開發(創建),測試(破壞)
測試的分量----大公司測試==開發,國內的小公司測試=0
規范(標準)針對整個行業,產品(比如XP),項目(比如一個聊天項目)
軟件缺陷的來源:
編程錯誤------邏輯錯誤
軟件復雜度
溝通
不斷變更的需求
時間的壓力
人員風險意識
缺乏文檔
軟件開發工具
總體分類:
靜態測試(檢查作業):
代碼審查
代碼分析
文檔檢查
動態測試(真正的測試):
結構測試(白盒)
功能測試(黑盒)
工程分類:
單元測試------程序員
集成測試------程序員或測試人員
系統測試------測試人員
用戶測試------用戶
幾種單元測試方法:
邊界值分析-----if,for循環臨界點
語句覆蓋------程序中的每一條語句都要運行到
判定覆蓋-----比如>=,=<等,
條件覆蓋
判定-條件覆蓋
路徑覆蓋-------所有的分支都要運行到
用TestCase測試一個類-----根類
TestRunner ------運行類
TestCase原理-----測試的一個套件
JUnit是什么?
開源的------ 模塊
單元測試框架------*.java類
xUnit-----------HttpUnit---->網頁
JUnit 的特點-------簡單,開源,已成為測試的標準
www.JUnit.org-----老版本
junit.extensions:提供了junit的一些擴展功能(例如對exception測試的支持);
junit.framework:junit的核心包,提供了對單元測試的核心支持;
junit.runner:用于啟動junit測試的包;
junit.swingui:提供了以SWING方式運行junit的支持;
TestRunner是用來啟動JUnit的,選用swing版本
TestCase:這是一個測試類,要寫自己的測試類可以extends TestCase
1、setUp()(初始化方法) 這是生命周期里最選調用的方法,
2、然后執行每個以“test”開頭的方法
3、在執行完所有測試方法之后執行 tearDown() 方法,結束方法
addTestSuite方法--------加測試類,組成一個套件
addTest(Test)方法
run(TestResult)方法
寫單元測試的步驟:
1、針對要測試的每一個類寫一個測試用例(TestCase),在setUp方法中初始化要測試的類(new 要測試類的對象)。
在tearDown方法中把要測試的類的對象置為null。
2、逐一編寫以"test"開頭的方法(復雜過程)
3、新建套件類,再把所有的測試用例(TestCase)加入套件類。(eclipse加或手工加)
Ant對項目的整合
JUnit用來測試
1、先建起一個空文件夾
2、把所有的源文件拷貝到空文件夾
3、javac -d . * 編譯此文件夾下源文件
4、刪除源文件(rm)
5、jar -cvf test.jar * 完成第一次打包
6、jar -xvf test.jar 解壓
7、刪除test.jar
8、改META_INF中的文件,加上Main-Class: MenuFrame (注意中間有空格),保存
9、jar -cvfM test.jar *
10、java -jar test.jar 可以運行
testant/src
選屬性,作改名----右鍵refactor--->Rename
選屬性,作封裝
把new ActionListener提取成了private
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -