資源描述:
《第01章 軟件測(cè)試概述》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、軟件測(cè)試于繼明Email:yujiming@zjut.edu.cn第1章軟件測(cè)試概述1.1軟件、軟件危機(jī)、軟件工程1.2軟件缺陷與軟件故障1.3軟件質(zhì)量與質(zhì)量模型1.4軟件測(cè)試1.5軟件測(cè)試人員的基本素質(zhì)軟件測(cè)試是軟件工程的一個(gè)重要部分,是確保軟件工程質(zhì)量的重要手段。最近幾年來(lái),由于軟件工程的復(fù)雜度的不斷增強(qiáng),更由于軟件的工業(yè)化發(fā)展趨勢(shì),軟件測(cè)試得到廣泛的重視。1.1軟件、軟件危機(jī)、軟件工程1.1.1軟件、軟件危機(jī)、軟件工程的基本概念計(jì)算機(jī)軟件:是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合軟件危機(jī):在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇
2、到的一系列嚴(yán)重問題,軟件生產(chǎn)與市場(chǎng)需求出現(xiàn)極不適應(yīng)的嚴(yán)重現(xiàn)象軟件工程:應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程一個(gè)軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、測(cè)試、使用和維護(hù),直到最后退出使用的全過程稱為軟件生存周期。軟件生存周期根據(jù)軟件所處的狀態(tài),以及軟件開發(fā)活動(dòng)的目的和任務(wù),可劃分為若干個(gè)階段。一般軟件生存周期包括軟件定義、軟件開發(fā)、軟件測(cè)試、軟件使用與維護(hù)等幾個(gè)部分。1.1.2軟件工程的目標(biāo)及其一般開發(fā)過程1.軟件定義可行性分析的任務(wù)是了解用戶的要求及實(shí)現(xiàn)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)等幾個(gè)方面研究并論證軟件系統(tǒng)的可行性。需求分析的任務(wù)是確定所要開發(fā)軟件的功能需求、性
3、能需求和運(yùn)行環(huán)境約束,編制軟件需求規(guī)格說(shuō)明、軟件系統(tǒng)的確認(rèn)測(cè)試準(zhǔn)則。軟件的性能需求包括軟件的適應(yīng)性、安全性、可靠性、可維護(hù)性錯(cuò)誤處理等。2.軟件開發(fā)軟件開發(fā)是按照需求規(guī)格說(shuō)明的要求,由抽象到具體,逐步生成軟件的過程。軟件開發(fā)一般由設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試等階段組成。3.軟件測(cè)試軟件需經(jīng)過嚴(yán)密的測(cè)試,以發(fā)現(xiàn)軟件在整個(gè)設(shè)計(jì)過程中存在的問題并加以糾正。整個(gè)測(cè)試過程分單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試以及驗(yàn)收測(cè)試四個(gè)階段進(jìn)行。測(cè)試的方法主要有白盒測(cè)試和黑盒測(cè)試。4.軟件使用和維護(hù)軟件的使用是在軟件通過測(cè)試后,將軟件安裝在用戶確定的運(yùn)行環(huán)境中移交給用戶使用。軟件的維護(hù)是對(duì)軟件系統(tǒng)進(jìn)行修改或?qū)?/p>
4、軟件需求變化做出反應(yīng)的過程。1.1.3可供選擇的軟件過程模型軟件開發(fā)過程中存在各種復(fù)雜因素,為了解決由此而帶來(lái)的種種問題,軟件開發(fā)者們經(jīng)過多年的摸索,給出了多種實(shí)現(xiàn)軟件工程的方式——軟件過程模型,如瀑布過程模型、螺旋過程模型和增量過程模型等。1.瀑布過程模型瀑布過程模型反映了人們?cè)缙趯?duì)軟件工程的認(rèn)識(shí)水平,是人們所熟悉的一種線性思維的體現(xiàn)。瀑布過程模型強(qiáng)調(diào)階段的劃分及其順序性、各階段工作及其文檔的完備性,是一種嚴(yán)格線性的、按階段順序的、逐步細(xì)化的開發(fā)模式,如圖1-1所示。圖1-1瀑布過程模型2.螺旋過程模型螺旋過程模型的基本思路是,依據(jù)前一個(gè)版本的結(jié)果構(gòu)造新的版本,這個(gè)
5、不斷重復(fù)迭代的過程形成了一個(gè)螺旋上升的路徑,如圖1-2所示。圖1-2螺旋過程模型3.增量過程模型有些時(shí)候可能會(huì)用一種幾乎連續(xù)的過程小幅度地推進(jìn)項(xiàng)目,這就是增量過程模型,如圖1-3所示。圖1-3增量過程模型4.快速原型過程模型快速原型過程模型首先是快速進(jìn)行系統(tǒng)分析,?在設(shè)計(jì)人員和用戶的緊密配合下,快速確定軟件系統(tǒng)的基本要求,盡快實(shí)現(xiàn)一個(gè)可運(yùn)行的、功能簡(jiǎn)單的原型系統(tǒng),然后通過對(duì)原型系統(tǒng)逐步求精,不斷擴(kuò)充完善得到最終的軟件系統(tǒng)。1.2軟件缺陷與軟件故障1.什么是軟件缺陷和軟件故障軟件缺陷是存在于軟件(文檔、數(shù)據(jù)、程序)之中的那些不希望或不可接受的偏差。其結(jié)果是軟件運(yùn)行于某一
6、特定條件時(shí)出現(xiàn)軟件故障,這時(shí)稱軟件缺陷被激活。軟件故障是指軟件運(yùn)行過程中出現(xiàn)的一種不希望或不可接受的內(nèi)部狀態(tài),此時(shí)若無(wú)適當(dāng)措施(容錯(cuò))加以及時(shí)處理,便產(chǎn)生軟件失效。2.軟件缺陷和軟件故障案例1.美國(guó)迪斯尼公司獅子王游戲軟件兼容性問題2.美國(guó)航天局火星登陸事故3.跨世紀(jì)“千年蟲”問題4.愛國(guó)者導(dǎo)彈防御系統(tǒng)5.“沖擊波”計(jì)算機(jī)病毒6.Windows2000中文輸入法漏洞7.金山詞霸出現(xiàn)的錯(cuò)誤軟件復(fù)雜性交流不夠、交流上有誤解或者根本不進(jìn)行交流程序設(shè)計(jì)錯(cuò)誤需求變化時(shí)間壓力代碼文檔貧乏軟件開發(fā)工具3.軟件產(chǎn)生錯(cuò)誤的原因1.3軟件質(zhì)量與質(zhì)量模型軟件質(zhì)量是軟件的生命,它直接影響軟件
7、的使用與維護(hù)。通常軟件質(zhì)量由以下幾方面進(jìn)行評(píng)價(jià)。①軟件需求是衡量軟件質(zhì)量的基礎(chǔ),不符合需求的軟件就不具備質(zhì)量。設(shè)計(jì)的軟件應(yīng)在功能、性能等方面都符合要求,并能可靠地運(yùn)行。②軟件結(jié)構(gòu)良好,易讀、易于理解,并易于修改、維護(hù)。③軟件系統(tǒng)具有友好的用戶界面,便于用戶使用。④軟件生存周期中各階段文檔齊全、規(guī)范,便于配置、管理。軟件的質(zhì)量因素很多,如正確性、精確性、可靠性、容錯(cuò)性、性能、效率、易用性、可理解性、簡(jiǎn)潔性、可復(fù)用性、可擴(kuò)充性、兼容性等。軟件質(zhì)量因素也稱為軟件質(zhì)量特性,反映了質(zhì)量的本質(zhì)。討論一個(gè)軟件的質(zhì)量,問題最終要?dú)w結(jié)到定義軟件的質(zhì)量特性。面對(duì)眾多的質(zhì)