標籤:
測試架構初體驗
在這周的軟體測試課上,第一次瞭解了軟體測試架構的概念。軟體測試架構套件含的範圍非常廣,從自動化測試架構到單元測試架構以及效能測試架構。在上個寒假中,在學習Coursera的線上課程時發現普林斯頓的單元測試做得非常強大,從程式正確性到Time consuming甚至Memory consuming,幾乎能發現程式中的每一處錯誤或者缺陷。因此,在上完了這周的課程後,我查閱了一些資料,做了這篇隨筆記錄瞭解到的單元測試的知識。
一、什麼是測試架構
要認識測試架構,首先要對所謂架構有概念。架構(Framework)是整個或部分系統的可重用設計,表現為一組抽象構件及構件執行個體間互動的方法;另一種定義認為,架構是可被應用開發人員定製的應用骨架。前者是從應用方面、而後者是從目的方面給出的定義。測試架構也是如此,測試架構出現的最終目的是花少量的資源來完成儘可能多的測試工作,所以測試架構的建立以及架構的重用性方面是最值得測試人員深入探究的地方。
上面給出的是比較專業的定義,我理解的測試架構就是一個可以協助軟體測試人員測試軟體的工具,可以協助測試人員節省大量的時間去編寫重複的測試案例。
二、自動化測試載入器
通常,在設計了測試案例並通過評審之後,由測試人員根據測試案例中描述的規程一步步執行測試,得到實際結果與期望結果的比較通常的測試過程。為了節省人力、時間或硬體資源,提高測試效率,便引入了自動化測試的概念。
自動化測試是使用機器協助測試人員自動化地測試軟體。
因此,自動化測試的本質是:用程式測試程式。 也就是說學習“程式設計語言”是學習自動化測試的基礎。
當然,並不是所用的Project都適合使用自動化測試,必須滿足下列條件:
1) 需求變動不頻繁;
2) 項目周期足夠長;
3) 自動化測試指令碼可重複使用;
以下是一些通常適合使用自動化測試的場合:
1)迴歸測試,重複單一的資料錄入或是擊鍵等測試操作造成了不必要的時間浪費和人力浪費;
2)此外測試人員對程式的理解和對設計文檔的驗證通常也要藉助於測試自動化工具;
3)採用自動化測試載入器有利於測試報告文檔的產生和版本的連貫性;
4)自動化工具能夠確定測試案例的覆蓋路徑,確定測試案例集對程式邏輯流程和控制流程程的覆蓋。
在學習中,我發現了不是所用的產品都適合使用自動化測試,有的項目的開發週期很短,不值得話費大量的時間去投資自動化測試,有的項目測試很少運行,使用自動化測試就是一種浪費。自動化測試就是讓它不厭其煩的、反反覆複的運行才有效率。
現在常用的測試架構QTP,WinRunner,Rational Robot等非常專業的測試載入器,具體如何這些測試架構如何使用由於水平有限我沒能深入地瞭解,盲目地學習複雜的測試載入器是沒有意義的,畢竟自動化測試本質上使用程式測試程式,鍛煉編程能力,打好基礎才是最重要的。
三、單元測試工具
維基百科中給出了單元測試的定義:在電腦編程中,單元測試(又稱為模組測試, Unit Testing)是針對程式模組(軟體設計的最小單位)來進行正確性檢驗的測試工作。程式單元是應用的最小可測試組件。在過程化編程中,一個單元就是單個程式、函數、過程等;對於物件導向編程,最小單元就是方法,包括基類(超類)、抽象類別、或者衍生類別(子類)中的方法。
由於單元測試的對象是程式的單元,即一個函數或一個方法,單元測試的重要性不言而喻:單元測試保證了程式的正確性的。
單元測試也是程式員的一項基本職責,程式員必須對自己所編寫的代碼保持認真負責的態度,這是也程式員的基本職業素質之一。同時單元測試能力也是程式員的一項基本能力,能力的高低直接影響到程式員的工作效率與軟體的品質。
通常合格的代碼應該具備以下性質:正確性、清晰性、規範性、一致性、高效性等(根據優先順序別排序)。
1. 正確性是指代碼邏輯必須正確,能夠實現預期的功能。
2. 清晰性是指代碼必須簡明、易懂,注釋準確沒有歧義。
3. 規範性是指代碼必須符合企業或部門所定義的共同規範包括命名規則,代碼風格等等。
4. 一致性是指代碼必須在命名上(如:相同功能的變數盡量採用相同的標示符)、風格上都保持統一。
5. 高效性是指代碼不但要滿足以上性質,而且需要儘可能降低代碼的執行時間。
簡單地學習了一下Junit測試用法之後,我測試了一個簡單的Java類,以下是這個類的定義及方法
這個類主要用來計算在一個有向圖中計算兩個節點的最短祖先路徑Shortest Ancestral Path
接下來用Junit進行測試
首先匯入Junit包:選中java工程,點擊滑鼠右鍵--->選擇properties---->在視窗中選Java Build Path---->在右側點擊Add Library---->在彈出的視窗列表中選中Junit---->下一步----->Junit 4(我用的是Junit 4)---->finish
這樣Junit 4包就導完了,接下來就是建立測試類別:
接下來運行測試案例(選中需要測試的類---->滑鼠右鍵---->Run As---->Junit Test)
以下是測試結果圖
由於SAP測試對象的建立需要讀取文本,所以這次測試結果的失敗的。在以後的學習中我會去仔細瞭解如何讓測試案例接受命令列參數。
軟體測試學習筆記week 3 --- 測試架構初體驗