官术网_书友最值得收藏!

2.2.1 軟件測試工作的流程

在1.2節(jié)中,我們已經(jīng)講述了軟件生命周期的各個階段,那么測試的流程是什么呢?

下面來看軟件測試的流程圖,如圖2-1所示。

圖2-1 軟件測試的流程圖

以上流程為軟件測試的主要流程,根據(jù)項目的不同,會參與到其他流程中,比如評審工作。下面針對每個過程進行講解。

1.需求分析

需求分析是項目組人員(開發(fā)、測試人員)通過需求文檔對項目進行熟悉、思考,了解項目業(yè)務(wù)流程、項目環(huán)境需求、項目性能需求等相關(guān)信息,通過這個過程,增強對軟件業(yè)務(wù)的熟知和理解。項目組人員對需求分析的程度,直接影響項目的最終成果。

需求分析一般指用戶功能需求分析、軟件功能需求分析、測試功能需求分析、環(huán)境需求分析、性能需求分析。

有些人認為需求分析是沒必要的,在后期編碼的時候一起解決就可以了,而且節(jié)省時間。這種觀點是錯誤的,需求分析過程是非常重要的。

需求分析是使客戶思想變成軟件的連接橋梁,沒有或者不充分的需求分析會導(dǎo)致最后的產(chǎn)品不是用戶想要的產(chǎn)品,而且開發(fā)人員想象出來的產(chǎn)品,其實用性很有可能會大打折扣。

比如,用戶需求的功能為:(1)可以設(shè)定特價商品;(2)當(dāng)購物滿300元,享受返現(xiàn)50元的活動。

項目人員在拿到這個需求時,沒有經(jīng)過詳細地分析,就完成了此功能。當(dāng)用戶使用此功能的時候發(fā)現(xiàn),購物滿300元確實返現(xiàn)50元,但是當(dāng)買的都是特價商品或者購買的商品中有特價商品的時候也是返現(xiàn)50元。這時客戶就會再次提出,購買特價商品不算在300元內(nèi),此時要再次補充這個功能。

如果對需求進行了分析,就會發(fā)現(xiàn)還有特價商品的問題,及時和客戶進行確認,將特價商品考慮在內(nèi),并加以解決,就不會出現(xiàn)上面的問題了。

因此,項目人員一般要對項目的關(guān)聯(lián)非常熟悉,才能開發(fā)出符合用戶需求的軟件產(chǎn)品。

2.測試策劃

我們的人生需要策劃、我們的學(xué)習(xí)需要策劃、我們的工作需要策劃,軟件測試工作一樣需要策劃。

產(chǎn)品從可行性分析到最終形成發(fā)布使用的產(chǎn)品,需要一個縝密的產(chǎn)品策劃,而測試策劃就是產(chǎn)品策劃的一部分,通過測試策劃來規(guī)劃一個產(chǎn)品的所有測試工作。

有人說,測試何必那么麻煩,編碼完成拿來測試一下就可以了,有什么好策劃的?

測試策劃是對整個測試工作的規(guī)劃,通過閱讀測試策劃相關(guān)文檔,使測試相關(guān)工作人員、開發(fā)相關(guān)工作人員等項目工作人員了解測試的職責(zé)、依據(jù)、策略、內(nèi)容、時間,以及在測試工作過程中其他項目人員的工作內(nèi)容,從而能夠增強產(chǎn)品質(zhì)量,提高工作效率。測試策劃是整個軟件生命周期中測試工作執(zhí)行的基礎(chǔ)。

測試策劃的內(nèi)容包括:

● 定義、總結(jié)測試工作需求,包括用戶、開發(fā)對測試工作的需求。

● 明確項目測試過程經(jīng)歷的測試階段,以及各個測試階段通過的標(biāo)準(zhǔn)、測試類型、測試采用的工具及技術(shù)等。

● 明確項目周期測試工作中的溝通方式及溝通方案。

● 估算項目測試工作量,可以根據(jù)算法和同類項目比較得出。

● 確定項目測試過程中需要的資源(如人員、軟硬件、工作場地等)。

3.測試設(shè)計

測試設(shè)計是對測試策劃的細化和分析,從而制訂出符合待測試項目的測試策略、測試方案及測試用例的過程。此項工作內(nèi)容對測試人員的素質(zhì)及經(jīng)驗要求都很高,測試人員的素質(zhì)和經(jīng)驗直接影響測試設(shè)計,以及測試工作的質(zhì)量。

1)測試策略的設(shè)計

我們知道,在國內(nèi)軟件行業(yè)中,軟件測試團隊的組建還需要不斷地完善,那么如何合理配備軟件測試工作與研發(fā)工作呢?如果對一個大的項目進行簡單的測試,那么這個測試工作是不負責(zé)任的;對一個小的項目進行復(fù)雜的測試,同樣是不負責(zé)任的,它耗費了不必要的資源。我們要通過測試策略的設(shè)計,來合理安排測試工作與研發(fā)工作。

一個好的測試策略離不開測試人員的經(jīng)驗教訓(xùn),也離不開項目的資源(用戶和研發(fā)測試需求、測試資源配置、待測試項目的規(guī)模、類似項目測試策略參考等),通過這些資源我們可以分析待測試項目,對項目的測試工作制訂合理的測試策略。

那么從測試策略中我們能知道什么呢?

首先,在控制相應(yīng)的測試成本的情況下,是否還能達到預(yù)期的測試效果;

其次,測試活動安排是否合理;

最后,測試策略設(shè)計的技術(shù)是否可以使用,是否可以完成預(yù)期的質(zhì)量目標(biāo)。

2)測試方案設(shè)計

在測試方案設(shè)計完成后,就要針對測試策略進行進度安排,考慮資源配備、測試工作的成本,以及技術(shù)的可行性。

首先,確定每個測試階段的工作進度,在進度上要注意配合開發(fā)及市場人員工作。

其次,確定每個測試階段的工作資源(包括軟硬件、人力資源)到位時間,確定工作時間,注意項目的交替,人力資源浪費等。

最后,確定項目的技術(shù)可行性,項目技術(shù)是否可以使用,使用的成本是否符合項目成本,技術(shù)的使用能否保證工作進度等。

3)測試用例設(shè)計

測試用例設(shè)計是對測試方案的進一步細化。具體的測試用例設(shè)計,本書就不再介紹了,相關(guān)技術(shù)已經(jīng)非常成熟,可參考書籍也比較多。

4)自動化測試腳本的設(shè)計

自動化測試是提高軟件測試效率及性能等方面的技術(shù),顯然自動化測試腳本的設(shè)計是重要的一步。

自動化測試腳本的編寫依據(jù)是測試用例,一般腳本生成有兩種方法:一種是運行軟件、運行測試工具,錄制腳本,根據(jù)需求修改腳本;另外一種是完全手工編寫腳本。

4.環(huán)境搭建

環(huán)境搭建是測試工作的一個重要階段。測試環(huán)境的適用性、正確性嚴重影響測試結(jié)果的真實性和正確性。

硬件環(huán)境:服務(wù)器、客戶端、網(wǎng)絡(luò)連接設(shè)備、打印機/掃描儀等硬件設(shè)備構(gòu)成的環(huán)境,特殊項目還有其他輔助設(shè)備,如電表終端。

軟件環(huán)境:軟件運行時的操作系統(tǒng)、數(shù)據(jù)庫、其他常用應(yīng)用軟件或者定制應(yīng)用軟件,其中主測試環(huán)境和輔測試環(huán)境側(cè)重點不同。針對電子商務(wù)的Web測試還要考慮瀏覽器的環(huán)境搭配。

環(huán)境搭建遵循的原則:環(huán)境要符合軟件運行的最低要求;選用比較普遍的操作系統(tǒng)和軟件平臺;沒有病毒的環(huán)境,并且使用有效的正版殺毒軟件環(huán)境,同時要考慮對內(nèi)存的影響;電子商務(wù)Web測試要注意瀏覽器環(huán)境的搭建。

注意:在搭建環(huán)境時要注意軟件運行系統(tǒng)的產(chǎn)生方式,按程序一步一步地進行安裝。

5.測試執(zhí)行

測試執(zhí)行是依據(jù)測試設(shè)計執(zhí)行相應(yīng)的測試活動,并記錄和報告執(zhí)行過程中產(chǎn)生的錯誤和缺陷的過程,其中也包括測試設(shè)計過程中沒有包括的測試,如GUI測試。

● 測試進度控制:根據(jù)測試設(shè)計,跟蹤測試工作的進度。當(dāng)發(fā)生意外需要調(diào)整進度時,要根據(jù)成本及相應(yīng)的項目需求變更測試設(shè)計中的進度。

● 測試用例:依據(jù)測試進度執(zhí)行測試用例,并且及時修改和補充測試用例,同時要及時評審,保證補充和修改的測試用例的正確性、全面性。

● 執(zhí)行測試:根據(jù)測試設(shè)計及測試用例,在測試的各個階段執(zhí)行測試。比如:在單元測試階段中,依據(jù)單元測試用例執(zhí)行程序,驗證程序的正確性;集成測試階段,依據(jù)集成測試用例執(zhí)行系統(tǒng)程序,驗證程序接口的正確性;系統(tǒng)測試階段,依據(jù)系統(tǒng)測試用例執(zhí)行系統(tǒng),驗證系統(tǒng)是否滿足用戶需求。

● 其他測試方法的測試:在實際工作中,測試的執(zhí)行過程中會加入隨機測試、錯誤猜測法測試等開放式測試方法,以提高軟件的質(zhì)量。

● 自動化測試的執(zhí)行:依據(jù)測試進度,執(zhí)行自動化測試腳本。若項目有需求變更,則要對應(yīng)修改相應(yīng)的測試腳本。

● 測試缺陷的記錄及管理:在測試執(zhí)行過程中,及時記錄缺陷(遵循缺陷的描述規(guī)則,合理填寫缺陷的屬性),為開發(fā)人員追蹤、修改缺陷提供依據(jù);利用高效的測試工具,比如,TestDirector、Bugzilla等測試管理工具管理缺陷,對缺陷進行跟蹤、控制,并及時回歸缺陷。

6.測試總結(jié)

測試總結(jié)是在項目測試工作結(jié)束時,對整個測試工作的總結(jié),包括總結(jié)手工、自動化測試工作。另外,對項目過程的相關(guān)資料(如測試過程文檔、測試腳本、測試工作及工具使用經(jīng)驗總結(jié)等)進行收集、總結(jié),納入到測試部門的知識庫,為后期項目的測試工作提供經(jīng)驗教訓(xùn),從而提高測試工作的質(zhì)量和效率。

主站蜘蛛池模板: 通许县| 金坛市| 石城县| 宁夏| 石阡县| 龙井市| 通化县| 温州市| 宁化县| 江门市| 临清市| 林甸县| 芜湖市| 武定县| 吉木萨尔县| 通州市| 灵丘县| 叙永县| 泽州县| 边坝县| 建宁县| 广南县| 博乐市| 鲜城| 中西区| 白朗县| 克拉玛依市| 佳木斯市| 邢台县| 连南| 安达市| 讷河市| 芷江| 滨州市| 固安县| 资阳市| 江山市| 高密市| 枣阳市| 桂林市| 乌拉特前旗|