文章目錄
- 一、前言
- 二、測驗需求分析與展示
- 三、需求分析實戰
- 四、模塊拆解
一、前言
??經過前置大量的基礎內容學習,目前已經進入到實戰階段啦,意味著在基礎篇已經接近了尾聲,從本文章開始會結合前置的文章所學內容以及新內容以用于在斗地主的講解之中,讓大家能夠充分的運用與學習~
??筆者之所以選擇斗地主,而不選擇當下火爆游戲進行講解的首要原因是斗地主更容易理解且邏輯性清晰、易學習,方便大家進行實操,希望讀者能從中受益,
??本實戰系列只會進行功能測驗的相關講解,在后續的文章中會逐漸介紹介面、自動化、專項測驗等維度的內容,敬請期待~
二、測驗需求分析與展示
??再進入正式的需求分析前,大家必須要了解的就是為何要做需求分析,面對一個邏輯性較強或較大的系統、模塊時,需求分析能夠幫助我們快速理解策劃“想要的”、需求要“做什么”、“怎么做”,更重要的是需求分析是為了給測驗用例的設計做鋪墊,而用例設計是否優秀的一部分則來源于對需求理解是否足夠透徹,
??
三、需求分析實戰
??整體的斗地主內容較多,故此只演示部分,部分需求展示如下所示:

??分析第一段話的第一句:第一輪先叫地主的玩家由系統隨機選定,后續輪如果同一桌沒換人則由獲勝玩家(先出完牌的玩家)先叫地主,如果換人則繼續隨機,
??如果僅僅是根據需求進行思考分析,那么無法想出例外點,由需求只能夠得出:

??實際上,分配地主這個事件本身就是一個隨機事件,隨機事件就會涉及到概率,那么由此可以新增一條:

??只有第一輪的地主是隨機指派的,那么會涉及到一個“正反”,即:第一輪和非第一輪:

??有人中途退出重新進入新的玩家,就又會走第一輪的隨機邏輯,故此也需要清除:

??很明顯,需求中所提及的“退出”這個概念不明確,斷線重連、較長時間的斷網恢復后是否也算退出,殺行程恢復,切后臺等等是否會計算在“退出”這個范圍內

??分析第二句需求:如果有玩家在叫地主前選擇"明牌",則第一個選擇"明牌"的玩家優先獲得叫地主權,因此由需求得出:

??明牌是一個操作行為,玩家需要手動進行點擊選擇明牌后,玩家才會明牌,這意味著在地主由系統分配或確定一個地主前,玩家可以隨時進行明牌,如果兩個玩家在同一時間進行明牌,地主的權利應該會給誰?(真實的情況肯定會有時間差異,由服務端進行計算先后順序,可能會有微秒的計算差異 ,如果真的出現時間完全一致的情況下,則隨機給予一名玩家):

??在真實的作業經歷中往往邊界值更容易出現問題,第一次叫地主的流程順利,不代表第二次仍然處于邏輯正確的情況(寫代碼的人懂的都懂),故此我們仍需要對流程進行“邊界值”測驗:

??那么現在,讓我們來分析第三段需求:如果有玩家在叫地主前選擇"明牌",且三名玩家都不選擇"叫地主",則系統選擇第一個,"明牌"的玩家為地主,無人明牌且無人叫地主則第一位叫地主的玩家為地主,
??如需求所示,顧名思義,有玩家明牌的情況且三位玩家均不進行地主爭奪,默認地主牌權交給明牌玩家,那么由需求可得:

??為了驗證代碼中的邏輯是否真的是選擇了第一個明牌的玩家,在測驗程序中需要有兩名或三名玩家均進行明牌,來確認代碼邏輯是否正確,是否選擇的是第一個明牌的玩家:
??無任何玩家叫地主、明牌時,第一位擁有叫地主權利的玩家默認為地主,由需求可得:

??需求,畢竟也只是需求,會存在遺漏,那么需要根據自己對叫地主的理解,進行用例設計的補充,這往往是最困難的,更依賴測驗人員的思維以及對游戲的熟悉程度(知道為啥之前講解熟悉游戲能夠更好的保證測驗質量了吧),根據對斗地主的基礎認知,大致可以補充以下內容:

??上述列舉的是測驗點,測驗用例的設計會在后續的用例設計文章中進行設計,三句需求寫出12個測驗點,還補充了一些遺漏的需求,這是最后分析對應的需求所得出的結果

??
四、模塊拆解
??需求分析完成后的步驟就是對游戲整體進行拆解,拆解游戲整體劃分出子模塊的分支測驗點可以幫助測驗人員更好的理解需求,梳理需求,為后續的測驗用例設計進行鋪墊,大致可以拆解成以下標簽(以下的展示非測驗用例,只是子模塊分支下的拆解分支點):
??下述所展示的拆解模塊為大部分拆解點,因游戲設計不同,故此拆解模塊會存在差異,大多數內容是當下斗地主通用的邏輯和測驗點,根據需求劃分出拆解點后,在對應的模塊劃分這里就已經做好了充分的準備

??上述所介紹的是斗地主游戲全域的拆解點,如果只針對需求中所提及的叫地主的三點那么它的拆解位置大致是:

??游戲中某一個劃分子模塊的內容按照上述的劃分即可,用例設計的結構后續也會按照該結構進行設計~
??
??
??好啦~以上就是本次文章分享的全部內容啦,你學會了嗎?希望能給大家帶來幫助哦!
????
??

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/355410.html
標籤:其他
下一篇:三子棋原來可以這樣寫
