qileilove

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

          基于需求的軟件測試

          ● 目的:保證需求質(zhì)量

            ● 手段:針對需求開展測試設(shè)計

            ● 測試設(shè)計面臨的挑戰(zhàn):

            1、測試準則不確定(測試是比較預(yù)期結(jié)果與實際結(jié)果的過程,預(yù)期結(jié)果最了解的人群是開發(fā)、需求人員還是客戶?答案未知,但是如果需求的質(zhì)量更高些的話,會更利于更準確的知道預(yù)期結(jié)果)

            2、測試無窮盡:要用少的用例覆蓋盡可能多的需求,如何挑選合適的用例顯得尤其重要

            3、用例執(zhí)行pass是否真正代表對應(yīng)場景或功能就pass =>缺陷隱藏效應(yīng)證明不一定,那么在挑選用例時如何做到,RBT會有所考慮

            RBT是如何實現(xiàn)上面所提挑戰(zhàn)的?

            ● 為什么要基于需求來開展測試?

            1、導(dǎo)致軟件失敗的原因如下:

            a)需求不完整

            b)需求多變

            c)需求缺少來自用戶的實際輸入

            從而導(dǎo)致僅有60%~70%的需求交付量,且此其中50%左右的需求未被使用過,而開發(fā)團隊針對這些未使用過的需求,投入了大量精力,存在一定程度的浪費。

            2、BUG分析缺陷來自哪個階段?=>60%來源于需求階段(怎么有效區(qū)分BUG是哪個階段?)

            ● RBT解決的是偏重型的測試問題(考慮項目的可適用性),是針對每條需求進行分析設(shè)計

            ● RBT倡導(dǎo)的思維是先測試,再構(gòu)建

            ● RBT過程兩大步:需求模糊度分析、因果圖方法進行測試設(shè)計

            1、需求模糊度分析

            實際是分析需求是可測試的、可觀察可觸發(fā)的、結(jié)果是確定的(結(jié)果是確定的指:給定輸入后,能準確得出其唯一的結(jié)果,對于輸入A,結(jié)果為C,再次輸入A,結(jié)果為B的情況則是不符合“結(jié)果是確定的”原則。當出現(xiàn)這種情況,則需求是肯定有問題的)

            2、因果圖方法進行測試設(shè)計,以下是幾類設(shè)計方法的對比分析

            a)根據(jù)用戶實際使用場景、環(huán)境參數(shù)來設(shè)計用例的情況:30%左右的覆蓋不樂觀,且異常考慮不充分,依賴時間的場景無法覆蓋

            b)依據(jù)直覺進行設(shè)計的情況:依賴測試者經(jīng)驗,覆蓋不確定,只能代表執(zhí)行過的是OK,不能證明其完整覆蓋度

            c)組合測試設(shè)計的情況:所有場景組合全部覆蓋,量太大

            d)因果圖方法設(shè)計的情況:借鑒了硬件領(lǐng)域的一些工程算法,覆蓋率高

            ● RBT方法選擇用例的標準:

            1、體現(xiàn)變量間的各種邏輯關(guān)系

            2、體現(xiàn)每個變量各種狀態(tài)間的約束

            3、考慮各節(jié)點的可觀察性,如下面的例子

            例子:

            A、B、D、E全為T,C、F、G均為True,假定當A恒為False的缺陷存在時,直接通過對G的觀察是無法發(fā)現(xiàn)此缺陷的,因為C、F是不可觀察的

            4、需測試哪些功能塊


           ● RBT過程12步驟(12步記錄不全)

            1、分析為什么要做這個需求?(如同敏捷測試中要求一樣,即:需求來自于哪里?用戶是什么樣的群體?基于什么原因提出這樣的需求?要解決什么樣的問題?有無其它可替代方案來解決?是否一定要做這樣的需求?

            2、用場景分析方法來分析需求的應(yīng)用情況

            3、進行模糊度分析,即:識別不清晰、不完整、疑惑點的地方(此點更期望是不了解需求的人來做,而非專家)

            4、領(lǐng)域?qū)<疫M行更深層次的審視

            5、針對需求建模,理出所有業(yè)務(wù)邏輯,采用因果圖方法

            6、用工具檢查邏輯不一致問題,可能是需求本身的問題,也可能是建模的問題

            7、工具自動生成用例(此處的用例可以理解為是測試驗證點,而非具體的測試數(shù)據(jù))

            8、確認生成的用例是否正確(此處有一個個人問題:既然自動生成的用例已經(jīng)是很精簡了,再進行評審怎么保證評審出的問題是否需要補充到用例的?=>答案:評審的目的一是確認是否正確理解了規(guī)則與需求,二是通過評審問題反向識別出需求遺漏的場景(如果可能,要求客戶對需求進行review是最合適的)

            9、設(shè)計編碼階段,用生成的用例進行驗證

            ● RBT工具用途(記錄了一些,不全)

            1、自動生成測試用例

            2、自動生成兩張表單:因與果清單、規(guī)則VS用例覆蓋率的對照表(“X”表示多個用例覆蓋此規(guī)則,“#”表示1個用例覆蓋此規(guī)則)

            3、生成測試統(tǒng)計數(shù)據(jù)

            4、自動反向生成較規(guī)范的需求文檔,適用場景:a、review需求時發(fā)現(xiàn)的問題確認后,不會更新需求,通過自動生成更新得到全集;b、敏捷項目中適用,項目結(jié)束后形成需求與用例的匹配

            5、生成用例過程中自動進行功能邏輯一致性校驗,并給出提示,如同開發(fā)程序編譯時的錯誤提示

            6、維護過程會考慮對原有用例的最大程度復(fù)用

            7、告訴你可優(yōu)先執(zhí)行哪些用例

            8、支持快速設(shè)計(推薦在配置測試中使用,如移動領(lǐng)域測試環(huán)境支持驗證,可生成基礎(chǔ)用例)

            9、可定義節(jié)點間的狀態(tài)、約束,以便生成的用例是可執(zhí)行或真實的組合,對于不可執(zhí)行的用例前面會有“I”標識,點擊后會顯示原因

          posted on 2013-06-04 10:28 順其自然EVO 閱讀(501) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄defalut managerment system 缺陷管理系統(tǒng)

          <2013年6月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 汶上县| 汕头市| 祁门县| 大港区| 恩施市| 邳州市| 平武县| 沂水县| 班戈县| 虹口区| 张家界市| 怀柔区| 富锦市| 通州区| 长武县| 三原县| 涪陵区| 连州市| 博罗县| 汝州市| 霞浦县| 五寨县| 崇礼县| 云南省| 寿光市| 深水埗区| 达日县| 古丈县| 台安县| 威远县| 深州市| 淅川县| 阿拉尔市| 麻城市| 于田县| 铁力市| 安徽省| 万安县| 周口市| 邓州市| 洛宁县|