軟件測試基礎
1)什么是軟件測試?
軟件測試是通過手工或自動化的手段運行或測定被測對象是否滿足所對應的需求;被測對象包括需求分析、設計規(guī)格說明書,系統(tǒng)編碼等;在測試過程中,要根據(jù)相應的規(guī)格說明書設計一組測試用例,通過對測試用例的執(zhí)行來發(fā)現(xiàn)系統(tǒng)中相應的錯誤保證軟件質(zhì)量的一項活動。
2)軟件生命周期是什么?
、.項目規(guī)劃
、.需求定義分析
、.軟件設計
、.程序編碼
⑤.軟件測試
、.運行維護
3)軟件測試目的是什么?
、.發(fā)現(xiàn)系統(tǒng)的錯誤
②.驗證系統(tǒng)是否滿足需求
、.保障產(chǎn)品質(zhì)量
、.改進開發(fā)進程
4)軟件缺陷(bug)與軟件錯誤(error)的區(qū)別和聯(lián)系?
區(qū)別:軟件缺陷是存在于軟件之中的不希望或者不可接受的偏差,而軟件錯誤是由于人為的原因產(chǎn)生的錯誤。缺陷是在軟件中抽象存在的,而錯誤是人的行為問題。
聯(lián)系:由于人的錯誤行為,在設計或者編碼過程中的失誤,導致了軟件內(nèi)部的缺陷。人為錯誤是引發(fā)軟件缺陷的直接原因。一個軟件錯誤必定引發(fā)一個或多個軟件缺陷。
5)軟件測試如何改進軟件開發(fā)過程?
軟件測試和軟件開發(fā)是不同的兩個過程,但是通過軟件測試發(fā)現(xiàn)軟件的缺陷,然后通過缺陷的分析確定錯誤產(chǎn)生的原因從而發(fā)現(xiàn)軟件開發(fā)過程中存在的缺陷。同時通過對測試結果的分析整理,還可以修正軟件開發(fā)規(guī)則。因此,軟件測試在一定程度上可以改進軟件開發(fā)流程。
6)分析“軟件測試沒有什么技術含量,不就是點擊按鈕,對系統(tǒng)進行操作嗎?”。
分析:在上述問題中只所以出現(xiàn)這樣的言論,是對軟件測試理解的片面性和對軟件測試理解的偏激造成的。對于一個規(guī)范的軟件測試過程包括了軟件測試的計劃、系統(tǒng)分析、測試設計、開發(fā)等技術。軟件測試是一個發(fā)現(xiàn)軟件缺陷的過程,要想發(fā)現(xiàn)軟件缺陷必須對被測對象有足夠的了解,而不是簡單的對被測對象的執(zhí)行,更不是只是點擊“按鈕”。這里邊包括了如何設計測試場景、測試數(shù)據(jù)、測試執(zhí)行等過程。同樣的通過軟件測試發(fā)現(xiàn)系統(tǒng)的問題,通過問題的改進可以提高軟件產(chǎn)品的質(zhì)量,贏得用戶的口碑,從而提高產(chǎn)品的市場競爭力,提高公司的利益。因此軟件測試是一項非常有意義的關系公司存亡的活動。
7)軟件測試對象包括什么?
、.需求規(guī)格說明
②.概要設計規(guī)格說明
、.詳細設計規(guī)格說明
、.源程序
、.系統(tǒng)
、.用戶手冊
、.幫助文檔
8)主要的軟件測試手段分別是什么,如何理解?
軟件的測試手段包括驗證和確認;驗證是對前一個階段的驗證;確認是對原始開發(fā)需求的確認,任何一個階段的確認都應追溯到需求。
9)軟件測試的原則包括那些方面?
、.盡早的不斷的測試
、.測試過程中要設計測試用例
、.程序員避免檢查自己的程序
④.徹底測試是不可能的
、.測試應追溯到需求
⑥.從“小規(guī)!钡健按笠(guī)!
、.注意群集現(xiàn)象
⑧.嚴格執(zhí)行測試計劃
⑨.測試結果進行全面檢查
、.測試維護
10)軟件測試的局限性包含哪些?
11)為什么說軟件測試不能保證軟件質(zhì)量
高質(zhì)量的軟件不是測試出來的,而是開發(fā)出來的;軟件測試是保證軟件質(zhì)量的手段之一,不是唯一手段。要想提高軟件質(zhì)量必須提高開發(fā)質(zhì)量。
12)常見的軟件測試模型有哪些,分別具有什么樣的特點?
測試中常見的模型有V、W、H、X等模型;
其特點如下:
、.V模型適用于產(chǎn)品,描述的是開發(fā)和測試的對應過程
、.W模型是V模型,強調(diào)的是針對需求,設計的測試
、.V、W模型不支持迭代
④.x模型增加了探索性測試
13)什么是V(或者W模型),它的特點是什么?
V模型是軟件測試的一個基礎應用模型,包括了軟件開發(fā)和軟件測試的兩個階段,并且兩個階段是串行的,V模型的左邊是:需求分析、概要設計、詳細設計、編碼;右邊包括:“單元測試”、“集成測試”、“系統(tǒng)測試”、“確認測試”和“驗收測試”。
V模型的特點:
①.測試對象是程序本身
、.實際應用中容易導致需求階段的錯誤一直到最后系統(tǒng)測試階段才被發(fā)現(xiàn)
、.測試深度高
、.評審深度低
14)什么是敏捷開發(fā)和敏捷測試?他們的特點是什么?
敏捷開發(fā):敏捷開發(fā)是一種以人為核心、迭代、循序漸進的開發(fā)方法。在敏捷開發(fā)中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經(jīng)過測試,具備集成和可運行的特征。換言之,就是把一個大項目分為多個相互聯(lián)系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態(tài)。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦:
【考試吧整理】計算機等級考試各科目歷年真題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |