在日常需求的測(cè)試過(guò)程中,因?yàn)闀r(shí)間和資源的相對(duì)緊張,往往會(huì)遇到PRD不夠細(xì)致,而UC描述也過(guò)于簡(jiǎn)單的情況,這個(gè)時(shí)候會(huì)讓經(jīng)驗(yàn)不夠豐富的測(cè)試人員有種無(wú)從入手的感覺(jué)。其實(shí)由于思考方式、對(duì)需求的理解程度、開(kāi)發(fā)和編寫(xiě)UC的經(jīng)驗(yàn)、以及文字描述的習(xí)慣不同,開(kāi)發(fā)人員首次提交的UC,并不一定能立即指導(dǎo)測(cè)試人員編寫(xiě)出一系列相對(duì)健壯的TC。
雖然說(shuō)測(cè)試人員有權(quán)利退回需求不明的測(cè)試任務(wù),但是在遇到“不得已而為之”的時(shí)候(比如緊急需求),想辦法解決問(wèn)題,給出需求方建議總是好過(guò)什么都不做的退出測(cè)試。
因此需要在TC編寫(xiě)之前進(jìn)行UC的評(píng)審,而UC的評(píng)審過(guò)程并不僅僅是一個(gè)需求再確認(rèn)的過(guò)程,在評(píng)審之前測(cè)試人員就應(yīng)該帶著思考(類(lèi)似于checklist)去盡可能的挖掘UC所覆蓋到PRD的點(diǎn)以及所有自己的疑問(wèn),并且通過(guò)溝通盡早的解決疑問(wèn)。
在這里,我個(gè)人想強(qiáng)調(diào)一下疑問(wèn),因?yàn)樽约簺](méi)有疑問(wèn)并不代表真的沒(méi)有問(wèn)題,反而沒(méi)有疑問(wèn)才是最大的問(wèn)題。誰(shuí)都知道沒(méi)有什么事物是絕對(duì)完美,包括開(kāi)發(fā)人員編寫(xiě)的 UC,測(cè)試人員編寫(xiě)的TC,我們做測(cè)試不是要追求極致,但是至少要盡可能的降低因?yàn)檫z漏問(wèn)題而產(chǎn)生的風(fēng)險(xiǎn),盡早的發(fā)現(xiàn)問(wèn)題,解決問(wèn)題。然而沒(méi)有仔細(xì)的推敲和思考很難發(fā)現(xiàn)隱藏的問(wèn)題,所以說(shuō)沒(méi)有疑問(wèn)從某種程度上講,是我們思考的還不夠。舉一個(gè)最為簡(jiǎn)單也是最為普遍的例子,我們一定都有過(guò)在編寫(xiě)TC過(guò)程中才發(fā)現(xiàn)有不確定的內(nèi)容并向開(kāi)發(fā)人員進(jìn)行確認(rèn)的經(jīng)歷,從某種角度講,這就說(shuō)明了UC的評(píng)審過(guò)程中,我們有遺漏。所以,只有充分的思考,才有可能捕獲疑問(wèn),才有可能解決疑問(wèn),才有可能降低遺漏。
說(shuō)完了疑問(wèn),在這里就不得不說(shuō)一說(shuō)思考,到底在UC評(píng)審之前我們應(yīng)該思考些什么,或者說(shuō)到底有哪些內(nèi)容是我們需要去把握的,個(gè)人覺(jué)得可以從以下幾點(diǎn)著手:
1. 如果說(shuō)功能測(cè)試更多的是站在用戶(hù)的角度進(jìn)行測(cè)試,那么我們首先關(guān)注的必然是頁(yè)面的展現(xiàn)。即頁(yè)面的元素。一張好圖勝似千言萬(wàn)語(yǔ)。這句話確實(shí)有其道理,所以界面原型圖不僅能幫助開(kāi)發(fā)人員省去很多文字上的描述,也避免了在測(cè)試過(guò)程中針對(duì)頁(yè)面布局引起測(cè)試人員和開(kāi)發(fā)人員爭(zhēng)議,更能讓測(cè)試人員建立一個(gè)整體的概念。因此,測(cè)試人員可以“提醒”開(kāi)發(fā)人員提供demo截圖,但是并不是每一份UC生成時(shí)都有充足的資源來(lái)獲取demo。無(wú)論UC中是否有demo提供,我們真正應(yīng)該關(guān)注的包括兩點(diǎn):一是頁(yè)面包括哪些元素,是否覆蓋了需求,有無(wú)冗余。再就是各元素的類(lèi)型,比如列表、文本框,按鈕等等。
2.在確定元素之后,就必須考慮元素對(duì)用戶(hù)的開(kāi)放性。即用戶(hù)的訪問(wèn)、操作權(quán)限。一般而言,權(quán)限的控制往往有三種展現(xiàn)方式:一是通過(guò)頁(yè)面元素的直接屏蔽使無(wú)權(quán)限的用戶(hù)不可見(jiàn),一是無(wú)操作權(quán)限用戶(hù)使用時(shí)提示沒(méi)有權(quán)限,還有就是對(duì)于沒(méi)有權(quán)限的用戶(hù)操作內(nèi)容顯示為不可用狀態(tài)。測(cè)試人員必須確認(rèn)UC中有該部分的描述,并確認(rèn)具體屬于哪種形式和其控制方式。否則在編寫(xiě)TC過(guò)程中就會(huì)出現(xiàn)遺漏,從而會(huì)導(dǎo)致bug的遺漏。
3.明確入口。由于web自身的特點(diǎn),一個(gè)頁(yè)面的訪問(wèn)往往會(huì)存在多個(gè)入口,每一個(gè)入口的前置條件都有可能不同,因此測(cè)試人員必須確認(rèn)所有可到達(dá)的路徑及其條件。
4. 在明確頁(yè)面布局及元素、權(quán)限控制、入口后,我們就應(yīng)該進(jìn)一步了解一些具體的操作細(xì)節(jié)。例如結(jié)合demo圖(如果有的話),確定哪些是輸入,哪些是輸出。而在考慮這些輸入和輸出的時(shí)候我們不光要知道頁(yè)面展現(xiàn)出來(lái)的輸入、輸出項(xiàng),一些未展現(xiàn)出來(lái)的的輸入、輸出項(xiàng),即隱藏的數(shù)據(jù)也是測(cè)試人員需要了解的。如注冊(cè)用戶(hù),可能我們?cè)陧?yè)面上只需輸入類(lèi)似用戶(hù)名、id之類(lèi)的輸入項(xiàng),當(dāng)成功后系統(tǒng)也只是提示操作成功,并返回注冊(cè)