方法
軟件開發(fā)過程的幾個主要階段:
1)定義。明確開發(fā)的目標(biāo),軟件的需求。
2)計劃。制訂軟件開發(fā)所涉及到的計劃。
3)設(shè)計。設(shè)計、編碼、編寫文檔等,完成要求的軟件特性。
4)穩(wěn)定化。主要是測試和缺陷修復(fù),確保軟件的質(zhì)量。
5)安裝。安裝、提交完成的軟件,為客戶提供運(yùn)行環(huán)境。
幾種常用的軟件生命周期模型:
1)瀑布模型。
2)原型模型。
3)增量模型。
4)螺旋模型。
從軟件測試人員的角度來看軟件開發(fā)過程,需要注意的是:
測試貫穿在整個開發(fā)過程中,而不是在某個階段集中地做一下測試而其它階段不用理會測試工作。
一個軟件之所以被認(rèn)為為質(zhì)量優(yōu)秀,是它內(nèi)在具備了這樣一些特性:
滿足用戶的需求;
合理進(jìn)度、成本、功能關(guān)系;
具備擴(kuò)展性和靈活性,能夠適應(yīng)一定程度的需求變化;
能夠有效地處理例外的情況;
保持成本和性能的平衡。
軟件質(zhì)量保證(Software Quality Assurance-----SQA)是為了確保軟件開發(fā)過程和結(jié)果符合預(yù)期的要求而建立的系列規(guī)程,以及依照規(guī)程和計劃采取的一系列活動及其結(jié)果評審。
軟件質(zhì)量保證的活動主機(jī)包括:
技術(shù)方法的就用;
正式技術(shù)評審的實(shí)施;
軟件測試;
標(biāo)準(zhǔn)的執(zhí)行;
修改的控制;
度量;
記錄和記錄保存。
軟件錯誤的定義:
軟件錯誤是軟件產(chǎn)品中存在的導(dǎo)致期望的運(yùn)行結(jié)果和實(shí)際結(jié)果間出現(xiàn)差異的一系列問題,這些問題包括故障、失效、缺陷。
軟件測試:
軟件測試就是為了發(fā)現(xiàn)軟件中存在的錯誤而分析或執(zhí)行程序的過程。具體地說,領(lǐng)測認(rèn)為軟件測試是分析程序或根據(jù)軟件開發(fā)各階段的規(guī)格說明和各程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計出一批測試用例,并利用測試用例來運(yùn)行程序,以發(fā)現(xiàn)程序錯誤的過程。
軟件測試有兩個基本的功能:
驗(yàn)證(Verification)和確認(rèn)(Validation)。
驗(yàn)證指保證軟件正確地實(shí)現(xiàn)了特寫功能的一系列活動。
確認(rèn)指保證最終的產(chǎn)品滿足系統(tǒng)需求。
通俗的說:驗(yàn)證保證產(chǎn)品的正確性;確認(rèn)保證生產(chǎn)了正確的產(chǎn)品。
軟件測試人員應(yīng)該至少具備以下兩個關(guān)鍵領(lǐng)域方面的知識:
1)軟件測試技術(shù);
2)被測應(yīng)用程序及其相關(guān)應(yīng)用領(lǐng)域知識。
理解以下的描述:
測試能提高軟件的質(zhì)量,但是提高質(zhì)量不能依賴測試;
測試只能證明錯誤存在,不能證明錯誤不存在;
測試的主要困難是不知道該如何進(jìn)行有效地測試,也不知道什么時候能夠放心的結(jié)束測試;
>每個程序員都應(yīng)當(dāng)測試自己的程序(份內(nèi)事),但不能作為程序已通過測試的依據(jù)(所以項目需要獨(dú)立的測試人員);
80-20原則:80%的錯誤聚集在20%的模塊中,經(jīng)常出錯的模塊改錯后還是會經(jīng)常出錯;
測試應(yīng)當(dāng)循序漸進(jìn),不要企圖一次性做完。欲速則不達(dá)。
測試人員的目標(biāo)和主要工作:
目標(biāo):(1).基本目標(biāo)是發(fā)現(xiàn)軟件錯誤;
(2).要盡可能早的找出軟件錯誤;
(3).必需確保找出的軟件錯誤得以關(guān)閉。
主要工作:
1)規(guī)劃測試任務(wù)
2)設(shè)計測試(包括編寫測試用例等等)
3)建立一個合適的測試環(huán)境
4)評估、獲取、安裝和配置自動測試工具
5)執(zhí)行測試
6)撰寫適當(dāng)?shù)臏y試文檔
軟件測試的分類
1.從是否需要執(zhí)行被測試軟件的角度分:有靜態(tài)測試和動態(tài)測試。
2.從測試是否針對軟件結(jié)構(gòu)和算法的角度分類分:白盒測試和黑盒測試。
3.從測試的不同階段分:單元測試、集成測試、系統(tǒng)測試和驗(yàn)收測試四個階段。
其中系統(tǒng)測試有:功能測試、健壯性測試、性能測試、用戶界面測試、安全性測試、壓力測試、可靠性測試、安裝/反安裝測試等等。
針對某些功能作用的測試:
回歸測試:指錯誤被修正后或軟件功能、環(huán)境發(fā)生變化后進(jìn)行的重新測試。
功能測試:測試軟件的功能是否符合功能性需求,通常采用黑盒測試方式。
負(fù)載測試:測試軟件系統(tǒng)的最大負(fù)載,超出此負(fù)載軟件有可能會失常。
壓力測試:與負(fù)載測試差不多,叫法不同。
易用性測試:測試軟件是否易用,主觀性比較強(qiáng)。一般要根據(jù)用戶的反饋信息來評價。
安裝與反安裝測試:測試軟件在;全部、部分、升級;等狀況下的安裝/反安裝過程。
恢復(fù)測試:測試系統(tǒng)從故障中恢復(fù)的能力。
安全性測試:測試系統(tǒng)防止非法侵入的能力。
兼容性測試:測試系統(tǒng)與其它軟件、硬件兼容的能力。
內(nèi)存泄漏測試:測試軟件在運(yùn)行過程中是否會造成內(nèi)存泄漏。
比較測試:通過與同類產(chǎn)品比較,考察該產(chǎn)品的優(yōu)點(diǎn)、缺點(diǎn)。
Alpha測試:一種先期的用戶測試,此時系統(tǒng)剛剛開發(fā)完成。
Beta測試:一種后期的用戶測試,此時系統(tǒng)已經(jīng)通過內(nèi)部測試,大部分錯誤已經(jīng)改正,即將正式發(fā)行。同Alpha測試一樣都由用戶進(jìn)行,場地不同,Alpha測試一般是把用戶請到開發(fā)方的場地來測試,Beta測試是指在一個或多個用戶的場所進(jìn)行測試。
測試工作的主要步驟:
1)測試計劃:測試人員要首先對需求進(jìn)行分析,最終定義一個測試集合。
2)測試設(shè)計與開發(fā):根據(jù)軟件需求、說明書完成測試用例設(shè)計并編寫必要的測試驅(qū)動程序。
3)執(zhí)行測試:需要做的工作是,建立測試環(huán)境;根據(jù)前面編寫的測試計劃和測試用例運(yùn)行測試;記錄測試結(jié)果;報告軟件缺陷;跟蹤軟件缺陷直至其被處理;分析測試結(jié)果
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com