<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            軟件測試中的基于狀態(tài)轉換測試

            發(fā)布: 2010-9-21 09:51 | 作者: 網(wǎng)絡(luò )轉載 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 102次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

            軟件測試中的基于狀態(tài)轉換的測試

            世間萬(wàn)物,緣起緣滅,每天都在經(jīng)歷著(zhù)各種各樣的狀態(tài)轉換。

            作為一個(gè)測試人員,在工作過(guò)程中,經(jīng)常會(huì )碰到軟件中事物具有多個(gè)狀態(tài),各個(gè)狀態(tài)在滿(mǎn)足某些條件時(shí),實(shí)現狀態(tài)的轉換。

            軟件中事物狀態(tài)間的轉換一般可分為兩類(lèi):一類(lèi)是各個(gè)狀態(tài)之間轉換有一定的序列關(guān)系,如工作流,必須先發(fā)生A狀態(tài),才能到B狀態(tài),狀態(tài)A和B之間有先后順序;一類(lèi)是各個(gè)狀態(tài)是并列關(guān)系,各個(gè)狀態(tài)間可以相互轉換,如狀態(tài)C和D,可以由C轉換成D,也可以由D轉換成C。這兩種類(lèi)型的狀態(tài)轉換,都需要注意用戶(hù)角色權限。

            所謂狀態(tài)轉換的測試,是指在測試過(guò)程對于軟件中事物狀態(tài)的轉換,我們需要模擬使狀態(tài)發(fā)生轉換的各種用戶(hù)操作場(chǎng)景,以及通過(guò)一些非正常手段來(lái)校驗不允許發(fā)生的狀態(tài)流轉;旧蠈顟B(tài)轉換的測試,我們設計的用例需要涵蓋允許的狀態(tài)轉換和不允許的狀態(tài)轉換、以及用戶(hù)角色權限的校驗。

            對于那些只有2個(gè)狀態(tài)轉換的情況,往往在基于主流程或備選流程的用例中添加狀態(tài)校驗項來(lái)實(shí)現;而對于那些有復雜的流轉過(guò)程或者有多種狀態(tài)的情況,只是通過(guò)用例中添加的狀態(tài)校驗項來(lái),很容易遺漏狀態(tài)的轉換關(guān)系,更主要的各個(gè)狀態(tài)的轉換被拆分到各個(gè)功能模塊的用例中,非常的零碎,如果希望就針對狀態(tài)轉換的一個(gè)回歸,篩選用例將會(huì )是一件非常麻煩的事情,而不存在的狀態(tài)轉換校驗則沒(méi)有辦法體現,由此我們很是需要專(zhuān)門(mén)針對狀態(tài)的流轉做一個(gè)測試設計。

            無(wú)論是序列關(guān)系還是并列關(guān)系的狀態(tài)轉換,我們都可以從需求說(shuō)明書(shū)(PRD)中獲取狀態(tài)的流轉信息,為了更清晰的描述這種狀態(tài)流轉,我們可以通過(guò)狀態(tài)圖來(lái)表達。有了狀態(tài)圖,我們就可以從用戶(hù)使用的角度、結合用戶(hù)的實(shí)際需求去考慮,這些狀態(tài)的流轉是否符合用戶(hù)的操作習慣,檢查是否有冗余或者缺失的狀態(tài);程序的實(shí)現是否可以讓用戶(hù)操作盡可能的簡(jiǎn)單易用;狀態(tài)流轉路徑末端節點(diǎn)是否是終結狀態(tài),終結狀態(tài)是否存在逆向的狀態(tài)流轉。

            下面就這兩種類(lèi)型的進(jìn)行實(shí)例說(shuō)明。

            序列關(guān)系的狀態(tài)轉換:spu編輯狀態(tài)的轉換。

            Spu編輯狀態(tài)的轉換,是一個(gè)有序的過(guò)程,在一個(gè)生命周期內,某個(gè)狀態(tài)下,滿(mǎn)足要求才會(huì )流轉到下一個(gè)狀態(tài),大部分狀態(tài)的流轉是單向的,任意一個(gè)狀態(tài)流轉分支都是從初始狀態(tài)出發(fā),到終結狀態(tài)終止。

            并列關(guān)系的狀態(tài)轉換:商品狀態(tài)的轉換。

            商品各個(gè)狀態(tài)間的轉換,也有起始狀態(tài)和終止狀態(tài),不同于序列狀態(tài),幾乎每個(gè)狀態(tài)都和多個(gè)狀態(tài)存在在轉換關(guān)系,且狀態(tài)之間的轉換是相互的,猶如蜘蛛網(wǎng)一樣,面對這種網(wǎng)狀的狀態(tài)圖,測試的時(shí)候需要特別注意狀態(tài)之間不允許發(fā)生的轉換是否存在。

            從兩個(gè)實(shí)例,根據狀態(tài)圖,我們可以看到我們需要關(guān)注的內容:

            狀態(tài):狀態(tài)圖中的每一個(gè)狀態(tài),都必須進(jìn)行測試,校驗該狀態(tài)下,向其他狀態(tài)的轉換是否如狀態(tài)圖中展示的一致。

            狀態(tài)之間允許的轉換:可能是如下情況,相同數據,不同操作引起不同轉換;不同數據(前置條件不一樣),相同操作引起的不同轉換;不同數據,不同操作引起的不同轉換。對每一個(gè)允許的狀態(tài)轉換進(jìn)行驗證,設置狀態(tài)轉換的前置條件,操作使狀態(tài)發(fā)生轉換的功能,驗證操作是否正常、狀態(tài)是否如預期變化。對使用頻率特別高、或者特別容易出錯的轉換、以及最不常使用的轉換,需要構造更多的測試數據,做盡可能多的覆蓋。

            狀態(tài)之間不允許的轉換:狀態(tài)之間不允許的轉換測試,關(guān)注系統返回的錯誤信息和狀態(tài)值是否變更,不需要對所有的不可能進(jìn)行驗證,應該挑選那些特別容易發(fā)生的轉換進(jìn)行測試。

            狀態(tài)轉換的角色權限:狀態(tài)之間的轉換操作,是有用戶(hù)角色要求的,我們不僅要驗證有權限的角色能夠正常操作,還需要驗證沒(méi)有權限的角色是否能操作,對于沒(méi)有權限的角色驗證,在不可能全部驗證的情況下,也是挑選相對容易出錯的操作進(jìn)行。

            狀態(tài)的轉換,在軟件中是非常普遍的,通過(guò)狀態(tài)圖梳理各個(gè)狀態(tài)轉換的關(guān)系,并在狀態(tài)圖的基礎上按照狀態(tài)和狀態(tài)轉換的覆蓋原則進(jìn)行測試設計,可以有效的保證軟件狀態(tài)轉換的正確性。測試過(guò)程中,還可以進(jìn)行隨機的狀態(tài)轉換測試。

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: 軟件測試 狀態(tài)


            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>