qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          軟件測試基本流程與要求

           1、目標(biāo)

            制定完整且具體的測試路線和流程,為快速、高效和高質(zhì)量的軟件測試提供基礎(chǔ)流程框架。

            最終目標(biāo)是實(shí)現(xiàn)軟件測試規(guī)范化,標(biāo)準(zhǔn)化。

            2、測試流程說明

            3、測試需求分析

            測試需求是整個測試過程的基礎(chǔ);確定測試對象以及測試工作的范圍和作用。用來確定整個測試工作(如安排時間表、測試設(shè)計等)并作為測試覆蓋的基礎(chǔ)。而且被確定的測試需求項(xiàng)必須是可核實(shí)的。即,它們必須有一個可觀察、可評測的結(jié)果。無法核實(shí)的需求不是測試需求。所以我現(xiàn)在的理解是測試需求是一個比較大的概念,它是在整個測試計劃文檔中體現(xiàn)出來的,不是類似的一個用例或者其他.

            ·測試需求是制訂測試計劃的基本依據(jù),確定了測試需求能夠?yàn)闇y試計劃提供客觀依據(jù);

            ·測試需求是設(shè)計測試用例的指導(dǎo),確定了要測什么、測哪些方面后才能有針對性的設(shè)計測試用例;

            ·測試需求是計算測試覆蓋的分母,沒有測試需求就無法有效地進(jìn)行測試覆蓋;

            3.1、測試方法與規(guī)范

            3.1.1、測試方法

            隨著軟件技術(shù)發(fā)展,項(xiàng)目類型越來越多樣化。根據(jù)項(xiàng)目類型應(yīng)選用針對性強(qiáng)的測試方法,合適的測試方法可以讓我們事半功倍。以下是針對目前項(xiàng)目工程可以參考的測試方法:

            --β測試(beta測試)--非程序員、測試人員

            β測試,英文是Betatesting。又稱Beta測試,用戶驗(yàn)收測試(UAT)。

            β測試是軟件的多個用戶在一個或多個用戶的實(shí)際使用環(huán)境下進(jìn)行的測試。開發(fā)者通常不在測試現(xiàn)場,Beta測試不能由程序員或測試員完成。

            當(dāng)開發(fā)和測試根本完成時所做的測試,而最終的錯誤和問題需要在最終發(fā)行前找到。這種測試一般由最終用戶或其他人員完成,不能由程序員或測試員完成。

            --α測試(Alpha測試)--非程序員、測試人員

            α測試,英文是Alphatesting。又稱Alpha測試.

            Alpha測試是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測試,Alpha測試不能由該系統(tǒng)的程序員或測試員完成。

            在系統(tǒng)開發(fā)接近完成時對應(yīng)用系統(tǒng)的測試;測試后,仍然會有少量的設(shè)計變更。這種測試一般由最終用戶或其他人員來完成,不能由程序員或測試員完成。

            --兼容性測試--測試人員

            兼容性測試是指測試軟件是否可以成功移植到指定的硬件或者軟件環(huán)境中,例如在B/S項(xiàng)目中各個不同瀏覽器之間的測試。

          --用戶界面測試-UI測試  --測試人員

            用戶界面測試,英文是User interface testing。又稱UI測試。

            用戶界面,英文是User interface。是指軟件中的可見外觀及其底層與用戶交互的部分(菜單、對話框、窗口和其它控件)。

            用戶界面測試是指測試用戶界面的風(fēng)格是否滿足客戶要求,文字是否正確,頁面是否美觀,文字,圖 片組合是否完美,操作是否友好等等。UI 測試的目標(biāo)是確保用戶界面會通過測試對象的功能來為用戶提供相應(yīng)的訪問或?yàn)g覽功能。確保用戶界面符合公司或行業(yè)的標(biāo)準(zhǔn)。包括用戶友好性、人性化、易操作性 測試。

            用戶界面測試用戶分析軟件用戶界面的設(shè)計是否合乎用戶期望或要求。它常常包括菜單,對話框及對 話框上所有按鈕,文字,出錯提示,幫助信息 (Menu 和Help content)等方面的測試。比如,測試Microsoft Excel中插入符號功能所用的對話框的大小,所有按鈕是否對齊,字符串字體大小,出錯信息內(nèi)容和字體大小,工具欄位置/圖標(biāo)等等。


            --冒煙測試--版本編譯者

            冒煙測試,英文是Smoketesting。

            冒煙測試的名稱可以理解為該種測試耗時短,僅用一袋煙功夫足夠了。也有人認(rèn)為是形象地類比新電路板功基本功能檢查。任何新電路板焊好后,先通電檢查,如果存在設(shè)計缺陷,電路板可能會短路,板子冒煙了。

            冒煙測試的對象是每一個新編譯的需要正式測試的軟件版本,目的是確認(rèn)軟件基本功能正常,可以進(jìn)行后續(xù)的正式測試工作。冒煙測試的執(zhí)行者是版本編譯人員。

            --隨機(jī)測試--測試人員

            隨機(jī)測試,英文是Adhoctesting。

            隨機(jī)測試沒有書面測試用例、記錄期望結(jié)果、檢查列表、腳本或指令的測試。主要是根據(jù)測試者的經(jīng)驗(yàn)對軟件進(jìn)行功能和性能抽查。隨機(jī)測試是根據(jù)測試說明書執(zhí)行用例測試的重要補(bǔ)充手段,是保證測試覆蓋完整性的有效方式和過程。

            隨機(jī)測試主要是對被測軟件的一些重要功能進(jìn)行復(fù)測,也包括測試那些當(dāng)前的測試樣例(TestCase)沒有覆蓋到的部分。另外,對于軟件更新和新增加的功能要重點(diǎn)測試。重點(diǎn)對一些特殊點(diǎn)情況點(diǎn)、特殊的使用環(huán)境、并發(fā)性、進(jìn)行檢查。尤其對以前測試發(fā)現(xiàn)的重大Bug,進(jìn)行再次測試,可以結(jié)合回歸測試(Regressivetesting)一起進(jìn)行。

            --黑盒測試(功能測試)--測試人員

            黑盒測試,英文是BlackBoxTesting。又稱功能測試或者數(shù)據(jù)驅(qū)動測試。

            黑盒測試是根據(jù)軟件的規(guī)格對軟件進(jìn)行的測試,這類測試不考慮軟件內(nèi)部的運(yùn)作原理,因此軟件對用戶來說就像一個黑盒子。

            軟件測試人員以用戶的角度,通過各種輸入和觀察軟件的各種輸出結(jié)果來發(fā)現(xiàn)軟件存在的缺陷,而不關(guān)心程序具體如何實(shí)現(xiàn)的一種軟件測試方法。

            --性能測試

            性能測試,英文是PerformanceTesting。

            性能測試是在交替進(jìn)行負(fù)荷和強(qiáng)迫測試時常用的術(shù)語。理想的"性能測試"(和其他類型的測試)應(yīng)在需求文檔或質(zhì)量保證、測試計劃中定義。性能測試一般包括負(fù)載測試和壓力測試。

            通常驗(yàn)證軟件的性能在正常環(huán)境和系統(tǒng)條件下重復(fù)使用是否還能滿足性能指標(biāo)。或者執(zhí)行同樣任務(wù)時新版本不比舊版本慢。一般還檢查系統(tǒng)記憶容量在運(yùn)行程序時會不會流失(memoryleak)。比如,驗(yàn)證程序保存一個巨大的文件新版本不比舊版本慢。

            3.1.2、測試規(guī)范

            測試規(guī)范是根據(jù)開發(fā)規(guī)范而制定的測試標(biāo)準(zhǔn),測試規(guī)范也是后期測試用例編寫的重要依據(jù)。因?yàn)殚_發(fā)規(guī)范因公司而異,因產(chǎn)品而異,所以測試規(guī)范的標(biāo)準(zhǔn)程度每個公司都不一樣。

            從理論到方法到各類流程到各類報告模版,都屬于測試規(guī)范的范疇,當(dāng)一整套規(guī)范形成之后,可使得測試工作進(jìn)行更加穩(wěn)健,所有問題有據(jù)可查。

            3.2、軟件需求規(guī)格說明書

            軟件需求規(guī)格說明書是軟件達(dá)到的各項(xiàng)功能的目標(biāo)。是測試人員各項(xiàng)工作的依據(jù),沒有需求就無法判斷測試結(jié)果是正確的。

            3.3、軟件設(shè)計說明(概要與詳細(xì)設(shè)計)

            設(shè)計說明書包含軟件的一些框架、字段、數(shù)據(jù)庫設(shè)計等。軟件設(shè)計說明對測試工作開展有很大影響,沒有軟件設(shè)計說明很多問題將無法溯源,測試準(zhǔn)備的前期工作也是根據(jù)軟件設(shè)計說明來制定的。


          --用戶界面測試-UI測試  --測試人員

            用戶界面測試,英文是User interface testing。又稱UI測試。

            用戶界面,英文是User interface。是指軟件中的可見外觀及其底層與用戶交互的部分(菜單、對話框、窗口和其它控件)。

            用戶界面測試是指測試用戶界面的風(fēng)格是否滿足客戶要求,文字是否正確,頁面是否美觀,文字,圖 片組合是否完美,操作是否友好等等。UI 測試的目標(biāo)是確保用戶界面會通過測試對象的功能來為用戶提供相應(yīng)的訪問或?yàn)g覽功能。確保用戶界面符合公司或行業(yè)的標(biāo)準(zhǔn)。包括用戶友好性、人性化、易操作性 測試。

            用戶界面測試用戶分析軟件用戶界面的設(shè)計是否合乎用戶期望或要求。它常常包括菜單,對話框及對 話框上所有按鈕,文字,出錯提示,幫助信息 (Menu 和Help content)等方面的測試。比如,測試Microsoft Excel中插入符號功能所用的對話框的大小,所有按鈕是否對齊,字符串字體大小,出錯信息內(nèi)容和字體大小,工具欄位置/圖標(biāo)等等。


            --冒煙測試--版本編譯者

            冒煙測試,英文是Smoketesting。

            冒煙測試的名稱可以理解為該種測試耗時短,僅用一袋煙功夫足夠了。也有人認(rèn)為是形象地類比新電路板功基本功能檢查。任何新電路板焊好后,先通電檢查,如果存在設(shè)計缺陷,電路板可能會短路,板子冒煙了。

            冒煙測試的對象是每一個新編譯的需要正式測試的軟件版本,目的是確認(rèn)軟件基本功能正常,可以進(jìn)行后續(xù)的正式測試工作。冒煙測試的執(zhí)行者是版本編譯人員。

            --隨機(jī)測試--測試人員

            隨機(jī)測試,英文是Adhoctesting。

            隨機(jī)測試沒有書面測試用例、記錄期望結(jié)果、檢查列表、腳本或指令的測試。主要是根據(jù)測試者的經(jīng)驗(yàn)對軟件進(jìn)行功能和性能抽查。隨機(jī)測試是根據(jù)測試說明書執(zhí)行用例測試的重要補(bǔ)充手段,是保證測試覆蓋完整性的有效方式和過程。

            隨機(jī)測試主要是對被測軟件的一些重要功能進(jìn)行復(fù)測,也包括測試那些當(dāng)前的測試樣例(TestCase)沒有覆蓋到的部分。另外,對于軟件更新和新增加的功能要重點(diǎn)測試。重點(diǎn)對一些特殊點(diǎn)情況點(diǎn)、特殊的使用環(huán)境、并發(fā)性、進(jìn)行檢查。尤其對以前測試發(fā)現(xiàn)的重大Bug,進(jìn)行再次測試,可以結(jié)合回歸測試(Regressivetesting)一起進(jìn)行。

            --黑盒測試(功能測試)--測試人員

            黑盒測試,英文是BlackBoxTesting。又稱功能測試或者數(shù)據(jù)驅(qū)動測試。

            黑盒測試是根據(jù)軟件的規(guī)格對軟件進(jìn)行的測試,這類測試不考慮軟件內(nèi)部的運(yùn)作原理,因此軟件對用戶來說就像一個黑盒子。

            軟件測試人員以用戶的角度,通過各種輸入和觀察軟件的各種輸出結(jié)果來發(fā)現(xiàn)軟件存在的缺陷,而不關(guān)心程序具體如何實(shí)現(xiàn)的一種軟件測試方法。

            --性能測試

            性能測試,英文是PerformanceTesting。

            性能測試是在交替進(jìn)行負(fù)荷和強(qiáng)迫測試時常用的術(shù)語。理想的"性能測試"(和其他類型的測試)應(yīng)在需求文檔或質(zhì)量保證、測試計劃中定義。性能測試一般包括負(fù)載測試和壓力測試。

            通常驗(yàn)證軟件的性能在正常環(huán)境和系統(tǒng)條件下重復(fù)使用是否還能滿足性能指標(biāo)。或者執(zhí)行同樣任務(wù)時新版本不比舊版本慢。一般還檢查系統(tǒng)記憶容量在運(yùn)行程序時會不會流失(memoryleak)。比如,驗(yàn)證程序保存一個巨大的文件新版本不比舊版本慢。

            3.1.2、測試規(guī)范

            測試規(guī)范是根據(jù)開發(fā)規(guī)范而制定的測試標(biāo)準(zhǔn),測試規(guī)范也是后期測試用例編寫的重要依據(jù)。因?yàn)殚_發(fā)規(guī)范因公司而異,因產(chǎn)品而異,所以測試規(guī)范的標(biāo)準(zhǔn)程度每個公司都不一樣。

            從理論到方法到各類流程到各類報告模版,都屬于測試規(guī)范的范疇,當(dāng)一整套規(guī)范形成之后,可使得測試工作進(jìn)行更加穩(wěn)健,所有問題有據(jù)可查。

            3.2、軟件需求規(guī)格說明書

            軟件需求規(guī)格說明書是軟件達(dá)到的各項(xiàng)功能的目標(biāo)。是測試人員各項(xiàng)工作的依據(jù),沒有需求就無法判斷測試結(jié)果是正確的。

            3.3、軟件設(shè)計說明(概要與詳細(xì)設(shè)計)

            設(shè)計說明書包含軟件的一些框架、字段、數(shù)據(jù)庫設(shè)計等。軟件設(shè)計說明對測試工作開展有很大影響,沒有軟件設(shè)計說明很多問題將無法溯源,測試準(zhǔn)備的前期工作也是根據(jù)軟件設(shè)計說明來制定的。

          3.4、頁面原型(demo)

            頁面原型是項(xiàng)目人員快速熟悉項(xiàng)目的最佳路徑。在需求不夠明確,設(shè)計說明書不夠全面的情況下,頁面原型也是后期測試用例編寫思想的重要根據(jù)。

            4、測試過程設(shè)計

            明確測試目的,最終達(dá)成目的并驗(yàn)證結(jié)果是測試要做的事情。包括:

            1.測試范圍:描述本次測試中的測試范圍,如:測試軟件功能范圍、測試種類等。

            2.簡單的描述如何搭建測試平臺以及測試的潛在的風(fēng)險。

            3.項(xiàng)目信息:說明要測試的項(xiàng)目的相關(guān)資料,如:輸入輸出文檔,產(chǎn)品描述,軟件主要功能。

            4.人力資源的分配。

            5.測試需求:籠統(tǒng)說,就是測試中的所有設(shè)計和需求文檔。作為本次測試的依據(jù)

            4.1、測試策略制定

            這一階段在于需求、詳細(xì)設(shè)計、測試計劃完成之后,主要是本次測試的策略階段。很多公司少這個一個階段,需要有計劃性的分出產(chǎn)品的功能扣出測試的功能點(diǎn),現(xiàn)階段大多公司都是直接拿著文檔就開始做用例設(shè)計。

            對需求進(jìn)行分析,列出具體的功能列表。(一般根據(jù)功能交互文檔就能明確出此功能的大體功能,一層層的分下去,一直到?jīng)]個功能表單。然后考慮到使用那些測試方法?工作一旦做到執(zhí)行階段,我們可以更好的根據(jù)這些功能表一點(diǎn)一點(diǎn)的覆蓋。也能讓我們在用例評審時,充分的證實(shí)我們的工作是有效的能夠保證產(chǎn)品的質(zhì)量。)一般在此之前,一些業(yè)務(wù)培訓(xùn)和需求評審是有必要是聽一下的。這樣能夠更早更熟練的理解需求,也能保證產(chǎn)品設(shè)計中出現(xiàn)的一些誤區(qū)。

            對于一個個測試該如何進(jìn)行測試?如下:

            a)功能測試

            ---功能范圍(劃分出各自負(fù)責(zé)的功能模塊)

            ---使用測試方法(等價類、邊界值等測試方法方法)

            ---測試標(biāo)準(zhǔn)(符合設(shè)計、需求和規(guī)范文檔對該功能的描述)

            b)界面測試

            c)兼容性測試

            4.2、測試計劃

            1)要充分考慮測試計劃的實(shí)用性,即測試計劃與實(shí)際之間的接近程度和可操作性。編寫測試計劃的目的在于充分考慮執(zhí)行測試時的各種資源,包括測試內(nèi)容、測試標(biāo)準(zhǔn)、時間資源、人力資源等等,準(zhǔn)確地說是要分析執(zhí)行時所能夠調(diào)用的一切資源以及受各種條件限制,可能受到的各種影響。

            a)測試內(nèi)容:對一個軟件來說測試計劃中會明確本次測試做哪些測試?

            如:系統(tǒng)測試:在整個系統(tǒng)測試中會有(界面測試、功能測試、性能測試、兼

            容性測試、安裝卸載測試、可靠性測試等測試)。

            b)測試目的:一般多為保證產(chǎn)品質(zhì)量是否達(dá)到預(yù)期的指標(biāo)。這個指標(biāo)也就是在測試中定義的結(jié)束標(biāo)準(zhǔn)。

            c)測試標(biāo)準(zhǔn):需要考慮本次測試需要輸入那些文檔,該項(xiàng)目結(jié)束標(biāo)準(zhǔn)定義、測試結(jié)束標(biāo)準(zhǔn)的定義?bug級別定義、優(yōu)先級定義、bug管理流程定義。這個都需要在執(zhí)行測試事明確。計劃中應(yīng)該包含這些內(nèi)容。

            d)資源分配:這里分為人力資源、軟硬件資源等劃分。一般會把人力資源的利用寫入一個測試人員任務(wù)分配表里,按照不同的階段,每個階段提交相應(yīng)的成果(難度很大)。軟硬件資源中主要是在做計劃時考慮到需要多少電腦或別的工具,列出清單。

            e)測試風(fēng)險:大多考慮到的就是項(xiàng)目開發(fā)延期、測試人員不足用例無法全面覆蓋測試點(diǎn)、時間不足用例無法全部執(zhí)行、bug無法及時修改導(dǎo)致無法驗(yàn)證、測試人員技能不足導(dǎo)致測試進(jìn)度拉長。

            f)軟件測試策略一般都是分開來做相關(guān)測試方案。




          4.3、測試附件

            用例模板、缺陷報告模板

            測試環(huán)境的搭建

            缺陷管理流程和缺陷級別定義

            缺陷狀態(tài)一般分為:新建、打開、已分配、已修復(fù)、關(guān)閉、重新打開

            中間會有:延期、重復(fù)、拒絕等狀態(tài)

            缺陷管理流程:

            1.測試人員或開發(fā)人員發(fā)現(xiàn)bug后,判斷輸入哪個模塊的問題,填寫bug報告后,系統(tǒng)會自動通過Email通知開發(fā)組長和該模塊開發(fā)者。

            2.開發(fā)組長根據(jù)具體情況,重新reassigned分配給bug所屬的開發(fā)者。

            3.開發(fā)者收到email信息后,判斷是否為自己的修改范圍。

            若不是,重新reassigned分配給開發(fā)組長或應(yīng)該分配的開發(fā)者。

            若是,進(jìn)行處理,resolved并給出解決方法。(可創(chuàng)建補(bǔ)丁附件及補(bǔ)充說明)

            4.測試人員查詢開發(fā)者已修改的bug,進(jìn)行回歸測試。

            經(jīng)驗(yàn)證無誤后,修改狀態(tài)為verified。待整個產(chǎn)品發(fā)布后,修改為closed。

            還有問題,reopened,狀態(tài)重新變?yōu)?new",并發(fā)送郵件通知。

            5.如果這個bug一周內(nèi)一致沒被處理過。Bugzilla就會一直用email騷擾它的屬主,直接采取行動。管理員可以設(shè)定最遲采取行動的期限,比如3天,系統(tǒng)默認(rèn)7天。

            缺陷等級劃分:




           5、測試實(shí)施

            5.1、執(zhí)行

            開發(fā)就會轉(zhuǎn)版本給我們測試部門進(jìn)行系統(tǒng)測試了。拿到版本我們首先搭建測試環(huán)境

            做一個預(yù)測試,目的是來評斷這個版本是不是可測試的。如果預(yù)測試不通過,打回開發(fā)部返工,如果通過了,就開始我們第一輪的系統(tǒng)測試。

            第一輪系統(tǒng)測試我們會執(zhí)行我們所編寫的所有測試用例,做好測試結(jié)果的記錄,發(fā)現(xiàn)缺陷了提交缺陷報告。當(dāng)?shù)谝惠啘y試結(jié)束后,我們把所有的bug單提交給開發(fā)人員,由他們進(jìn)行修改。

            在他們修復(fù)bug期間,我們會對第一輪系統(tǒng)測試做一個測試評估,出一個測試報告。還要根據(jù)實(shí)際情況,對我們寫的測試用例進(jìn)行修改和增加。開發(fā)改bug結(jié)束,提交一個新的版本給我們,我們重新搭建測試環(huán)境開始第二輪系統(tǒng)測試。首先是回歸我們提交的缺陷報告,然后會在用例中挑選一些優(yōu)先級別比較高的用例來進(jìn)行測試,發(fā)現(xiàn)問題了繼續(xù)提交缺陷報告,只到缺陷率低于用戶要求了,我們就進(jìn)行最后一輪的回歸測試,結(jié)束系統(tǒng)測試。具痰某沙と占牽匾唬?">一個軟件測試工程師的成長日記(連載一)(圖)

        1. 自動化測試之QTP入門寶典






        2. 52

          posted on 2013-05-16 10:57 順其自然EVO 閱讀(404) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          <2013年5月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 高淳县| 东乡县| 申扎县| 南投县| 东明县| 郸城县| 阿巴嘎旗| 怀仁县| 韶关市| 尖扎县| 桂阳县| 志丹县| 靖江市| 阳新县| 磐安县| 虞城县| 茂名市| 阳江市| 莱芜市| 桓台县| 山西省| 和田县| 邹平县| 房山区| 广州市| 泊头市| 玉田县| 普安县| 达拉特旗| 英超| 缙云县| 白水县| 海宁市| 新津县| 黄大仙区| 龙岩市| 休宁县| 沂源县| 三门县| 怀宁县| 清水河县|