測試理論一

1.軟件的定義:

        是計算機系統中與硬件相互依存的另一部分,它是包括程序、文檔的完整集合

2.軟件測試的產生:

        原因一:程序規模的爆炸式增長
            程序代碼規模顯著增大
            程序結構和算法更加複雜
            程序模塊間接口增多

       原因二:在程序員與用戶需求間尋找平衡點
            他們的關注點不同
            程序員在開發過程關注:設計需求,技術內涵
            用戶關注滿足自身特定的需求。

            例子(易用性,友好):

3.軟件測試的意義:

        解放程序員和售後服務人員.軟件測試可以降低軟件質量風險,使程序員能夠更專心於解決程序的算法和效率;同時經過嚴格檢驗的完整產品也減輕了售後服務人員的工作量。

4.軟件測試概念的不同角度:

        1). 是爲了發現錯誤而執行程序的過程。
        2). 應關心程序的效率和魯棒性(健壯性)等因素。
        3). 檢驗軟件是否滿足規定的需求。
        4). 弄清預期與實際結果之間的差別。

        (所謂“魯棒性”,是英文“robust”的譯音,指強壯、健壯的意思。軟件的“魯棒性”,是指系統在一定條件下維持某些性能的特性,簡單地說,就是適應各種各樣的變化的能力。

魯棒性越強,系統精確度就愈高,性能越好。)

5.軟件測試的定義:

        :軟件測試(英語:Software Testing),描述一種用來促進鑑定軟件的正確性、完整性、安全性和質量的過程。換句話說,軟件測試是一種實際輸出與預期輸出間的審覈或者比較過程。軟件測試的經典定義是:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,並對其是否能滿足設計要求進行評估的過程。

6.成功的測試:

        1)、什麼是成功的測試用例
        答:在於發現至今未發現的錯誤。
        2)、什麼是成功的測試
        答:是發現了至今未發現錯誤的測試。
        3)、什麼是高效的測試

        答:指用少量的測試用例,發現被測軟件儘可能多的錯誤

7.測試的目的:

        測試是程序的執行過程,目的在於發現錯誤。
        確保產品完成了它所承諾或公佈的功能
        確保產品滿足性能和效率的要求

        確保產品是健壯的和適應用戶環境的

8.軟件測試活動一般包含過程:

        1)、制訂測試計劃
        2)、設計測試用例
        3)、實施測試
        4)、提交缺陷報告

        5)、測試總結

9.V模型:

        V模型和瀑布模型有一些共同的特性,V模型中的過程從左到右,描述了基本的開發 過程和測試行爲。V模型的價值在於它非常明確地標明瞭測試過程中存在的不同級別,並且清楚地描述了這些測試階段和開發過程期間各階段的對應關係。侷限性: 把測試作爲編碼之後的最後一個活動,需求分析等前期產生的錯誤直到後期的驗收測試才能發現.見下圖。

                            

       10.W模型:
         V模型的侷限性在於沒有明確地說明早期的測試,無法體現“儘早地和不斷地進行軟件測試” 的原則。在V模型中增加軟件各開發階段應同步進行的測試,演化爲W 模型(如下圖)。在模型中不難看出,開發是“V”,測試是與此並行的“V”。
        W模型是V模型的發展,強調的是測試伴隨着整個軟件開發週期,而且測試的對象不僅僅是程序,需求、功能和設計同樣要測試。測試與開發是同步進行的,從而有利於儘早地發現問題。

W模型也有侷限性。W模型和V模型都把軟件的開發視爲需求、設計、編碼等一系列串行的活動,無法支持迭代、自發性以及變更調整。見下圖。 

                        

11. X模型:
        X模型也是對V模型的改進,X模型提出針對單獨的程序片段進行相互分離的編碼和測試,此後通過頻繁的交接,通過集成最終合成爲可執行的程序。

        X模型的左邊描述的是針對單獨程序片段所進行的相互分離的編碼和測試,此後將進行頻繁的交接,通過集成最終成爲可執行的程序,然後再對這些可執 行程序進行測試。己通過集成測試的成品可以進行封裝並提交給用戶,也可以作爲更大規模和範圍內集成的一部分。多根並行的曲線表示變更可以在各個部分發生。

        X模型還定位了探索性測試,這是不進行事先計劃的特殊類型的測試,這一方式往往能幫助有經驗的測試人員在測試計劃之外發現更多的軟件錯誤。但這樣可能對測試造成人力、物力和財力的浪費,對測試員的熟練程度要求比較高。見下圖。

                        

12.H模型:
        H模型中, 軟件測試過程活動完全獨立,貫穿於整個產品的週期,與其他流程併發地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執行階段。軟件測試可以儘早的進行,並且可以根據被測物的不同而分層次進行。

H模型揭示了一個原理:軟件測試是一個獨立的流程,貫穿產品整個生命週期,與其他流程併發地進行。H模型指出軟件測試要儘早準備, 儘早執行。不同的測試活動可以是按照某個次序先後進行的,但也可能是反覆的,只要某個測試達到準備就緒點,測試執行活動就可以開展。見下圖

                                

13.以上模型的特點以及侷限性:

        1).軟件測試過程模型-V模型是軟件開發瀑布模型的變種,主要反映測試活動與分析和設計的關係;
侷限性:把測試作爲編碼之後的最後一個活動,需求分析等前期產生的錯誤直到後期的驗收測試才能發現
        2).軟件測試過程模型-W模型
在V模型的基礎上,增加開發階段的同步測試,形成W模型;測試與開發同步進行,有利用盡早的發現問題

侷限性:仍把開發活動看成是從需求開始到編碼結束的串行活動,只有上一階段完成後,纔可以開始下一階段的活動,不能支持迭代,自發性以及變更調整

        3).軟件測試過程模型-H模型

在H模型中,軟件測試過程活動完全獨立,貫穿於整個產品的週期,與其他流程併發地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執行階段;軟件測試可以進行儘早的進行;軟件測試可以根據被測物的不同而分層次進行

        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章