qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          軟件測試-概念匯總

           第一單元
            1、為何軟件缺陷難以避免?試談談你的觀點。
            答:軟件需求分析不夠全面 準確是導致軟件缺陷的最主要原因,需求分析,軟件設計和編碼的過程中的失誤也會導致軟件缺陷.  各種操作系統、各種硬件、各種軟件都可能對所編制的軟件造成影響。編制軟件時不可能把所有的環境狀態都拿來測試。所以就會出現某些情況下的不兼容,也就是BUG(漏洞)。
            2、測試和調試有何不同?區別?
            答:測試是一個有計劃、可重復的過程,目的是為了發現軟件中的潛在錯誤和缺陷;而調試是一個隨機的、不可重復的過程,目的是尋找錯誤的原因和具體位置,并修復錯誤。調試一般在測試后進行,當然,調試之后很可能又要進行測試,所以兩者常交叉進行。
            第二單元
            3、軟件測試可分為哪幾類?
            答:1>按開發階段,軟件測試可劃分為單元測試、集成測試、確認測試、系統測試和驗收測試。2>按照實施測試的組織,可將測試分為α測試、β測試和第三方測試。3>根據測試實施策略的不同,軟件測試可分為白盒測試黑盒測試和灰盒測試。4>根據軟件測試的執行方式,可將軟件測試分為靜態測試和動態測試兩種。5>按其他測試方法和技術,軟件測試可劃分為回歸測試、迭代測試、功能測試性能測試、安全性測試、可靠性測試、兼容性測試、可移植性測試、冒煙測試、用戶界面測試、隨機測試、引導測試、本地化測試等。
            4、α測試和β測試的含義分別是什么?兩者有何區別和聯系?
            答:1>α測試屬于開發方進行的測試,指軟件開發組織公司內部人員模擬各類用戶對即將交付的軟件產品進行測試,以發現其中的錯誤并改正。β測試是用戶進行的測試。2>α測試的目的是評價軟件產品的FLURPS,即功能、局域化、可使用性、可靠性、性能和支持,尤其注重產品的界面和特色。經過α測試調整的軟件產品稱為β版本。β測試的目的在于幫助開發方在正式發布軟件產品前對其進行最后的改進。β測試一般在α測試之后進行,是由于大量用戶在實際操作環境下對軟件的β版本進行的測試。(或者:α測試是開發公司內部人員模擬各類用戶所進行的軟件產品測試 β測試是用戶進行的測試,但是不同于驗收測試即決定是否接受軟件并不是β測試的目的. β測試的目的幫助開發方在產品發布前做最后的改進.
            兩者的測試人員不同目的不同.聯系: α測試調整的軟件產品是β測
            第三單元
            5、白盒測試、黑盒測試、灰盒測試三者有何區別?
            答:白盒測試,又稱結構測試或者邏輯驅動測試,其代碼對測試人員可見;黑盒測試,又稱功能測試或者數據驅動測試,其代碼對測試人員不可見。灰盒測試是介于白盒測試和黑盒測試之間的測試。
            6、H模型倡導的理念是什么?它為何能彌補W模型的不足?
            答:將測試活動完全獨立出來,形成一個完整獨立的流程,以將測試準備活動和測試執行活動清晰地體現出來。
            H模型中,軟件測試不僅指測試的執行,還包括測試的準備等活動;軟件測試是一個獨立的流程,可貫穿到軟件產品整個生命周期中的任一流程,與之并發地進行;只要某個測試達到準備就緒點,測試執行活動就可以開展;不同的測試活動可以是按照某個次序先后進行的,也可能是反復的。
            這克服了W模型要求軟件的開發過程中需求分析、設計、編碼等活動串行而帶來的不足
            第四單元
            8、白盒測試的含義是什么?有何優缺點?
            白盒測試也稱結構測試,邏輯測試,驅動測試或基于程序本身的測試。
            優點:與黑盒測試相比,白盒測試深入到程序的內部進行測試,更由于定位錯誤的原因和具體位置,擬補了
            你黑盒測試只能從程序外不進行測試的不足。
            白盒測試不能查出程序的設計缺陷。不能查出程序是否遺漏了功能或路徑。發現不了一些與數據相關的錯誤。
            第五單元
            9、單元測試的依據是什么?進行單元測試的目的何在?
            答:1>單元測試的依據是軟件的詳細設計描述、源程序清單、編碼標準等。2>1.驗證代碼能否達到詳細設計的預期要求;2.發現代碼中不符合編碼規范的地方;3.準確定位發現的錯誤,以便排出錯誤.
            10、驅動模塊和樁模塊的含義分別是什么?在單元測試中,一定要開發驅動模塊和樁模塊嗎?為什么?
            答:1>驅動模塊式用來代替被測試單元的上層模塊的.驅動模塊能接收測試數據,調用被測單元,也就是將數據傳遞給被測單元,最后打印測試的執行結果。 樁模塊,又稱存根模塊,它用來代替被測單元的子模塊.其目的是模擬現實被測試單元的接口。2>不一定要開發驅動模塊和樁模塊,由于驅動模塊和樁模塊不是最終可提交的模塊,所以在進行單元測試時應盡量避免開發驅動模塊和樁模塊。
          1、單元測試應主要從哪些方面對被測單元進行檢查?
            答:單元測試應主要從單元接口、局部數據結構、獨立路徑、出錯處理、邊界條件幾個方面對被測單元進行檢查。
            12、在單元測試的動態測試活動中,白盒和黑盒測試方法測試用例的使用有什么樣的關系?試談談你的觀點。
            答:白盒為主,黑盒為輔。
            第六單元
            13、集成測試的測試對象是什么?
            答:集成測試的測試對象包括單元間的接口,以及集成后的功能和性能(其中以對功能的測試為主)。
            14、自底向上集成方法的優缺點分別是什么?
            優點:
            (1)大大減少了樁模塊的開發,雖然需要開發大量的驅動模塊,但其開發成本畢竟比開發樁模塊的成本小。
            (2)涉及復雜算法和真正輸入/輸出的模塊往往在底層,它們最容易出現問題的模塊,最先對底層的模塊進行測試,減少了回歸測試的成本。當然,若在集成測試后期又對底層模塊進行修改,則必須對其上層模塊進行回歸測試,但這樣的情況畢竟是少數。
            (3)在集成的早期很可能實現對模塊的并行測試,這提高了集成測試的效率。
            (4)支持故障隔離。
            缺點:
            (1)需要開發大量的驅動模塊,故帶來一定的測試成本。但通過對底層模塊的復用可以減少驅動模塊的開發。
            (2)不能及早的發現和修復模塊結構中的主要控制點存在的問題,在集成的后期修復此類問題將花費較大的成本,故此法不適合于那些控制結構對整個體系至關重要的軟件產品。
            (3)隨著測試的逐步推進,組裝的系統愈加復雜,對底層模塊的異常很難測試到。
            第七單元
            15、性能測試主要包括哪幾種類型?分別解釋它們的含義?
            答:1>壓力測試,負載測試,疲勞測試,強度測試,容量測試。2>1.壓力測試是改變應用程序的輸入,以對應用程序施加越來越大的負載,通過綜合分析交易執行指標和資源監控指標,評測和評估應用系統在不同負載條件下的性能行為。2.疲勞測試是采用系統穩定運行情況下能夠支持的最大并發用戶數。3.強度測試強度測試的目的是找出因資源不足或資源爭用而導致的錯誤。4.容量測試容量測試通常與數據庫有關,其目的在于使系統承受超額的容量來確定系統的容量瓶頸,進而優化系統的容量處理能力。
            16、用戶界面測試、文檔測試及安裝測試的目的的分別是什么?
            答:1.用戶界面測試的目的是圖形用戶界面的正確性、易用性和視覺效果。2.文檔測試的目的是提高易用性和可靠性,降低技術支持費用,盡量使用戶通過文檔自行解決問題。3.安裝測試的目的是確認安裝程序能夠正確運行,軟件安裝是否正確,軟件安裝后能夠正常運行。
            17、何時應進行回歸測試?回歸測試的作用是什么?
            答:1.系統測試階段應進行回歸測試。2.回歸測試就是重新運行現有測試用例測試原有功能,以便確定變更是否達到了預期的目的,檢查變更是否損害了原有的正常功能。每當軟件發生變化時就應進行回歸測試。
            18、在不斷進行回歸測試的過程中,如何對測試用例庫進行維護?
            答:隨著軟件的改變,測試用例庫中的一些測試可能會推動針對性和有效性,還有一些測試用例將完全不能運行,必須刪除測試用例庫中這一類測試用例。
            同時,被修改的或新增加的軟件功能,僅僅靠重新運行以前的測試用例不足以揭示其中的問題,有必要追加新的測試任命來測試這些新的功能或特征。因此,測試用例庫的維護工作還應包括開發新測試用例。
            此外,隨著項目的發展,測試用例庫中的用例會不斷增加,其中會出現一些對輸入或運行狀態十分敏感的測試用例。這些測試不容易重復且結果難以控制,會影響回歸測試的效率需要進行改進,使其達到可重復和可控制的要求。

           第八單元
            19、面向對象軟件的測試模型主要包括哪幾種測試?它們的執行順序如何?
            答:基于狀態的類測試、基于UML的類測試、基于數據流的類測試、基于規范的類測試、基于方法序列的類測試
            20、為什么說面對象軟件的最小可測試單元不是單個方法,而是類或對象?
            答:類是對若干方法和數據進行封裝后形成的模塊 對象的狀態不僅僅取決于方法 還取決于該對象之前的狀態即它的各屬性的取值。因此面向對象軟件的單元測試不能脫離類中的數據僅對方法進行測試 最小可測試單元不是單個方法而是類或對象。
            21、類測試關注的內容是什么?
            答:類測試關注的內容主要為 對類中單個方法的測試 即測試類中的單個方法能否在消息的觸發下實現正確的狀態轉移 對類中方法間協作的測試 即測試類中的方法是否能夠通過對象的狀態正確地通信。

          posted on 2013-11-01 10:48 順其自然EVO 閱讀(225) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2013年11月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 水城县| 扎兰屯市| 清远市| 衡阳市| 龙州县| 安龙县| 吴江市| 句容市| 东乌| 岱山县| 潞西市| 鹰潭市| 云梦县| 徐州市| 苏州市| 长岛县| 临泉县| 铅山县| 江陵县| 武宣县| 上饶市| 维西| 台中县| 麦盖提县| 专栏| 巧家县| 东兴市| 嵊泗县| 白银市| 师宗县| 县级市| 武夷山市| 泾源县| 麟游县| 郸城县| 临夏市| 扬州市| 江西省| 龙门县| 山丹县| 维西|