開發
過程的重要組成部分,是用來確認乙個程式
的品質或效能
是否符合開發之前所提出的一些要求。軟體測試的目的,第一是確認軟體的質量
,其一方面是確認軟體做了你所期望的事情(do the right thing),另一方面是確認軟體以正確的方式來做了這個事件(do it right)。第二是提供資訊,比如提供給開發人員或程式經理的反饋資訊,為風險評估所準備的資訊。第三軟體測試不僅是在測試軟體產品的本身,而且還包括軟體開發的過程。如果乙個軟體產品開發完成之後發現了很多問題,這說明此軟體開發過程很可能是有缺陷的。因此軟體測試的第三個目的是保證整個軟體開發過程是高質量的。
軟體質量是由幾個方面來衡量的:一、在正確的時間用正確的的方法把乙個工作做正確(doing the right things right at the right time.)。二、符合一些應用
標準的要求,比如不同國家的使用者不同的操作習慣和要求,專案
工程中的可維護性、可測試性等要求。三、質量本身就是軟體達到了最開始所設定的要求,而**
的優美或精巧的技巧
並不代表軟體的高質量(quality is defined as conformance to requirements, not as 「goodness」 or 「elegance」.)。四、質量也代表著它符合客戶的需要(quality also means 「meet customer needs」.)。作為軟體測試這個行業,最重要的一件事就是從客戶的需求
出發,從客戶的角度去看產品,客戶會怎麼去使用這個產品,使用過程中會遇到什麼樣的問題。只有這些問題都解決
了,軟體產品的質量才可以說是上去了。
測試人員在軟體開發過程中的任務:
1、尋找bug;
2、避免軟體開發過程中的缺陷;
3、衡量軟體的品質;
4、關注使用者的需求。
總的目標是:確保軟體的質量。
二、常用的軟體測試方法
1. 黑盒測試
黑盒測試顧名思義就是將被測系統
看成乙個黑盒,從外界取得輸入,然後再輸出。整個測試基於需求文件,看是否能滿足需求文件中的所有要求。黑盒測試要求測試者在測試時不能使用與被測系統內部結構相關的知識或經驗
,它適用於對系統的功能
進行測試。
黑盒測試的優點有:
1)比較簡單,不需要了解程式內部的**及實現;
2)與軟體的內部實現無關;
3)從使用者角度出發,能很容易的知道使用者會用到哪些功能,會遇到哪些問題;
4)基於軟體開發文件,所以也能知道軟體實現了文件中的哪些功能;
5)在做軟體自動化
測試時較為方便。
黑盒測試的缺點有:
1)不可能覆蓋所有的**,覆蓋率較低,大概只能達到總**量的30%;
2)自動化測試的復用性較低。
軟體測試
3)測試方法描述:
a. 定義測試軟體產品時使用的測試方法;
b. 描述每一種特定的測試方法可以覆蓋哪些測試範圍。
4)測試進度表:
a. 定義測試里程碑;
b. 定義當前里程碑的詳細測試進度。
5)測試資源和相關的程式經理/開發工程師:
a. 定義參與測試的人員;
b. 描述每位測試人員的職責範圍;
c. 給出與測試有關的程式經理/開發工程師的相關資訊。
6)配置範圍和測試工具:
a. 給出測試時使用的所有計算機平台列表;
b. 描述測試覆蓋了哪些硬體裝置;
c. 測試時使用的主要測試工具。
3. 測試用例開發
乙個好的測試用例就是有乙個合理的概率來找到bug,不要冗餘,要有針對性,乙個測試只針對一件事情。特別是功能測試的時候,如果乙個測試是測了兩項功能,那麼如果測試結果失敗的話,就不知道到底是哪項功能出了問題。
測試用例開發中主要使用的技術有等價類劃分,邊界值的分析,error guessing testing。
等價類劃分是根據輸入輸出條件,以及自身的一些特性分成兩個或更多個子集,來減少所需要測試的用例個數,並且能用很少的測試用例來覆蓋很多的情況,減少測試用例的冗餘度。在等價類劃分中,最基本的劃分是乙個為合法的類,乙個為不合法的類。
邊界值的分析是利用了乙個規律,即程式最容易發生錯誤的地方就是在邊界值的附近,它取決於變數的型別,以及變數的取值範圍。一般對於有n個變數時,會有6n+1個測試用例,取值分別是min-1, min, min+1, normal, max-1, max,max+1的組合。邊界值的分析的缺點,是對邏輯變數和布林型變數不起作用,還有可能會忽略掉某些輸入的組合。
error guessing testing完全靠的是經驗,所設計的測試用例就是常說的猜測。感覺到軟體在某個地方可能出錯,就去設計相應的測試用例,這主要是靠實際工作中所積累的經驗和知識。其優點是速度快,只要想得到,就能很快設計出測試用例。缺點就是沒有系統性,無法知道覆蓋率會有多少,很可能會遺漏一些測試領域。
實際上在微軟是採用一些專門的軟體或工具負責測試用例的管理,有一些測試資訊可以被記錄下來,比如測試用例的簡單描述,在哪些平台執行,是手工測試還是自動測試,執行的頻率是每天執行一次,還是每週執行一次。此外還有清晰的測試通過或失敗的標準,以及詳細記錄測試的每個步驟。
4. bug跟蹤過程
在軟體開發專案中,測試人員的一項最重要使命就是對所有已知bug進行有效的跟蹤和管理,保證產品中出現的所有問題都可以得到有效的解決。一般地,專案組發現、定位、處理和最終解決乙個bug的過程包括bug報告、bug評估和分配、bug處理、bug關閉等四個階段:
1)測試工程師在測試過程中發現新的bug後,應向專案組報告該bug的位置、表現、當前狀態等資訊。專案組在bug資料庫中新增該bug的記錄。
2)開發經理對已發現的bug進行集中討論,根據bug對軟體產品的影響來評估bug的優先順序,制定bug的修正策略。按照bug的優先順序順序和開發人員的工作安排,開發經理將所有需要立即處理的bug分配給相應的開發工程師。
基於風險測試的兩個決定因素就是:該功能出問題對使用者的影響有多大,出問題的概率有多大。其它一些影響因素還有複雜性、可用性、依賴性、可修改性等。測試人員主要根據事情的輕重緩急來決定測試工作的重點。
4. 基於模型的測試
模型實際上就是用語言把乙個系統的行為描述出來,定義出它可能的各種狀態,以及它們之間的轉換關係,即狀態轉換圖。模型是系統的抽象。基於模型的測試是利用模型來生成相應的測試用例,然後根據實際結果和原先預想的結果的差異來測試系統,過程如下圖所示。
常用軟體及使用說明
1,桌面詞典類 有道桌面詞典。還是免費的金山ciba好用 2,輸入法 google拼音輸入法。沒得說,認定了,就是它,不換了。3,截圖軟體 snagit7.2.5免費註冊版見這裡 截圖後如果要做標註,可以充分利用snagit左邊的工具。這裡有例子 比如callout工具,換成balloons方式後,...
mac iOS測試開發工作常用軟體
大部分軟體均可在該 找到,雖然部分可能會收費,但絕對正版 macupdate官網 3 omnidisksweeper 掃瞄所有資料夾,根據占用記憶體大小排序 關於ominigroup the omni group公司全方位開發應用程式僅適用於mac,iphone和ipad,開發了多款軟體,官網 4 ...
Linux啟動常用軟體命令及操作
tomcat啟動 opt tomcat apache tomcat 7.0.54 bin startup.sh tomcat 關閉 opt tomcat apache tomcat 7.0.54 bin shutdown.sh tomcat 檢視日誌先進入到logs在執行 tail f logs c...