软件质量保证与测试——Ad hoc Test
Ad hoc Test(隨機(jī)測(cè)試)
在軟件測(cè)試中除了根據(jù)測(cè)試用例和測(cè)試說(shuō)明書(shū)進(jìn)行功能測(cè)試外,還需要進(jìn)行隨機(jī)測(cè)試(Ad-hoc testing),隨機(jī)測(cè)試是沒(méi)有書(shū)面測(cè)試用例、記錄期望結(jié)果、檢查列表、腳本或指令的測(cè)試。
在軟件測(cè)試中除了根據(jù)測(cè)試用例和測(cè)試說(shuō)明書(shū)進(jìn)行功能測(cè)試外,還需要進(jìn)行隨機(jī)測(cè)試(Ad-hoc testing),隨機(jī)測(cè)試是沒(méi)有書(shū)面測(cè)試用例、記錄期望結(jié)果、檢查列表、腳本或指令的測(cè)試。主要是根據(jù)測(cè)試者的經(jīng)驗(yàn)對(duì)軟件進(jìn)行功能和性能抽查。隨機(jī)測(cè)試是根據(jù)測(cè)試說(shuō)明書(shū)執(zhí)行測(cè)試用例的重要補(bǔ)充手段,是保證測(cè)試覆蓋完整性的有效方式和過(guò)程。
隨機(jī)測(cè)試主要是對(duì)被測(cè)軟件的一些重要功能進(jìn)行復(fù)測(cè),也包括測(cè)試那些當(dāng)前的測(cè)試樣例(TestCase)沒(méi)有覆蓋到的部分。另外,對(duì)于軟件更新和新增加的功能要重點(diǎn)測(cè)試。重點(diǎn)對(duì)一些特殊點(diǎn)情況點(diǎn)、特殊的使用環(huán)境、并發(fā)性、進(jìn)行檢查。尤其對(duì)以前測(cè)試發(fā)現(xiàn)的重大Bug,進(jìn)行再次測(cè)試,可以結(jié)合回歸測(cè)試(Regressive testing)一起進(jìn)行。
隨機(jī)測(cè)試主要是對(duì)被測(cè)軟件的一些重要功能進(jìn)行復(fù)測(cè),也包括測(cè)試那些當(dāng)前的測(cè)試用例沒(méi)有覆蓋到的部分。另外,對(duì)于軟件更新和新增加的功能要重點(diǎn)測(cè)試。重點(diǎn)對(duì)一些特殊點(diǎn)情況點(diǎn)、特殊的使用環(huán)境、并發(fā)性、進(jìn)行檢查。尤其對(duì)以前測(cè)試發(fā)現(xiàn)的重大Bug,進(jìn)行再次測(cè)試,可以結(jié)合回歸測(cè)試(Regressive testing)一起進(jìn)行。
理論上,每一個(gè)被測(cè)軟件版本都需要執(zhí)行隨機(jī)測(cè)試,尤其對(duì)于最后的將要發(fā)布的版本更要重視隨機(jī)測(cè)試。隨機(jī)測(cè)試最好由具有豐富測(cè)試經(jīng)驗(yàn)的熟悉被測(cè)軟件的測(cè)試人員進(jìn)行測(cè)試。對(duì)于被測(cè)試的軟件越熟悉,執(zhí)行隨機(jī)測(cè)試越容易。只有不斷的積累測(cè)試經(jīng)驗(yàn),包括具體的測(cè)試執(zhí)行和對(duì)缺陷跟蹤記錄的分析,不斷總結(jié),才能提高。
就拿PK網(wǎng)首頁(yè)來(lái)說(shuō),我們?cè)跍y(cè)試所有鏈接是否正確的前提下,(這里的鏈接測(cè)試我們可以用Xenu Link Sleuth進(jìn)行死鏈接檢測(cè))隨機(jī)挑選同類(lèi)別的導(dǎo)航進(jìn)行測(cè)試,查看鏈接是否正確跳轉(zhuǎn)。左側(cè)導(dǎo)航是否能跳轉(zhuǎn)到對(duì)應(yīng)的頻道。另外挑選幾個(gè)置頂?shù)男侣?#xff0c;看圖片是否取值正確。另外在視頻欄,可隨機(jī)查看某一視頻能否正常播放。
客戶(hù)端隨機(jī)測(cè)試思想
隨機(jī)測(cè)試是根據(jù)測(cè)試者的經(jīng)驗(yàn)隨機(jī)的選取功能點(diǎn)對(duì)軟件進(jìn)行有針對(duì)性的測(cè)試。 這種測(cè)試沒(méi)有用例的指導(dǎo),完全根據(jù)測(cè)試員自己的經(jīng)驗(yàn)和相關(guān)知識(shí)來(lái)測(cè)試。一、作隨機(jī)測(cè)試之前的一些前提條件
1)熟悉產(chǎn)品的各項(xiàng)功能和產(chǎn)品的邏輯結(jié)果 2)熟悉測(cè)試用例 3)完整的執(zhí)行過(guò)測(cè)試用例 4)熟悉在用例測(cè)試階段所發(fā)現(xiàn)的缺陷和缺陷的分布情況 5)測(cè)試人員具備一定的測(cè)試經(jīng)驗(yàn),對(duì)缺陷有敏銳的洞察力。二、隨機(jī)測(cè)試功能點(diǎn)的選取
1)根據(jù)用例測(cè)試階段對(duì)產(chǎn)品的了解選取缺陷比較密集的功能模塊。 在發(fā)現(xiàn)很多缺陷的地方,一定可以發(fā)現(xiàn)更多的缺陷。我們?cè)谧鲭S機(jī)測(cè)試的時(shí)候,首先會(huì)先統(tǒng)計(jì)一下,之前哪些模塊被發(fā)現(xiàn)的缺陷最多,那么接下來(lái)一定要重點(diǎn)的在那個(gè)模塊里發(fā)掘一下缺陷。 2)根據(jù)發(fā)現(xiàn)的一次性缺陷或重現(xiàn)率比較低的缺陷涉及的功能點(diǎn)選取隨即測(cè)試功能點(diǎn)。 缺陷產(chǎn)生的過(guò)程一定可以重現(xiàn),重現(xiàn)率比較低的缺陷是隱藏比較深的缺陷,這些缺陷可能正是導(dǎo)致軟件無(wú)法上線(xiàn)的原因。因此重現(xiàn)這些隱藏缺陷是十分重要的工作。 3)與開(kāi)發(fā)人員溝通了解軟件的缺陷。 首先可以了解到程序本身哪些地方最復(fù)雜,最薄弱,這些地方最容易發(fā)生什么錯(cuò)誤,其次可以了解程序員最容易在哪些地方犯哪些錯(cuò)誤。前者通過(guò)對(duì)程序的熟悉可以比較好的掌握,后者可以通過(guò)對(duì)缺陷的分析得到。 4)根據(jù)經(jīng)驗(yàn)選取功能點(diǎn)。積累了一定的測(cè)試經(jīng)驗(yàn)以后,有時(shí)測(cè)試就是一種感覺(jué)。 5)隨機(jī)選取功能點(diǎn)。經(jīng)過(guò)上述四種情況對(duì)功能點(diǎn)進(jìn)行篩選后,剩下的功能點(diǎn)可以隨機(jī)的選取。隨機(jī)選取功能點(diǎn)只是在隨機(jī)測(cè)試中選取功能點(diǎn)的一個(gè)方面,更多的時(shí)候還是要有針對(duì)行的選取功能點(diǎn)。三、功能點(diǎn)的隨機(jī)測(cè)試
1)以測(cè)試用例為基礎(chǔ)。 首先要明確隨機(jī)測(cè)試是對(duì)功能點(diǎn)進(jìn)行隨機(jī)測(cè)試而不是隨機(jī)測(cè)試功能點(diǎn)。因此每一個(gè)功能點(diǎn)都是測(cè)試對(duì)象,依照測(cè)試用例可以有效地覆蓋所有的功能點(diǎn)。 2)考慮操作前的狀態(tài) 3)操作過(guò)程中的狀態(tài)改變 4)考慮到其他功能對(duì)該功能點(diǎn)的影響 5)考慮該功能點(diǎn)直接對(duì)其他功能點(diǎn)的影響 6)考慮該功能點(diǎn)間接對(duì)其他功能點(diǎn)的影響 7)操作步驟地追蹤。 在測(cè)試中常常會(huì)出現(xiàn)這樣的情況,進(jìn)行一系列復(fù)雜的操作之后缺陷突然呈現(xiàn)在眼前。這個(gè)時(shí)候如果能清晰地描述出具體的操作過(guò)程對(duì)于缺陷的重現(xiàn)是十分有利的,這也對(duì)最后的缺陷定位和簡(jiǎn)化缺陷的重現(xiàn)步驟提供了保障。交互性的模塊追蹤步驟主要考慮自己操作步驟地最終和對(duì)方操作步驟地追蹤。有時(shí)缺陷的出現(xiàn)并不是完全是由自己的操作而發(fā)生的,別人的操作也有可能導(dǎo)致缺陷,只有綜合自己和對(duì)方的操作才能是完整的過(guò)程追蹤。 8)簡(jiǎn)化缺陷重現(xiàn)步驟。 尋找缺陷要準(zhǔn)確定位,開(kāi)發(fā)和測(cè)試是一個(gè)整體,時(shí)間是等量的,時(shí)間不在你身上浪費(fèi),就是在他身上浪費(fèi)。如果測(cè)試人員每次發(fā)現(xiàn)的 8)簡(jiǎn)化缺陷重現(xiàn)步驟。 尋找缺陷要準(zhǔn)確定位,開(kāi)發(fā)和測(cè)試是一個(gè)整體,時(shí)間是等量的,時(shí)間不在你身上浪費(fèi),就是在他身上浪費(fèi)。如果測(cè)試人員每次發(fā)現(xiàn)的缺陷 描述不清楚或者重現(xiàn)缺陷的過(guò)程非常復(fù)雜,并且多個(gè)問(wèn)題潛在的錯(cuò)誤原因是一個(gè),雖然操作可能稍微有些變化。這樣開(kāi)發(fā)人員在重現(xiàn)缺陷 的時(shí)候他要調(diào)試跟蹤判斷,很花費(fèi)時(shí)間,而且效率低。如果測(cè)試人員發(fā)現(xiàn)缺陷 的時(shí)候多嘗試可以更加準(zhǔn)確的定位缺陷 步驟和原因,給開(kāi)發(fā)人員最精確的步驟和準(zhǔn)確的描述,這樣整個(gè)團(tuán)隊(duì)才能高效。簡(jiǎn)化缺陷重現(xiàn)的步驟主要體現(xiàn)在減少涉及的功能點(diǎn)的操作上。 9)測(cè)試經(jīng)驗(yàn)的積累 經(jīng)驗(yàn)是來(lái)之不易的東西,我們需要在日常測(cè)試中不斷的積少成多,并且多和同行交換測(cè)試心得和測(cè)試經(jīng)驗(yàn)豐富自己的測(cè)試手段和測(cè)試角度。經(jīng)驗(yàn)在隨機(jī)測(cè)試中可以幫助我們少走彎路,讓我們的目標(biāo)更加明確,更容易發(fā)現(xiàn)缺陷. 10)測(cè)試心態(tài) 做測(cè)試最重要的是心態(tài),這里說(shuō)的心態(tài)一方面指的是測(cè)試人員對(duì)程序的看法。作為測(cè)試人員,在拿到測(cè)試程序時(shí),一定要保持悲觀的心態(tài),認(rèn)定這個(gè)程序有很多缺陷和錯(cuò)誤,甚至認(rèn)定這個(gè)程序很垃圾,想像微軟出來(lái)的程序都有很多缺陷,那我們的程序也一定需要我們?nèi)ズ莺莸娜グl(fā)掘缺陷。不能因?yàn)檫@個(gè)模塊已經(jīng)被測(cè)試過(guò)好多遍,或者這個(gè)這個(gè)模塊非常小非常簡(jiǎn)單就忽略了對(duì)這個(gè)模塊的測(cè)試。另一方面,要有足夠的耐心。首先,在作隨機(jī)測(cè)試之前比較明顯的缺陷和操作步驟比較簡(jiǎn)單的缺陷已經(jīng)基本上被找到,隨即測(cè)試主要是挖掘深層次的缺陷。相對(duì)用例測(cè)試操作步驟相對(duì)復(fù)雜,因此隨機(jī)測(cè)試可能會(huì)出現(xiàn)長(zhǎng)時(shí)間找不到缺陷的情況,如果心浮氣躁可能放過(guò)對(duì)該模塊的測(cè)試,這時(shí)需要耐心的測(cè)試才能找到缺陷。 11)與程序員進(jìn)行溝通 在和程序員溝通的過(guò)程中,你可以知道很多你前所未知的東西例如功能的實(shí)現(xiàn)過(guò)程,功能模塊間的內(nèi)在聯(lián)系等,你可以通過(guò)驗(yàn)證這些東西,來(lái)發(fā)現(xiàn)未知的缺陷,并且可以激發(fā)你運(yùn)用更多的測(cè)試手段來(lái)測(cè)試。 12)一反三 首先通過(guò)以前發(fā)現(xiàn)的缺陷反映出可能出現(xiàn)的一類(lèi)缺陷,通過(guò)缺陷重現(xiàn)的步驟反映出一類(lèi)操作可能會(huì)導(dǎo)致缺陷 13)突破測(cè)試思想上的束縛 測(cè)人人員的測(cè)試手段和測(cè)試角度往往是從別人那里得到的,因此測(cè)試人員常常受到傳統(tǒng)測(cè)試思想的束縛。挖掘更深層次的缺陷需要測(cè)試思想有所創(chuàng)新和升華,這一點(diǎn)比較難做到,需要更多的對(duì)測(cè)試方式和測(cè)試角度進(jìn)行獨(dú)立思考。總結(jié)
以上是生活随笔為你收集整理的软件质量保证与测试——Ad hoc Test的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 软件质量保证与测试——Smoke Tes
- 下一篇: CMM与CMMI的关系