qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          左手測(cè)試,右手QA

          在我們的團(tuán)隊(duì)中,QA角色身兼兩職:測(cè)試和過(guò)程改進(jìn)。以往我們對(duì)新進(jìn)來(lái)的員工的期望值是先承擔(dān)測(cè)試任務(wù),在能較好地完成測(cè)試任務(wù)之后,才考慮讓他參與一些SQA工作。因此,有些已經(jīng)進(jìn)來(lái)大半年的同事,感覺(jué)對(duì)SQA還是沒(méi)有什么概念,更沒(méi)有機(jī)會(huì)去實(shí)踐?;蛘哂械耐孪?yún)⑴c一些SQA的工作,卻感到?jīng)]有頭緒,不知如何下手。而實(shí)際工作中我發(fā)現(xiàn),QA的能力可以在每日工作中從點(diǎn)滴、從最開(kāi)始就培養(yǎng),這個(gè)與以往有沒(méi)有SQA的知識(shí)和經(jīng)驗(yàn)沒(méi)有關(guān)系。因?yàn)楹?jiǎn)而言之,QA的工作主要圍繞持續(xù)改進(jìn)展開(kāi)。而無(wú)論你是否有經(jīng)驗(yàn),每天的工作中你都在以自己獨(dú)特的視角看問(wèn)題,并可能看到改進(jìn)的空間。那么,測(cè)試人員如何在日常工作中去逐步培養(yǎng)自己的QA能力呢?

           

          1.找到問(wèn)題

           

          感受到一個(gè)問(wèn)題,有時(shí)是出于關(guān)懷,你發(fā)現(xiàn)有人/自己正因?yàn)槟臣虑槎纯?;有時(shí)是出于懷疑,你發(fā)現(xiàn)有件事情和你想象/預(yù)計(jì)的不一樣;還可能是出于直覺(jué)。但感受到問(wèn)題其實(shí)并不是一件容易的事情。

           

          如果感受不到問(wèn)題,我們可以試圖通過(guò)多種方法積極尋找。

           

          如果你剛到一個(gè)項(xiàng)目組,提不出問(wèn)題,可以先去聽(tīng)聽(tīng)別人(項(xiàng)目組成員、用戶(hù)等等)的抱怨,或者想想自己痛苦的地方(比如找不到文檔,系統(tǒng)操作不直觀學(xué)習(xí)起來(lái)困難等等),這些就可能是問(wèn)題。另外,為了培養(yǎng)自己找問(wèn)題的習(xí)慣,可以給自己一個(gè)定量目標(biāo),每周去總結(jié)一個(gè)“疑似問(wèn)題”。經(jīng)過(guò)實(shí)踐,這個(gè)帶點(diǎn)自我強(qiáng)迫的方法對(duì)于找問(wèn)題很有幫助。比如,雖然你的測(cè)試用例經(jīng)過(guò)了和開(kāi)發(fā)人員的評(píng)審,但是測(cè)試時(shí)你卻發(fā)現(xiàn)幾個(gè)重要的分支或者邏輯還是在代碼中忘記實(shí)現(xiàn)了。除了報(bào)告缺陷,是否還有什么有共性的問(wèn)題存在,并值得改進(jìn)呢?

           

          如果你在一個(gè)項(xiàng)目組大家合作得不錯(cuò),似乎沒(méi)有什么問(wèn)題,但一個(gè)看 似不錯(cuò)的結(jié)果其實(shí)可能隱藏了問(wèn)題。比如,完成工作,交付高質(zhì)量的軟件產(chǎn)品可以通過(guò)多種渠道實(shí)現(xiàn),而非一定體現(xiàn)了高質(zhì)量??赡苁菭奚藭r(shí)間進(jìn)行好幾輪的測(cè)試 和修復(fù)和全面的回歸測(cè)試,又或者某一塊有一個(gè)英雄人物能夠以一己之力確保這塊沒(méi)有問(wèn)題。又如,雖然大規(guī)模代碼重構(gòu)的時(shí)候,內(nèi)部測(cè)試能找到大部分重要的缺 陷,但是否測(cè)試人員心理還是很抗拒和沒(méi)底的?雖然這些問(wèn)題不是單靠測(cè)試人員就能改善或者達(dá)到,但找到影響質(zhì)量的問(wèn)題確實(shí)需要測(cè)試人員的獨(dú)立視角和貢獻(xiàn)。如 果一個(gè)測(cè)試人員、一個(gè)測(cè)試團(tuán)隊(duì)能夠跳開(kāi)測(cè)試的圈圈,從更廣闊的角度看到影響質(zhì)量的其他環(huán)節(jié),幫助開(kāi)發(fā)人員克服一些老的制約生產(chǎn)力和質(zhì)量的毛病或者習(xí)慣,從而提高開(kāi)發(fā)團(tuán)隊(duì)的水平,而更高開(kāi)發(fā)水平的開(kāi)發(fā)團(tuán)隊(duì)又對(duì)測(cè)試團(tuán)隊(duì)會(huì)提出更高的要求,那么這樣的良性互動(dòng)是我們都想看到的。現(xiàn)在被大家所廣泛追捧的敏捷開(kāi)發(fā)就提倡忽略角色的分工,大家一起為質(zhì)量貢獻(xiàn)自己的一份力量。

           

          前面說(shuō)的是流程方面的問(wèn)題,其實(shí)即使是被測(cè)程序的問(wèn)題也存在于在整個(gè)軟件開(kāi)發(fā)周期。雖然傳統(tǒng)對(duì)測(cè)試的理解是測(cè)試找問(wèn)題更多集中在執(zhí)行階段,但借用QA的預(yù)防為主的思路,程序的問(wèn)題也可以通過(guò)對(duì)需求和設(shè)計(jì)的評(píng)審及時(shí)發(fā)現(xiàn)和糾正,避免后期更大的浪費(fèi)。

           

          2.探究問(wèn)題

           

          感 受到問(wèn)題之后,需要一種探尋真相的精神去一探究竟。很多人能感受到問(wèn)題,但是很遺憾地是當(dāng)有更具體的任務(wù)在手頭的時(shí)候,往往就忽略了這個(gè)問(wèn)題。或者知道問(wèn) 題很大,也知道有各種原因的阻礙,因此采取放任自流的態(tài)度。這里要介紹一個(gè)好的習(xí)慣,就是把你當(dāng)前沒(méi)有時(shí)間去細(xì)想的問(wèn)題先記錄下來(lái),以后再找機(jī)會(huì)去跟蹤執(zhí)行。類(lèi)似outlook的任務(wù)或者一些桌面電子便簽等工具可以幫助你設(shè)定任務(wù)及提醒執(zhí)行。除了記錄,還有一個(gè)好習(xí)慣就是去外部尋找一些同行的交流。如果看到同樣/類(lèi)似的話(huà)題,相信會(huì)驅(qū)使你有更大的興趣去看自己碰到的問(wèn)題,也啟發(fā)你從不同角度看問(wèn)題。

           

          QA的工作更多的針對(duì)的是有共性的問(wèn)題,所以對(duì)這類(lèi)問(wèn)題的探究往往需要多個(gè)樣本。換言之,在報(bào)告每一個(gè)缺陷的時(shí)候我們是在做測(cè)試,而對(duì)測(cè)試結(jié)果進(jìn)行總結(jié)、歸類(lèi)、抽象出背后共性的問(wèn)題則向QA靠近了一步。

           

           

          3.判斷問(wèn)題

           

          3.1判斷一個(gè)問(wèn)題是否真的是問(wèn)題

          測(cè) 試人員通??吹綄?shí)際執(zhí)行結(jié)果后就能馬上判斷出其與預(yù)期結(jié)果之間的差異,從而判斷是否存在問(wèn)題。但過(guò)程改進(jìn)相關(guān)的問(wèn)題就沒(méi)有那么一目了然了。比如,我們收到 一個(gè)來(lái)自生產(chǎn)環(huán)境的缺陷,是因?yàn)橐粋€(gè)需求變更的影響點(diǎn)大家都沒(méi)有想到,直到生產(chǎn)環(huán)境暴露出來(lái)。開(kāi)會(huì)的時(shí)候有人提出我們的開(kāi)發(fā)流程不完善,如果能夠建立起需 求、設(shè)計(jì)和測(cè)試用例的跟蹤矩陣,那么在做影響分析的時(shí)候就能順藤摸瓜,避免此類(lèi)問(wèn)題了。聽(tīng)起來(lái)不錯(cuò),是么?可是,如果我們細(xì)想,這種類(lèi)似問(wèn)題在生產(chǎn)環(huán)境對(duì) 用戶(hù)的影響大么?可以繞過(guò)去么?此類(lèi)問(wèn)題出現(xiàn)的次數(shù)多么?如果我們建立這個(gè)跟蹤矩陣,維護(hù)代價(jià)有多高?前提還是我們首先要想到所有的內(nèi)在聯(lián)系(而這個(gè)本身 就是無(wú)法確保的)。兩相權(quán)衡,“沒(méi)有這個(gè)跟蹤矩陣”是我們現(xiàn)在的問(wèn)題么?

           

          “判斷一個(gè)問(wèn)題是否真的是問(wèn)題”最好能廣泛聽(tīng)取不同的意見(jiàn),并找到根源。

           

          3.2判斷一個(gè)問(wèn)題是否需要被馬上解決

          “判斷問(wèn)題是否需要馬上解決”在某種程度上這有點(diǎn)象測(cè)試人員去設(shè)定缺陷的優(yōu)先級(jí)。雖然所有被發(fā)現(xiàn)的缺陷都被記錄,但是當(dāng)前版本需要修復(fù)的或者可能只是其中一部分,而這一部分中還有需要盡快修復(fù)的和可以稍后修復(fù)的差別。過(guò)程改進(jìn)的問(wèn)題也是一樣,有個(gè)主次和優(yōu)先級(jí)之分。

           

          4.解決問(wèn)題

           

          對(duì)于確實(shí)是問(wèn)題的,我們應(yīng)該去積極地尋找解決方案。但是新到一個(gè)公司或者項(xiàng)目組,發(fā)現(xiàn)了問(wèn)題之后,不要急著去提出自己的解決方案,而應(yīng)該先試圖了解它的來(lái)龍去脈和曾經(jīng)進(jìn)行過(guò)的改進(jìn)嘗試,以及執(zhí)行中實(shí)際的一些阻礙。

           

          解決問(wèn)題通常牽涉到開(kāi)發(fā)團(tuán)隊(duì)中各個(gè)角色,除了明確負(fù)責(zé)的一方,還要對(duì)參與的其他方也進(jìn)行充分的溝通。

           

          確認(rèn)開(kāi)始執(zhí)行之后,為了確保執(zhí)行的正確性和力度,一定要跟蹤執(zhí)行。一個(gè)沒(méi)有跟蹤執(zhí)行的方案如同瞎子射箭。這樣的話(huà),無(wú)論射多少回,都是沒(méi)有目的性和方向性的,也無(wú)法在以前的基礎(chǔ)上持續(xù)改進(jìn)的。質(zhì)量理論中常提到的PDCA循環(huán)講的也是這個(gè)道理。

          在解決問(wèn)題方面,有很多和測(cè)試、質(zhì)量無(wú)關(guān),但和思維、管理類(lèi)相關(guān)的書(shū)和文章。例如:《第五項(xiàng)修煉》中就提出對(duì)解決問(wèn)題很有幫助的五大方面:系統(tǒng)思考、自我超越、心智模式、建立共同愿景、團(tuán)隊(duì)學(xué)習(xí)?!督鹱炙怼分刑岢龅慕缍▎?wèn)題、結(jié)構(gòu)化思考、演繹與歸納等多種模式也能幫助我們剝繭抽絲,抓到問(wèn)題的本質(zhì)和可行的方案。

           

          6.QA能力進(jìn)階

          從上面我們看到,QA能力的培養(yǎng)貫穿于每日工作的點(diǎn)滴。其進(jìn)階可以大致分為以下級(jí)別。

           

          (1)發(fā)現(xiàn)的問(wèn)題級(jí)別:

                 初級(jí):問(wèn)題已經(jīng)發(fā)生,而且大家都感受到了(項(xiàng)目組中大家都覺(jué)得有問(wèn)題的問(wèn)題)

                 中級(jí):問(wèn)題已經(jīng)發(fā)生,但只有少量人感受到了(問(wèn)題已經(jīng)發(fā)生,但是其危害還沒(méi)有擴(kuò)散)

                 高級(jí):問(wèn)題還沒(méi)有發(fā)生,很多人沒(méi)有意識(shí)到(一個(gè)解決方案在不同的實(shí)施環(huán)境中會(huì)有的問(wèn)題)

           

          (2)解決問(wèn)題的能力的級(jí)別:

                 初級(jí):可以提出方案,但不能提出很合理的、可以實(shí)施的方案

                 中級(jí):可以提出合理的可以實(shí)施的方案,但是實(shí)施效果不太好(方案中存在著一些重要的影響執(zhí)行的因素沒(méi)有考慮到)

                 高級(jí):可以提出合理的方案,且實(shí)施效果好,整個(gè)團(tuán)隊(duì)受益

           

          其實(shí),有時(shí)想想除了QA更需要有豐富的思路去提出可能的解決方案之外,測(cè)試人員和QA人員對(duì)技能的要求有很多相通之處:都需要有敏銳的觸角去發(fā)現(xiàn)潛在的問(wèn)題,有執(zhí)著的勇氣去驗(yàn)證和報(bào)告預(yù)期與實(shí)際結(jié)果之間的差異,有務(wù)實(shí)的精神去跟蹤和督促執(zhí)行。所以,讓我們左手測(cè)試,右手QA,互相促進(jìn), 幫助質(zhì)量改進(jìn)更上一層樓!

          posted @ 2011-10-25 14:38 順其自然EVO| 編輯 收藏

          實(shí)施自動(dòng)化功能測(cè)試的解決方案

           摘要

            當(dāng)今的企業(yè)需要掌控其關(guān)鍵業(yè)務(wù)應(yīng)用的所有功能測(cè)試,以確保所有業(yè)務(wù)流程工作符合預(yù)期。通過(guò)實(shí)施自動(dòng)化的功能測(cè)試,企業(yè)可以極大提高測(cè)試速度和精度,從挼間項(xiàng)目中得到更高的投資回報(bào)并且顯著地降低風(fēng)險(xiǎn)。

            本文簡(jiǎn)要描述了自動(dòng)化功能測(cè)試的優(yōu)勢(shì)和挑戰(zhàn),幫助企業(yè)考慮實(shí)施最佳測(cè)試自動(dòng)化的方法。

            1.介紹

            毫無(wú)疑問(wèn),嚴(yán)格的功能測(cè)試是成功開(kāi)發(fā)應(yīng)用的關(guān)鍵。開(kāi)發(fā)人員,測(cè)試小組和管理人員所面臨的挑戰(zhàn)是,如何加速測(cè)試流程和提高測(cè)試的精確性和完備性,同時(shí)還不能增加已然很緊張的預(yù)算。

            通過(guò)將功能測(cè)試的關(guān)鍵環(huán)節(jié)自動(dòng)化,可以滿(mǎn)足有挑戰(zhàn)性的發(fā)布時(shí)間安排,測(cè)試得更加全面和可靠,檢驗(yàn)業(yè)務(wù)過(guò)程功能的正確性,從而從上線(xiàn)的運(yùn)營(yíng)中,獲得極高的產(chǎn)值和客戶(hù)滿(mǎn)意度。然而,功能測(cè)試的自動(dòng)化會(huì)產(chǎn)生一些新的顧慮:

            測(cè)試過(guò)程自動(dòng)化的成本是多少?其投資回報(bào)率(ROI)是什么?

            哪些應(yīng)用/過(guò)程適合做自動(dòng)化測(cè)試,哪些不合適?

            是否需要新的培訓(xùn),這將對(duì)當(dāng)前的開(kāi)發(fā)計(jì)劃安排產(chǎn)生怎樣的影響?

            自動(dòng)化測(cè)試得正確地方法論是什么?

            自動(dòng)化測(cè)試時(shí)涉及到哪些情況?

            當(dāng)比較自動(dòng)化測(cè)試產(chǎn)品時(shí),哪些功能最重要?

            在自動(dòng)化測(cè)試項(xiàng)目開(kāi)始之前,以上和其他一些問(wèn)題應(yīng)該得到全面地調(diào)查和了解。

            2.功能測(cè)試與單元測(cè)試

            功能測(cè)試是指確保應(yīng)用按期望運(yùn)行,也就是按照用戶(hù)的期望運(yùn)行。功能測(cè)試以一種有效的方式捕獲用戶(hù)的需求,讓用戶(hù)和開(kāi)發(fā)人員對(duì)業(yè)務(wù)過(guò)程滿(mǎn)足需求充滿(mǎn)信心,同時(shí)使得QA團(tuán)隊(duì)可以檢驗(yàn)軟件已發(fā)布就緒。

            功能測(cè)試是單元測(cè)試的補(bǔ)充,但有很大不同。簡(jiǎn)言之,單元測(cè)試說(shuō)明了代碼執(zhí)行是否正確;功能測(cè)試說(shuō)明了完成的應(yīng)用是否做正確的事情。單元測(cè)試往往是從代碼開(kāi)發(fā)人員的角度來(lái)看,而功能測(cè)試是從最終用戶(hù)和業(yè)務(wù)過(guò)程角度來(lái)看。

            3.為什么將功能測(cè)試過(guò)程的自動(dòng)化?

            現(xiàn)在,IT部門(mén)的壓力越來(lái)越大。管理部門(mén)希望IT部門(mén)通過(guò)軟件可以交付新功能,抓住新的商業(yè)機(jī)會(huì)和提供有競(jìng)爭(zhēng)力的優(yōu)勢(shì)。這就意味著需要完成更多的業(yè)務(wù)應(yīng)用開(kāi)發(fā)項(xiàng)目,而時(shí)間會(huì)很緊迫,并不是都有更多的預(yù)算或資源。

             同時(shí),管理部門(mén)越來(lái)越意識(shí)到軟件和銷(xiāo)售額的重要關(guān)系。Web Services,聯(lián)機(jī)事務(wù)處理和ERP應(yīng)用不僅是非常關(guān)鍵的,而且,它們直接關(guān)系到公司的產(chǎn)值能力。現(xiàn)在企業(yè)非常依賴(lài)非常復(fù)雜的計(jì)算機(jī)基礎(chǔ)設(shè)施。如圖, 一個(gè)典型的企業(yè)可能依靠多個(gè)應(yīng)用,運(yùn)行在不同的系統(tǒng)上,使用幾種不同的前端客戶(hù)端,涉及到大量的業(yè)務(wù)過(guò)程并且與很多種數(shù)據(jù)集交互。

            可能的組合是高度復(fù)雜,需要成百上千的測(cè)試場(chǎng)景。

          組件數(shù)量事例
          平臺(tái)1Intel
          操作系統(tǒng)5Windows XP, ME, 2000, NT4, and 98
          前端客戶(hù)端4Internet Explorer 6, Netscape 7.1 Java, Visual C++
          業(yè)務(wù)過(guò)程5Login, Search, Order Entry, Order Confirmation, Order Fulfillment
          數(shù)據(jù)集15usernames, passwords, search strings, order numbers, ship dates,等的組合
          需求的測(cè)試數(shù)量1x 5 x 4 x 15= 1,500 可能的測(cè)試場(chǎng)景!!

            當(dāng)軟件出現(xiàn)故障時(shí),其代價(jià)是非常大的,包括銷(xiāo)售額下降,員工的低效率,客戶(hù)的不滿(mǎn)和開(kāi)發(fā)和QA人員的士氣低落。在軟件開(kāi)發(fā)周期中,缺欠發(fā)現(xiàn)的越晚其代價(jià)越高。上線(xiàn)后發(fā)現(xiàn)的缺欠的改正成本可能比在設(shè)計(jì)階段發(fā)現(xiàn)的高出100倍。自動(dòng)化是提高軟件測(cè)試過(guò)程的速度,精確度和靈活性的關(guān)鍵,使公司可以更早發(fā)現(xiàn)和改正缺欠。

            4.手工功能測(cè)試的挑戰(zhàn)

            手工功能測(cè)試過(guò)程本身存在很多挑戰(zhàn):

             時(shí)間過(guò)長(zhǎng)。有限的IT資源和緊張的交付時(shí)間使得手工測(cè)試對(duì)于滿(mǎn)足業(yè)務(wù)目標(biāo)來(lái)說(shuō)過(guò)于耗時(shí)。采用手工測(cè)試,測(cè)試和開(kāi)發(fā)人員不得不計(jì)劃冗長(zhǎng)的每步測(cè)試過(guò)程,然 后手工執(zhí)行,再現(xiàn)問(wèn)題,快速消耗了有價(jià)值的時(shí)間和資源。根據(jù)Aberdeen Group,一個(gè)獨(dú)立行業(yè)分析公司,90%的IT項(xiàng)目交付出現(xiàn)延遲,手工測(cè)試是其中一個(gè)因素。

            覆蓋不完全。平臺(tái),操作系統(tǒng),客戶(hù)端設(shè)備,業(yè)務(wù)過(guò)程和數(shù)據(jù)集等的組合對(duì)于手工測(cè)試過(guò)程來(lái)說(shuō),工作量非常大。需要驗(yàn)證功能的測(cè)試用例數(shù)量非常巨大。所以當(dāng)修改完成后手工回歸測(cè)試花費(fèi)的時(shí)間過(guò)長(zhǎng),以至于不能做全面的回歸測(cè)試。

            風(fēng)險(xiǎn)更高。手工測(cè)試過(guò)程比計(jì)算機(jī)過(guò)程的錯(cuò)誤和疏忽更多。人們會(huì)變得疲倦,輸入數(shù)據(jù)錯(cuò)誤,不能總是正確執(zhí)行測(cè)試,并不是總有時(shí)間測(cè)試所有應(yīng)該測(cè)試的內(nèi)容。

            5.自動(dòng)化測(cè)試的好處

            自動(dòng)化測(cè)試有很多好處,包括:

             快速執(zhí)行。計(jì)算機(jī)在執(zhí)行功能測(cè)試腳本的時(shí)候比人快得多,因此在有限的時(shí)間里能測(cè)試的更多,在給定的時(shí)間里更多的應(yīng)用可以被測(cè)試,可以按時(shí)完成更多的工 程。并且和人不同,計(jì)算機(jī)一天工作24小時(shí),還包括晚上,周末和假期;他們不會(huì)感到無(wú)聊或者疲倦;而且他們從不對(duì)該作的事情和不該作的事情自作主張。

             提高測(cè)試覆蓋。自動(dòng)測(cè)試產(chǎn)品支持在所有流行的瀏覽器,操作系統(tǒng)等上執(zhí)行測(cè)試腳本,用自動(dòng)化的工具對(duì)不斷變化的應(yīng)用和環(huán)境做回歸測(cè)試,要比手工測(cè)試容易得 多。通過(guò)整合的數(shù)據(jù)驅(qū)動(dòng)表單的功能,自動(dòng)化測(cè)試產(chǎn)品允許開(kāi)發(fā)和測(cè)試團(tuán)隊(duì)執(zhí)行計(jì)算,操作數(shù)據(jù)集,以及快速創(chuàng)建多種反復(fù)的測(cè)試,使得擴(kuò)大測(cè)試覆蓋范圍。使用自 動(dòng)測(cè)試工具可以仿效任何混合的事務(wù)和任意的用戶(hù)負(fù)載。

            提高測(cè)試精確度并提早發(fā)現(xiàn)更多錯(cuò)誤。自動(dòng)化測(cè)試給開(kāi)發(fā)人員提供了一種再現(xiàn)和記錄軟件缺陷的非常容易的方法。這將在所有環(huán)境,數(shù)據(jù)集和業(yè)務(wù)過(guò)程等之間確保功能的正確性,同時(shí)對(duì)開(kāi)發(fā)過(guò)程起到加速作用。

            提供規(guī)范化的過(guò)程。自動(dòng)化測(cè)試鼓勵(lì)測(cè)試團(tuán)隊(duì)規(guī)范化他們的過(guò)程,以得到更高的一致性和更好的文檔記錄。

            提高測(cè)試的重用性。測(cè)試一旦腳本化,開(kāi)發(fā)人員可以使用和重用這些腳本,可以將腳本添加到測(cè)試套件中,以適應(yīng)應(yīng)用的變化。沒(méi)有必要為每個(gè)應(yīng)用的相同功能而重新創(chuàng)建腳本。

            支持ERP/CRM?,F(xiàn)在越來(lái)越多的用戶(hù)使用ERP/CRM解決方案,對(duì)端到端的回歸測(cè)試的需求正變得越來(lái)越頻繁和越來(lái)越重要。

            6.在什么情況下采用自動(dòng)化測(cè)試?

            一般來(lái)說(shuō),把自動(dòng)化測(cè)試的工作集中在關(guān)鍵的業(yè)務(wù)過(guò)程,復(fù)雜應(yīng)用,以及由這些組成的用例方面(相對(duì)于低級(jí)別任務(wù),例如系統(tǒng)級(jí)的驗(yàn)證)是很有意義的。

             如果一個(gè)企業(yè)擁有眾多每天工作很多小時(shí)的軟件測(cè)試人員,但是產(chǎn)品仍然出現(xiàn)質(zhì)量和功能問(wèn)題,那么這家企業(yè)肯定能從自動(dòng)化測(cè)試中受益。是否決定實(shí)行自動(dòng)化測(cè) 試應(yīng)當(dāng)充分考慮到投資回報(bào),但是一般情況下,如果一個(gè)應(yīng)用需要多次構(gòu)造/補(bǔ)丁/修改;需要在大量的硬件或軟件配置下進(jìn)行測(cè)試;并且支持眾多并發(fā)用戶(hù)等,那 么將會(huì)是值得采用自動(dòng)化測(cè)試。另外,如果涉及到重復(fù)性的工作,例如數(shù)據(jù)裝載和系統(tǒng)配置等,或者應(yīng)用需要滿(mǎn)足特定的服務(wù)等級(jí)協(xié)議(SLA),那么自動(dòng)化測(cè)試 當(dāng)然也會(huì)節(jié)約成本。

            7.如何確定自動(dòng)化測(cè)試的投資回報(bào)?

            任何投資回報(bào)都可以從一個(gè)簡(jiǎn)單的計(jì)算得出:

            投資回報(bào)=投資的凈現(xiàn)值/總初始成本

            當(dāng)采用測(cè)試過(guò)程的自動(dòng)化時(shí),成本是切實(shí)可見(jiàn)的,但是凈現(xiàn)值仍舊包含許多無(wú)形的因素。最好的方法就是盡量精確計(jì)算直接成本,然后與自動(dòng)化測(cè)試產(chǎn)生的直接和間接的效益進(jìn)行對(duì)比。

            在ROI計(jì)算中需要考慮的直接成本包括:

            購(gòu)買(mǎi)成本:購(gòu)買(mǎi)自動(dòng)化測(cè)試軟件產(chǎn)品的成本。

            硬件成本:功能測(cè)試所必需的硬件成本。有代表性的是,功能測(cè)試不需要特殊的硬件,只需帶有以太網(wǎng)端口的標(biāo)準(zhǔn)臺(tái)式電腦或者工作站即可。

            勞動(dòng)力成本:培訓(xùn)職員編寫(xiě)測(cè)試用例腳本或進(jìn)行手工測(cè)試的成本因素。確認(rèn)要包括招聘,雇傭,支付工資,和保留熟練的QA工程師的成本。

            培訓(xùn)成本:依賴(lài)于所選擇的測(cè)試產(chǎn)品,培訓(xùn)使用者精通編寫(xiě)自動(dòng)測(cè)試腳本是值得的。當(dāng)然,公司可以選擇雇用專(zhuān)業(yè)的服務(wù)公司創(chuàng)建最初的自動(dòng)化測(cè)試。

            當(dāng)衡量自動(dòng)化的潛在益處時(shí),考慮隱性效益是很重要的,例如測(cè)試人員高漲的士氣和對(duì)工作的滿(mǎn)意度,改進(jìn)的客戶(hù)滿(mǎn)意度和忠實(shí)度,還有因?yàn)樽罱K用戶(hù)使用的可信賴(lài)的軟件而不斷提高的知名度。

            8.如何評(píng)估自動(dòng)化測(cè)試軟件?

            很多商家提供自動(dòng)化測(cè)試產(chǎn)品。每個(gè)解決方案都有自身的優(yōu)勢(shì)和劣勢(shì),獨(dú)特的功能,和市場(chǎng)環(huán)境。每個(gè)企業(yè)需求的特殊性決定了最適合的一種選擇。然而,任何自動(dòng)化測(cè)試產(chǎn)品都應(yīng)當(dāng)包含一些關(guān)鍵的性能:

            自動(dòng)化測(cè)試的“Scriptless”表示法:產(chǎn)品應(yīng)該提供一個(gè)可點(diǎn)擊的界面,在測(cè)試時(shí)與應(yīng)用組件進(jìn)行訪(fǎng)問(wèn)和交互——而不是呈現(xiàn)出一行行的腳本。測(cè)試者應(yīng)該可以可視化每一步的業(yè)務(wù)過(guò)程,并且直觀的觀察和編輯測(cè)試用例。這將減少測(cè)試者在學(xué)習(xí)上走彎路,并幫助測(cè)試團(tuán)隊(duì)面對(duì)緊迫的最終期限。

            集成的數(shù)據(jù)表:自動(dòng)化功能測(cè)試的一個(gè)關(guān)鍵的好處就是可以使系統(tǒng)快速產(chǎn)生大量數(shù)據(jù)。還有一個(gè)重要的功能就是操作數(shù)據(jù)集,執(zhí)行計(jì)算,并以最小的代價(jià)快速創(chuàng)建數(shù)以百計(jì)的重復(fù)測(cè)試和組合。企業(yè)應(yīng)該尋找擁有提供強(qiáng)大計(jì)算能力的集成電子數(shù)據(jù)表單的產(chǎn)品。

             清晰明確的報(bào)告:如果測(cè)試結(jié)果不容易理解或解釋?zhuān)敲醇词惯\(yùn)行大量測(cè)試數(shù)據(jù)也不會(huì)有什么好處。測(cè)試產(chǎn)品應(yīng)當(dāng)自動(dòng)的產(chǎn)生并顯示所有測(cè)試運(yùn)行方面的報(bào)告,并 用易讀的格式解釋結(jié)果。報(bào)告應(yīng)當(dāng)提供的細(xì)節(jié)包括:應(yīng)用在什么地方發(fā)生了失敗和使用了什么樣的測(cè)試數(shù)據(jù);為應(yīng)用的每一步提供高亮或有差別的屏幕顯示;并提供 每個(gè)檢查點(diǎn)通過(guò)和失敗的詳細(xì)解釋。當(dāng)然還應(yīng)當(dāng)能夠在不用修改的情況下,在測(cè)試和開(kāi)發(fā)團(tuán)隊(duì)之間共享報(bào)告。

            9.要點(diǎn)列表:自動(dòng)化測(cè)試成功的五個(gè)關(guān)鍵

            即使已經(jīng)證明了測(cè)試的自動(dòng)化是經(jīng)濟(jì)有效的,然而如何確定轉(zhuǎn)變到自動(dòng)化測(cè)試過(guò)程上的最佳方法依然是困難的。這部分略述了執(zhí)行自動(dòng)化測(cè)試過(guò)程的五個(gè)基本原則。

            1.完成一個(gè)測(cè)試計(jì)劃文檔。理解被測(cè)應(yīng)用的目標(biāo)是任何測(cè)試成功的基礎(chǔ)。這包括全面的預(yù)先計(jì)劃以確保測(cè)試需求被正確的實(shí)施。測(cè)試工具應(yīng)提供為所有被測(cè)應(yīng)用管理測(cè)試用例和需求的能力。

            2.將測(cè)試細(xì)分為自動(dòng)測(cè)試用例。一個(gè)組織自動(dòng)執(zhí)行一個(gè)測(cè)試計(jì)劃的所有方面是不可能的。自動(dòng)化測(cè)試應(yīng)該集中圍繞在需求設(shè)計(jì)的復(fù)雜應(yīng)用上和急迫的業(yè)務(wù)過(guò)程功能上,許多組織發(fā)現(xiàn)他們使用自動(dòng)化測(cè)試只占總測(cè)試用例的60%,而余下的40%為手工測(cè)試。

             3.創(chuàng)建自動(dòng)化測(cè)試。測(cè)試工具極大簡(jiǎn)化了準(zhǔn)備測(cè)試數(shù)據(jù)和腳本的過(guò)程。這使得更多的完全測(cè)試可最佳地使用測(cè)試資源和結(jié)果。使用測(cè)試工具,使用者可以不必作 任何實(shí)際腳本而創(chuàng)建測(cè)試。測(cè)試工具應(yīng)能自動(dòng)捕獲目標(biāo)應(yīng)用的業(yè)務(wù)過(guò)程,并允許使用者創(chuàng)建一個(gè)可以被保存的而且可以被管理的測(cè)試流程。

            4.提高測(cè)試覆蓋的數(shù)據(jù)驅(qū)動(dòng)測(cè)試。測(cè)試者就可以為應(yīng)用創(chuàng)建一個(gè)使用儲(chǔ)藏在Excel電子表格里的特殊關(guān)鍵字的依賴(lài)于數(shù)據(jù)的測(cè)試。這就允許測(cè)試者通過(guò)應(yīng)用驅(qū)動(dòng)大量的測(cè)試數(shù)據(jù)。

            5.給測(cè)試增加驗(yàn)證。需要在測(cè)試中添加了“通過(guò)或失敗”的測(cè)試標(biāo)準(zhǔn)。這包括了應(yīng)用的前端,中間層,或后端數(shù)據(jù)庫(kù)的驗(yàn)證。內(nèi)置的數(shù)據(jù)庫(kù)驗(yàn)證使數(shù)據(jù)庫(kù)值的存儲(chǔ)得到確認(rèn),并確保處理的精確性和已更新、刪除或增加的數(shù)據(jù)記錄的完整性。

            10.總結(jié)

            功能測(cè)試可以不是耗時(shí)或高成本的問(wèn)題。采用自動(dòng)化功能測(cè)試,企業(yè)可以將重點(diǎn)放在改進(jìn)自動(dòng)業(yè)務(wù)過(guò)程方面。開(kāi)發(fā)和QA組可以增加測(cè)試過(guò)程的速度和精確度。整個(gè)IT部門(mén)可以獲得更高的投資回報(bào),而且降低了大量風(fēng)險(xiǎn)。

          posted @ 2011-10-25 14:30 順其自然EVO| 編輯 收藏

          老徐最近翻譯的Mercury“最佳功能測(cè)試實(shí)踐”-第一部分

          1       概述

                 測(cè)試過(guò)程作為功能測(cè)試的最佳實(shí)踐,用于實(shí)施不同機(jī)構(gòu)的功能測(cè)試工作。它可以作為測(cè)試計(jì)劃工作的基礎(chǔ),應(yīng)用于每個(gè)軟件開(kāi)發(fā)的項(xiàng)目。在這個(gè)測(cè)試過(guò)程中描述的活動(dòng)既可以用于新開(kāi)發(fā)的組件,亦可以用于改進(jìn)現(xiàn)有的回歸測(cè)試。

          2       測(cè)試管理

          為了能順利地獲得測(cè)試的結(jié)果,將測(cè)試作為獨(dú)立管理的過(guò)程是非常必要的。測(cè)試管理可以分為下面四個(gè)領(lǐng)域。

          1)測(cè)試計(jì)劃

          2)測(cè)試執(zhí)行

          3)測(cè)試控制

          4)測(cè)試過(guò)程改進(jìn)

          用于支持測(cè)試管理各個(gè)領(lǐng)域的工具可以采用TestDirector

          1.1測(cè)試策略和計(jì)劃
              在制定測(cè)試策略時(shí),要基于被測(cè)軟件的質(zhì)量目標(biāo)。質(zhì)量目標(biāo)就是測(cè)試的需求。它們決定了測(cè)試的階段和質(zhì)量的目標(biāo)。要想最優(yōu)化測(cè)試的活動(dòng)并制定一個(gè)切實(shí)可行的測(cè) 試計(jì)劃,需要將被測(cè)軟件分解成為一個(gè)一個(gè)的業(yè)務(wù)功能。在進(jìn)行業(yè)務(wù)功能分解時(shí),要以黑盒的方法來(lái)看待被測(cè)軟件的功能,即獨(dú)立于軟件的實(shí)現(xiàn)方法。若想計(jì)算測(cè)試 的效果并且保證測(cè)試的活動(dòng)適合于特定業(yè)務(wù)的需要,則需要引入風(fēng)險(xiǎn)評(píng)估的手段。

          1.1.1   需求
              測(cè)試的必要條件是要確定預(yù)期結(jié)果或者需求。
          為了能更好的了解需求,將需求進(jìn)行分類(lèi)是非常有幫助的。以我們的觀點(diǎn),可以將需求分為功能性需求和質(zhì)量需求(非功能性需求)。功能性需求描述了在業(yè)務(wù)上期望如何使用新的軟件系統(tǒng),且該系統(tǒng)中應(yīng)該包括哪些功能。質(zhì)量需求包括的是軟件系統(tǒng)的通用特性,且獨(dú)立于功能。
          1.1.1.1      功能性需求
              功能性需求以業(yè)務(wù)設(shè)計(jì)圖的方式記錄于文檔中。為了在TestDirector中將需求作為測(cè)試的基礎(chǔ),需要將需求導(dǎo)入到TestDirector中。相應(yīng)的業(yè)務(wù)設(shè)計(jì)圖作為需求的附件存在,并作為將來(lái)測(cè)試活動(dòng)的依據(jù)。
          1.1.1.2             質(zhì)量需求
              質(zhì)量需求由兩部分構(gòu)成,
          一部分是為整個(gè)產(chǎn)品或者項(xiàng)目定義的質(zhì)量目標(biāo),另一部分是每個(gè)業(yè)務(wù)功能的質(zhì)量需求,這些業(yè)務(wù)功能的質(zhì)量需求取決于風(fēng)險(xiǎn)評(píng)估的結(jié)果。
          1.1.1.2.1       質(zhì)量目標(biāo)
          1)適應(yīng)性
          組件被修改以適應(yīng)新需求的難易程度。

          2)完整性
          組件實(shí)現(xiàn)所有需要的能力的程度。

          3)正確性
          a)        組件在規(guī)格分析、設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中無(wú)錯(cuò)誤的程度
          b)        組件滿(mǎn)足需求或者用戶(hù)需要與期望的程度
          c)        基于給定輸入產(chǎn)生相應(yīng)輸出的能力,并且這個(gè)過(guò)程符合或者滿(mǎn)足需求

          4)有效性
          當(dāng)組件完成指定任務(wù)時(shí),能最少使用所需資源的程度。

          5)可維護(hù)性
          組件被修改以糾正錯(cuò)誤,提高性能或其他屬性,或者適應(yīng)被改變了的環(huán)境的難易程度

          6)模塊性
          軟件系統(tǒng)由離散的組件組成的程度,即改變一個(gè)組件時(shí)能將對(duì)其他組件的影響降至最低。

          7)可移植性
          軟件系統(tǒng)或組件能被轉(zhuǎn)移到其他硬件平臺(tái)或者軟件平臺(tái)上的難易程度。

          8)可靠性
          組件在一定的時(shí)間內(nèi)、一定的條件下執(zhí)行所需完成功能的能力。

          9)可用性
          用戶(hù)對(duì)軟件組件的理解和操作的難易程度。

          1.1.1.2.2       業(yè)務(wù)功能的質(zhì)量需求
              業(yè)務(wù)功能的質(zhì)量需求是依據(jù)業(yè)務(wù)的風(fēng)險(xiǎn)進(jìn)行定義的。
          業(yè)務(wù)風(fēng)險(xiǎn)和技術(shù)復(fù)雜度的信息存儲(chǔ)在測(cè)試的需求中。這兩個(gè)參數(shù)決定了測(cè)試的程序和測(cè)試的工作量。另外,針對(duì)業(yè)務(wù)功能分配測(cè)試員,并且將測(cè)試活動(dòng)的當(dāng)前狀態(tài)落實(shí)到紙面上。只有這樣做才能在針對(duì)業(yè)務(wù)功能的整個(gè)測(cè)試過(guò)程中監(jiān)控測(cè)試的狀態(tài)。
          1.1.2   測(cè)試階段的定義
              依據(jù)已經(jīng)定義的質(zhì)量目標(biāo),我們需要將測(cè)試階段進(jìn)行合理的劃分。
          通常情況有以下幾個(gè)階段:

          1)開(kāi)發(fā)員自測(cè)試階段(不在我們的考慮范圍之內(nèi))
          2)業(yè)務(wù)功能測(cè)試(單元測(cè)試)
          3)業(yè)務(wù)流程測(cè)試(應(yīng)用級(jí)的集成測(cè)試)
          4)業(yè)務(wù)集成測(cè)試(端到端的集成測(cè)試)
          5)性能測(cè)試
          6)系統(tǒng)集成測(cè)試

          下面的表中描述了每個(gè)測(cè)試階段需要達(dá)到的質(zhì)量目標(biāo):

           

             業(yè)務(wù)功能測(cè)試和業(yè)務(wù)流程測(cè)試是在軟件項(xiàng)目開(kāi)發(fā)過(guò)程中完成的。而業(yè)務(wù)集成測(cè)試和系統(tǒng)集成測(cè)試則組合成回歸測(cè)試,用于軟件系統(tǒng)上線(xiàn)前或者發(fā)布為產(chǎn)品前來(lái)檢驗(yàn)軟件的質(zhì)量。


          1.1.3   質(zhì)量門(mén)
              測(cè)試是在不同的階段中完成的。劃分不同階段的原因就是將不同的質(zhì)量目標(biāo)分配到不同的階段中,從而能將測(cè)試的執(zhí)行盡可能的提前。所以,在相鄰的測(cè)試階段中設(shè)置一個(gè)質(zhì)量門(mén)就成為保障成功的關(guān)鍵要素。

          下面的圖中展示了每?jī)蓚€(gè)相鄰階段的質(zhì)量門(mén)是如何設(shè)定的:

           


          下面是對(duì)質(zhì)量門(mén)的一種詳細(xì)定義:

          1)在業(yè)務(wù)功能測(cè)試之后

          u 業(yè)務(wù)功能測(cè)試的測(cè)試用例執(zhí)行了80%以上

          u 業(yè)務(wù)功能測(cè)試的測(cè)試用例(A級(jí)風(fēng)險(xiǎn))執(zhí)行了100%

          u 少于5個(gè)服務(wù)器端錯(cuò)誤

          u 少于30個(gè)中級(jí)錯(cuò)誤

          u 無(wú)致命性缺陷

          2)在業(yè)務(wù)流程測(cè)試之后

          u 業(yè)務(wù)功能測(cè)試通過(guò)

          u 業(yè)務(wù)流程執(zhí)行了100%

          u 無(wú)業(yè)務(wù)流程完全失效,所有的錯(cuò)誤都可以被修復(fù)

          u 無(wú)致命性缺陷

          3)在業(yè)務(wù)集成測(cè)試之后

          u 業(yè)務(wù)流程測(cè)試通過(guò)

          u 業(yè)務(wù)集成流程執(zhí)行了100%

          u 無(wú)致命性缺陷

          1.1.4   功能分解
                  在計(jì)劃測(cè)試活動(dòng)之前,功能分解應(yīng)該作為第一個(gè)要完成的活動(dòng)。
          進(jìn)行功能分解時(shí),應(yīng)該邀請(qǐng)業(yè)務(wù)方面和需求分析方面的代表共同參加。通常情況下,要遵從下面的原則:

          1) 每個(gè)用戶(hù)情形都是一個(gè)業(yè)務(wù)功能

          2) 如果一組用戶(hù)情形非常相似,那它們應(yīng)該組合在一起形成一個(gè)業(yè)務(wù)功能

          3) 如果一個(gè)用戶(hù)情形非常大或者非常復(fù)雜,則應(yīng)該將其分解為兩個(gè)或者更多的業(yè)務(wù)功能
             
          進(jìn)行功能分解的思路體現(xiàn)在“將測(cè)試的單元確定為包含少量功能點(diǎn)的單位”,這樣,每個(gè)測(cè)試單元的測(cè)試用例的數(shù)量就會(huì)被限制在一定的范圍之內(nèi)。我們可以將分解的目標(biāo)設(shè)定為每個(gè)業(yè)務(wù)功能只有最多30-40個(gè)測(cè)試用例。    既然質(zhì)量保證的基本思路是降低缺陷破壞業(yè)務(wù)的風(fēng)險(xiǎn),同時(shí)為了確保質(zhì)量保證的資源得到充分的利用,我們需要對(duì)每個(gè)業(yè)務(wù)功能進(jìn)行風(fēng)險(xiǎn)的評(píng)估。
          1.1.5   風(fēng)險(xiǎn)評(píng)估
          還要考慮到的是,我們也要對(duì)技術(shù)影響進(jìn)行分析。這樣我們能對(duì)完成每個(gè)業(yè)務(wù)功能的測(cè)試活動(dòng)所需的工作量進(jìn)行估算。 

          1.1.5.1  業(yè)務(wù)風(fēng)險(xiǎn)分析
              業(yè)務(wù)風(fēng)險(xiǎn)評(píng)估需要針對(duì)被測(cè)軟件的所有業(yè)務(wù)功能。
          評(píng)估的標(biāo)準(zhǔn)應(yīng)該在整個(gè)業(yè)務(wù)的范圍內(nèi)是唯一的,才能在企業(yè)范圍內(nèi)使不同的評(píng)估結(jié)果具有可比性。

           

                    結(jié)果

          標(biāo)準(zhǔn)

          A

          高級(jí)風(fēng)險(xiǎn)

          B

          中級(jí)風(fēng)險(xiǎn)

          C

          低級(jí)風(fēng)險(xiǎn)

          流程的類(lèi)型

          計(jì)算/驗(yàn)證

          數(shù)據(jù)的改變

          顯示

          業(yè)務(wù)影響

          合法性

          錯(cuò)誤信息

          無(wú)

          使用頻度

          非常頻繁

          經(jīng)常

          極少

          受影響客戶(hù)的數(shù)量

          大量/非常重要

           

          1.1    測(cè)試準(zhǔn)備
              測(cè)試的準(zhǔn)備是一個(gè)獨(dú)立的、分離的階段,測(cè)試員在這個(gè)階段中基于需求文檔準(zhǔn)備測(cè)試(業(yè)務(wù)設(shè)計(jì)圖)。測(cè)試的準(zhǔn)備要依據(jù)標(biāo)準(zhǔn)的方法,并應(yīng)基于本階段的工作生成標(biāo)準(zhǔn)化的文檔。
          1.1.1   業(yè)務(wù)功能測(cè)試
              基于風(fēng)險(xiǎn)評(píng)估,針對(duì)每個(gè)業(yè)務(wù)功能的不同風(fēng)險(xiǎn)級(jí)別都應(yīng)有一個(gè)對(duì)應(yīng)的測(cè)試過(guò)程和方法組合:
          1)A級(jí)風(fēng)險(xiǎn)
          利用等價(jià)類(lèi)和組合進(jìn)行系統(tǒng)性的測(cè)試完全自動(dòng)化

          2)  B級(jí)風(fēng)險(xiǎn)
          利用等價(jià)類(lèi)進(jìn)行系統(tǒng)性的測(cè)試完全自動(dòng)化

          3)  C級(jí)風(fēng)險(xiǎn)
          隨意性測(cè)試手工執(zhí)行,在TestDirector中提供文檔化的執(zhí)行過(guò)程

                 對(duì)于每個(gè)測(cè)試過(guò)程和方法組合,要提供一個(gè)標(biāo)準(zhǔn)的文檔進(jìn)行方法論級(jí)的闡述和規(guī)定,每個(gè)測(cè)試人員依據(jù)這些標(biāo)準(zhǔn)的測(cè)試過(guò)程和方法組合進(jìn)行測(cè)試。

              在TestDirector中要將測(cè)試用例的準(zhǔn)備結(jié)果作為業(yè)務(wù)功能的附件。

          1.1.2   業(yè)務(wù)流程測(cè)試
              業(yè)務(wù)流程測(cè)試是將所有的業(yè)務(wù)功能組合在一起,使用同一組數(shù)據(jù)進(jìn)行工作。
              測(cè)試員的任務(wù)就是要確定每個(gè)業(yè)務(wù)功能的組合是否能連貫的執(zhí)行。
              判斷的結(jié)果使用矩陣來(lái)表示,例如下圖:
          注:yes(+);no(-)

          業(yè)務(wù)流程矩陣

           

           

          1

          2

          3

          4

          5

           

           

           

          登陸

           

          航班

          查詢(xún)

           

          航班

          預(yù)定

           

          退出

           

          注冊(cè)

           

                   后功能

          前功能

          1

          登陸

          -

          +

          -

          +

          +

          2

          航班查詢(xún)

          -

          +

          +

          +

          -

          3

          航班預(yù)定

          -

          +

          -

          +

          -

          4

          退出

          +

          -

          -

          -

          -

          5

          注冊(cè)

          +

          -

          -

          -

          +

          從上面的表中我們能獲得三個(gè)業(yè)務(wù)流程測(cè)試案例:
          1)        1,2,2,3,2,4,1,1
          2)        1,5,4
          3)        1,2,3,4

          1.1.3   業(yè)務(wù)集成測(cè)試
          使用現(xiàn)有的回歸測(cè)試案例進(jìn)行業(yè)務(wù)集成測(cè)試。
          在第一個(gè)階段,測(cè)試案例僅被自動(dòng)化,而不考慮測(cè)試的覆蓋率。
          在第二階段,測(cè)試案例將被改進(jìn),以提高測(cè)試的覆蓋率。
          對(duì)于所有的新項(xiàng)目,回歸測(cè)試應(yīng)該在業(yè)務(wù)功能測(cè)試階段和業(yè)務(wù)流程測(cè)試階段的測(cè)試結(jié)果的基礎(chǔ)上進(jìn)行建設(shè)。
          依據(jù)業(yè)務(wù)流程矩陣創(chuàng)建測(cè)試案例集,這個(gè)測(cè)試案例集應(yīng)該能覆蓋被測(cè)系統(tǒng)的所有外部接口。
          假定我們的被測(cè)系統(tǒng)是Mercury的機(jī)票預(yù)定系統(tǒng),它的架構(gòu)圖如下:

           

           
          業(yè)務(wù)流程矩陣的設(shè)計(jì)如下圖:

          在業(yè)務(wù)集成測(cè)試階段中的測(cè)試案例開(kāi)發(fā)

           

           

          1

          2

          3

          4

           

           

           

           

          預(yù)定一個(gè)航班

           

          打印機(jī)票

           

          posted @ 2011-10-25 14:19 順其自然EVO| 編輯 收藏

          測(cè)試用例編寫(xiě)規(guī)范小結(jié)

          一、測(cè)試用例編寫(xiě)準(zhǔn)備

            從配置管理員處申請(qǐng)軟件配置:《需求規(guī)格說(shuō)明書(shū)》和《設(shè)計(jì)說(shuō)明書(shū)》;根據(jù)需求規(guī)格說(shuō)明書(shū)和設(shè)計(jì)說(shuō)明書(shū),詳細(xì)理解用戶(hù)的真正需求,并且對(duì)軟件所實(shí)現(xiàn)的功能已經(jīng)準(zhǔn)確理解,然后著手制訂測(cè)試用例。

            二、測(cè)試用例制定的原則

            測(cè)試用例要包括欲測(cè)試的功能、應(yīng)輸入的數(shù)據(jù)和預(yù)期的輸出結(jié)果。測(cè)試數(shù)據(jù)應(yīng)該選用少量、高效的測(cè)試數(shù)據(jù)進(jìn)行盡可能完備的測(cè)試;基本目標(biāo)是:設(shè)計(jì)一組發(fā)現(xiàn)某個(gè)錯(cuò)誤或某類(lèi)錯(cuò)誤的測(cè)試數(shù)據(jù),測(cè)試用例應(yīng)覆蓋方面:

            1、正確性測(cè)試:輸入用戶(hù)實(shí)際數(shù)據(jù)以驗(yàn)證系統(tǒng)是滿(mǎn)足需求規(guī)格說(shuō)明書(shū)的要求;測(cè)試用例中的測(cè)試點(diǎn)應(yīng)首先保證要至少覆蓋需求規(guī)格說(shuō)明書(shū)中的各項(xiàng)功能,并且正常。

            2、容錯(cuò)性(健壯性)測(cè)試:程序能夠接收正確數(shù)據(jù)輸入并且產(chǎn)生正確(預(yù)期)的輸出,輸入非法數(shù)據(jù)(非法類(lèi)型、不符合要求的數(shù)據(jù)、溢出數(shù)據(jù)等),程序應(yīng)能給出提示并進(jìn)行相應(yīng)處理。把自己想象成一名對(duì)產(chǎn)品操作一點(diǎn)也不懂的客戶(hù),在進(jìn)行任意操作。

            3、完整(安全)性測(cè)試:對(duì)未經(jīng)授權(quán)的人使用軟件系統(tǒng)或數(shù)據(jù)的企圖,系統(tǒng)能夠控制的程度,程序的數(shù)據(jù)處理能夠保持外部信息(數(shù)據(jù)庫(kù)或文件)的完整。

            4、接口間測(cè)試:測(cè)試各個(gè)模塊相互間的協(xié)調(diào)和通信情況,數(shù)據(jù)輸入輸出的一致性和正確性。

            5、數(shù)據(jù)庫(kù)測(cè)試依據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范對(duì)軟件系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)、數(shù)據(jù)表及其之間的數(shù)據(jù)調(diào)用關(guān)系進(jìn)行測(cè)試。

            6、邊界值分析法:確定邊界情況(剛好等于、稍小于和稍大于和剛剛大于等價(jià)類(lèi)邊界值),針對(duì)我們的系統(tǒng)在測(cè)試過(guò)程中主要輸入一些合法數(shù)據(jù)/非法數(shù)據(jù),主要在邊界值附近選取。

            7、壓力測(cè)試:輸入10條記錄運(yùn)行各個(gè)功能,輸入30條記錄運(yùn)行,輸入50條記錄運(yùn)行……進(jìn)行測(cè)試。

            8、等價(jià)劃分:將所有可能的輸入數(shù)據(jù)(有效的和無(wú)效的)劃分成若干個(gè)等價(jià)類(lèi)。

            9、錯(cuò)誤推測(cè):主要是根據(jù)測(cè)試經(jīng)驗(yàn)和直覺(jué),參照以往的軟件系統(tǒng)出現(xiàn)錯(cuò)誤之處。

            10、效率:完成預(yù)定的功能,系統(tǒng)的運(yùn)行時(shí)間(主要是針對(duì)數(shù)據(jù)庫(kù)而言)。

            11、可理解(操作)性:理解和使用該系統(tǒng)的難易程度(界面友好性)。

            12、可移植性:在不同操作系統(tǒng)及硬件配置情況下的運(yùn)行性。

            13、回歸測(cè)試:按照測(cè)試用例將所有的測(cè)試點(diǎn)測(cè)試完畢,測(cè)試中發(fā)現(xiàn)的問(wèn)題開(kāi)發(fā)人員已經(jīng)解決,進(jìn)行下一輪的測(cè)試。

            14、比較測(cè)試:將已經(jīng)發(fā)版的類(lèi)似產(chǎn)品或原有的老產(chǎn)品與測(cè)試的產(chǎn)品同時(shí)運(yùn)行比較,或與已往的測(cè)試結(jié)果比較。

            說(shuō)明:針對(duì)不同的測(cè)試類(lèi)型和測(cè)試階段,測(cè)試用例編寫(xiě)的側(cè)重點(diǎn)有所不同。

            1、  其中第1、2、6、8、9、13項(xiàng)為模塊(組件、控件)測(cè)試、組合(集成)測(cè)試、系統(tǒng)測(cè)試都涉及并重點(diǎn)測(cè)試的方面。

            2、  單元(模塊)測(cè)試(組件、控件)測(cè)試:重點(diǎn)測(cè)試第5項(xiàng)。

            3、  組合(集成)測(cè)試:重點(diǎn)進(jìn)行接口間數(shù)據(jù)輸入及邏輯的測(cè)試,即第4項(xiàng)。

            4、  系統(tǒng)測(cè)試:重點(diǎn)測(cè)試第3、7、10、11、12、14項(xiàng)。

            5、  其中壓力測(cè)試和可移植性測(cè)試如果是公司的系列產(chǎn)品,可以選用其中有代表性的產(chǎn)品進(jìn)行一次代表性測(cè)試即可。

            6、  GMPS基礎(chǔ)測(cè)試用例設(shè)計(jì)完成后,其他的測(cè)試項(xiàng)目只編寫(xiě)設(shè)計(jì)與之不同部分的測(cè)試用例。

            7、  對(duì)于每個(gè)測(cè)試項(xiàng)目測(cè)試的測(cè)試用例不是一成不變的,隨著測(cè)試經(jīng)驗(yàn)的積累或在測(cè)試其他項(xiàng)目發(fā)現(xiàn)有測(cè)試不充分的測(cè)試點(diǎn)時(shí),可以不斷的補(bǔ)充完善測(cè)試項(xiàng)目的測(cè)試用例。

            三、測(cè)試用例的填寫(xiě)

            一個(gè)軟件系統(tǒng)或項(xiàng)目共用一套完整的測(cè)試用例,整個(gè)系統(tǒng)測(cè)試過(guò)程測(cè)試完畢,將實(shí)際測(cè)試結(jié)果填寫(xiě)到測(cè)試用例中,操作步驟應(yīng)盡可能的詳細(xì),測(cè)試結(jié)論是指最終的測(cè)試結(jié)果(結(jié)論為:通過(guò)或不通過(guò))。



          posted @ 2011-10-25 14:07 順其自然EVO| 編輯 收藏

          如何設(shè)計(jì)編寫(xiě)軟件測(cè)試用例

            隨著中國(guó)軟件業(yè)的日益壯大和逐步走向成熟,軟件測(cè)試也在不斷發(fā)展:從最初的由軟件編程人員兼職測(cè)試到軟件公司組建獨(dú)立專(zhuān)職測(cè)試部門(mén);測(cè)試工作也從簡(jiǎn)單測(cè)試演變?yōu)榘ň幹茰y(cè)試計(jì)劃、編寫(xiě)測(cè)試用例、準(zhǔn)備測(cè)試數(shù)據(jù)、開(kāi)發(fā)測(cè)試腳本、實(shí)施測(cè)試、測(cè)試評(píng)估等多項(xiàng)內(nèi)容的正規(guī)測(cè)試;測(cè)試方式則由單純手工測(cè)試發(fā)展為手工、自動(dòng)兼之,并有向第三方專(zhuān)業(yè)測(cè)試公司發(fā)展的趨勢(shì)。

            一、測(cè)試用例是軟件測(cè)試的核心

            軟件測(cè)試的重要性是毋庸置疑的。但如何以最少的人力、資源投入,在最短的時(shí)間內(nèi)完成測(cè)試,發(fā)現(xiàn)軟件系統(tǒng)的缺陷,保證軟件的優(yōu)良品質(zhì),則是軟件公司探索和追求的目標(biāo)。每個(gè)軟件產(chǎn)品或軟件開(kāi)發(fā)項(xiàng)目都需要有一套優(yōu)秀的測(cè)試方案和測(cè)試方法。

             影響軟件測(cè)試的因素很多,例如軟件本身的復(fù)雜程度、開(kāi)發(fā)人員(包括分析、設(shè)計(jì)、編程和測(cè)試的人員)的素質(zhì)、測(cè)試方法和技術(shù)的運(yùn)用等等。因?yàn)橛行┮蛩厥强?觀存在的,無(wú)法避免。有些因素則是波動(dòng)的、不穩(wěn)定的,例如開(kāi)發(fā)隊(duì)伍是流動(dòng)的,有經(jīng)驗(yàn)的走了,新人不斷補(bǔ)充進(jìn)來(lái);一個(gè)具體的人工作也受情緒等影響,等等。如 何保障軟件測(cè)試質(zhì)量的穩(wěn)定?有了測(cè)試用例,無(wú)論是誰(shuí)來(lái)測(cè)試,參照測(cè)試用例實(shí)施,都能保障測(cè)試的質(zhì)量。可以把人為因素的影響減少到最小。即便最初的測(cè)試用例 考慮不周全,隨著測(cè)試的進(jìn)行和軟件版本更新,也將日趨完善。

            因此測(cè)試用例的設(shè)計(jì)和編制是軟件測(cè)試活動(dòng)中最重要的。測(cè)試用例是測(cè)試工作的指導(dǎo),是軟件測(cè)試的必須遵守的準(zhǔn)則,更是軟件測(cè)試質(zhì)量穩(wěn)定的根本保障。

            二、什么叫測(cè)試用例

            測(cè)試用例(Test Case)目前沒(méi)有經(jīng)典的定義。比較通常的說(shuō)法是:指對(duì)一項(xiàng)特定的軟件產(chǎn)品進(jìn)行測(cè)試任務(wù)的描述,體現(xiàn)測(cè)試方案、方法、技術(shù)和策略,內(nèi)容包括測(cè)試目標(biāo)、測(cè)試環(huán)境、輸入數(shù)據(jù)、測(cè)試步驟、預(yù)期結(jié)果、測(cè)試腳本等,并形成文檔。

             不同類(lèi)別的軟件,測(cè)試用例是不同的。不同于諸如系統(tǒng)、工具、控制、游戲軟件,管理軟件的用戶(hù)需求更加不統(tǒng)一,變化更大、更快。筆者主要從事企業(yè)管理軟件 的測(cè)試。因此我們的做法是把測(cè)試數(shù)據(jù)和測(cè)試腳本從測(cè)試用例中劃分出來(lái)。測(cè)試用例更趨于是針對(duì)軟件產(chǎn)品的功能、業(yè)務(wù)規(guī)則和業(yè)務(wù)處理所設(shè)計(jì)的測(cè)試方案。對(duì)軟件 的每個(gè)特定功能或運(yùn)行操作路徑的測(cè)試構(gòu)成了一個(gè)個(gè)測(cè)試用例。

            三、編寫(xiě)測(cè)試用例

            著重介紹一些編寫(xiě)測(cè)試用例的具體做法。

            1、測(cè)試用例文檔

            編寫(xiě)測(cè)試用例文檔應(yīng)有文檔模板,須符合內(nèi)部的規(guī)范要求。測(cè)試用例文檔將受制于測(cè)試用例管理軟件的約束。

            軟件產(chǎn)品或軟件開(kāi)發(fā)項(xiàng)目的測(cè)試用例一般以該產(chǎn)品的軟件模塊或子系統(tǒng)為單位,形成一個(gè)測(cè)試用例文檔,但并不是絕對(duì)的。

             測(cè)試用例文檔由簡(jiǎn)介和測(cè)試用例兩部分組成。簡(jiǎn)介部分編制了測(cè)試目的、測(cè)試范圍、定義術(shù)語(yǔ)、參考文檔、概述等。測(cè)試用例部分逐一列示各測(cè)試用例。每個(gè)具體 測(cè)試用例都將包括下列詳細(xì)信息:用例編號(hào)、用例名稱(chēng)、測(cè)試等級(jí)、入口準(zhǔn)則、驗(yàn)證步驟、期望結(jié)果(含判斷標(biāo)準(zhǔn))、出口準(zhǔn)則、注釋等。以上內(nèi)容涵蓋了測(cè)試用例 的基本元素:測(cè)試索引,測(cè)試環(huán)境,測(cè)試輸入,測(cè)試操作,預(yù)期結(jié)果,評(píng)價(jià)標(biāo)準(zhǔn)。

            2、測(cè)試用例的設(shè)置

            我們?cè)缙诘臏y(cè)試用例是按功能設(shè)置用例。后來(lái)引進(jìn)了路徑分析法,按路徑設(shè)置用例。目前演變?yōu)榘垂δ?、路徑混合模式設(shè)置用例。

            按功能測(cè)試是最簡(jiǎn)捷的,按用例規(guī)約遍歷測(cè)試每一功能。

            對(duì)于復(fù)雜操作的程序模塊,其各功能的實(shí)施是相互影響、緊密相關(guān)、環(huán)環(huán)相扣的,可以演變出數(shù)量繁多的變化。沒(méi)有嚴(yán)密的邏輯分析,產(chǎn)生遺漏是在所難免。路徑分析是一個(gè)很好的方法,其最大的優(yōu)點(diǎn)是在于可以避免漏測(cè)試。

             但路徑分析法也有局限性。在一個(gè)非常簡(jiǎn)單字典維護(hù)模塊就存在十余條路徑。一個(gè)復(fù)雜的模塊會(huì)有幾十到上百條路徑是不足為奇的。筆者以為這是路徑分析比較合 適的使用規(guī)模。若一個(gè)子系統(tǒng)有十余個(gè)或更多的模塊,這些模塊相互有關(guān)聯(lián)。再采用路徑分析法,其路徑數(shù)量成幾何級(jí)增長(zhǎng),達(dá)5位數(shù)或更多,就無(wú)法使用了。那么 子系統(tǒng)模塊間的測(cè)試路徑或測(cè)試用例還是要靠傳統(tǒng)方法來(lái)解決。這是按功能、路徑混合模式設(shè)置用例的由來(lái)。

            3、設(shè)計(jì)測(cè)試用例

             測(cè)試用例可以分為基本事件、備選事件和異常事件。設(shè)計(jì)基本事件的用例,應(yīng)該參照用例規(guī)約(或設(shè)計(jì)規(guī)格說(shuō)明書(shū)),根據(jù)關(guān)聯(lián)的功能、操作按路徑分析法設(shè)計(jì)測(cè) 試用例。而對(duì)孤立的功能則直接按功能設(shè)計(jì)測(cè)試用例。基本事件的測(cè)試用例應(yīng)包含所有需要實(shí)現(xiàn)的需求功能,覆蓋率達(dá)100%。

            設(shè)計(jì)備選事件 和異常事件的用例,則要復(fù)雜和困難得多。例如,字典的代碼是唯一的,不允許重復(fù)。測(cè)試需要驗(yàn)證:字典新增程序中已存在有關(guān)字典代碼的約束,若出現(xiàn)代碼重復(fù) 必須報(bào)錯(cuò),并且報(bào)錯(cuò)文字正確。往往在設(shè)計(jì)編碼階段形成的文檔對(duì)備選事件和異常事件分析描述不夠詳盡。而測(cè)試本身則要求驗(yàn)證全部非基本事件,并同時(shí)盡量發(fā)現(xiàn) 其中的軟件缺陷。

            可以采用軟件測(cè)試常用的基本方法:等價(jià)類(lèi)劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法、邏輯覆蓋法等設(shè)計(jì)測(cè)試用例。視軟件的不同性質(zhì)采用不同的方法。如何靈活運(yùn)用各種基本方法來(lái)設(shè)計(jì)完整的測(cè)試用例,并最終實(shí)現(xiàn)暴露隱藏的缺陷,全憑測(cè)試設(shè)計(jì)人員的豐富經(jīng)驗(yàn)和精心設(shè)計(jì)。

           四、測(cè)試用例在軟件測(cè)試中的作用

            1、指導(dǎo)測(cè)試的實(shí)施

            測(cè)試用例主要適用于集成測(cè)試、系統(tǒng)測(cè)試和回歸測(cè)試。在實(shí)施測(cè)試時(shí)測(cè)試用例作為測(cè)試的標(biāo)準(zhǔn),測(cè)試人員一定要按照測(cè)試用例嚴(yán)格按用例項(xiàng)目和測(cè)試步驟逐一實(shí)施測(cè)試。并對(duì)測(cè)試情況記錄在測(cè)試用例管理軟件中,以便自動(dòng)生成測(cè)試結(jié)果文檔。

            根據(jù)測(cè)試用例的測(cè)試等級(jí),集成測(cè)試應(yīng)測(cè)試那些用例,系統(tǒng)測(cè)試和回歸測(cè)試又該測(cè)試那些用例,在設(shè)計(jì)測(cè)試用例時(shí)都已作明確規(guī)定,實(shí)施測(cè)試時(shí)測(cè)試人員不能隨意作變動(dòng)。

            2、規(guī)劃測(cè)試數(shù)據(jù)的準(zhǔn)備

            在我們的實(shí)踐中測(cè)試數(shù)據(jù)是與測(cè)試用例分離的。按照測(cè)試用例配套準(zhǔn)備一組或若干組測(cè)試原始數(shù)據(jù),以及標(biāo)準(zhǔn)測(cè)試結(jié)果。尤其象測(cè)試報(bào)表之類(lèi)數(shù)據(jù)集的正確性,按照測(cè)試用例規(guī)劃準(zhǔn)備測(cè)試數(shù)據(jù)是十分必須的。

            除正常數(shù)據(jù)之外,還必須根據(jù)測(cè)試用例設(shè)計(jì)大量邊緣數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)。

            3、編寫(xiě)測(cè)試腳本的"設(shè)計(jì)規(guī)格說(shuō)明書(shū)"

            為提高測(cè)試效率,軟件測(cè)試已大力發(fā)展自動(dòng)測(cè)試。自動(dòng)測(cè)試的中心任務(wù)是編寫(xiě)測(cè)試腳本。如果說(shuō)軟件工程中軟件編程必須有設(shè)計(jì)規(guī)格說(shuō)明書(shū),那么測(cè)試腳本的設(shè)計(jì)規(guī)格說(shuō)明書(shū)就是測(cè)試用例。

            4、評(píng)估測(cè)試結(jié)果的度量基準(zhǔn)

            完成測(cè)試實(shí)施后需要對(duì)測(cè)試結(jié)果進(jìn)行評(píng)估,并且編制測(cè)試報(bào)告。判斷軟件測(cè)試是否完成、衡量測(cè)試質(zhì)量需要一些量化的結(jié)果。例:測(cè)試覆蓋率是多少、測(cè) 試合格率是多少、重要測(cè)試合格率是多少,等等。以前統(tǒng)計(jì)基準(zhǔn)是軟件模塊或功能點(diǎn),顯得過(guò)于粗糙。采用測(cè)試用例作度量基準(zhǔn)更加準(zhǔn)確、有效。

            5、分析缺陷的標(biāo)準(zhǔn)

            通過(guò)收集缺陷,對(duì)比測(cè)試用例和缺陷數(shù)據(jù)庫(kù),分析確證是漏測(cè)還是缺陷復(fù)現(xiàn)。漏測(cè)反映了測(cè)試用例的不完善,應(yīng)立即補(bǔ)充相應(yīng)測(cè)試用例,最終達(dá)到逐步完善軟件質(zhì)量。而已有相應(yīng)測(cè)試用例,則反映實(shí)施測(cè)試或變更處理存在問(wèn)題。

            五、相關(guān)問(wèn)題

            1、測(cè)試用例的評(píng)審

            測(cè)試用例是軟件測(cè)試的準(zhǔn)則,但它并不是一經(jīng)編制完成就成為準(zhǔn)則。測(cè)試用例在設(shè)計(jì)編制過(guò)程中要組織同級(jí)互查。完成編制后應(yīng)組織專(zhuān)家評(píng)審,需獲得通過(guò)才可以使用。評(píng)審委員會(huì)可由項(xiàng)目負(fù)責(zé)人、測(cè)試、編程、分析設(shè)計(jì)等有關(guān)人員組成,也可邀請(qǐng)客戶(hù)代表參加。

            2、測(cè)試用例的修改更新

            測(cè)試用例在形成文檔后也還需要不斷完善。主要來(lái)自三方面的緣故:第一、在測(cè)試過(guò)程中發(fā)現(xiàn)設(shè)計(jì)測(cè)試用例時(shí)考慮不周,需要完善;第二、在軟件交付使 用后反饋的軟件缺陷,而缺陷又是因測(cè)試用例存在漏洞造成;第三、軟件自身的新增功能以及軟件版本的更新,測(cè)試用例也必須配套修改更新。

            一般小的修改完善可在原測(cè)試用例文檔上修改,但文檔要有更改記錄。軟件的版本升級(jí)更新,測(cè)試用例一般也應(yīng)隨之編制升級(jí)更新版本。

            3、測(cè)試用例的管理軟件

            運(yùn)用測(cè)試用例還需配備測(cè)試用例管理軟件。它的主要功能有三個(gè):第一、能將測(cè)試用例文檔的關(guān)鍵內(nèi)容,如編號(hào)、名稱(chēng)等等自動(dòng)導(dǎo)入管理數(shù)據(jù)庫(kù),形成與 測(cè)試用例文檔完全對(duì)應(yīng)的記錄;第二、可供測(cè)試實(shí)施時(shí)及時(shí)輸入測(cè)試情況;第三、最終實(shí)現(xiàn)自動(dòng)生成測(cè)試結(jié)果文檔,包含各測(cè)試度量值,測(cè)試覆蓋表和測(cè)試通過(guò)或不 通過(guò)的測(cè)試用例清單列表。

            有了管理軟件,測(cè)試人員無(wú)論是編寫(xiě)每日的測(cè)試工作日志、還是出軟件測(cè)試報(bào)告,都會(huì)變得輕而易舉。


          posted @ 2011-10-25 14:01 順其自然EVO| 編輯 收藏

          關(guān)于測(cè)試用例理念的一些想法

            LAYO最近下載了幾篇PPT;又看見(jiàn)了這樣一段描述。

            G.J.Myers給出了關(guān)于測(cè)試的一些規(guī)則,被軟件工程領(lǐng)域認(rèn)可:

            (1)測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程;

           ?。?)好的測(cè)試方案極有可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤;

           ?。?)成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤。

            上面這段話(huà)是測(cè)試行業(yè)經(jīng)常能看到的一段關(guān)于測(cè)試的工程的一種解釋?zhuān)豢赡苡行┨硇曰蛘哒f(shuō)是書(shū)面化的解釋?zhuān)鳛橐粋€(gè)TESTER我很表示同意;但是一直沒(méi)有認(rèn)真理解這段話(huà)。

             測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤沒(méi)錯(cuò);但是我認(rèn)為有些狹義的想法;綜合整體的軟件質(zhì)量去評(píng)估去看;不單單在過(guò)程中去發(fā)現(xiàn)程序中的錯(cuò)誤;而包括在設(shè)計(jì)之初的錯(cuò) 誤邏輯和不合理的流程以及操作方式都是測(cè)試的過(guò)程中要關(guān)注的因子;所以就不僅僅是為了發(fā)現(xiàn)程序的錯(cuò)誤;一個(gè)認(rèn)真思考的TESTER是不拘在程序之內(nèi)的范 疇。所以我認(rèn)為測(cè)試是為了發(fā)現(xiàn)整個(gè)項(xiàng)目中任何不合理的錯(cuò)誤;包括文檔的錯(cuò)誤、業(yè)務(wù)流程中的漏洞、程序中的BUG、不正規(guī)的操作方式、不合理的數(shù)據(jù)流程。當(dāng) 然這算是一種理想測(cè)試過(guò)程。

            好的測(cè)試方案極有可能返現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤;我總是認(rèn)為這句話(huà)帶有鉆牛角尖的意味;好的的是方案其實(shí) 是一種無(wú)窮盡的操作;記得有一個(gè)夸張的小道理:一百萬(wàn)只猴子,給他們每人一個(gè)鍵盤(pán),給他們足夠的時(shí)間,讓他們打出莎士比亞全集。就是在接近無(wú)窮的測(cè)試下會(huì) 讓程序的問(wèn)題完全暴漏無(wú)疑;一個(gè)好的測(cè)試方案應(yīng)該是合適項(xiàng)目的測(cè)試方案;到什么山唱什么歌;看菜吃飯、量體裁衣;根據(jù)項(xiàng)目去指定測(cè)試方案,這種方案下去測(cè) 試該項(xiàng)目才能真正說(shuō)明項(xiàng)目問(wèn)題。

            成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤;我認(rèn)為將測(cè)試工作進(jìn)行了一次反革命性的引導(dǎo);行業(yè)需要?jiǎng)?chuàng)新思維;需要吹毛求疵;只能說(shuō)在現(xiàn)有的需求下去發(fā)現(xiàn)不應(yīng)該出現(xiàn)的問(wèn)題。測(cè)試用例是在有限的資源下設(shè)計(jì)出涵蓋面最廣而最有效的用例;不是說(shuō)為了測(cè)試而測(cè)試。

            測(cè)試的根源在需求;一切測(cè)試脫離需求都是不現(xiàn)實(shí)的測(cè)試;一切測(cè)試不能滿(mǎn)足需求就是不成功的測(cè)試。

          posted @ 2011-10-25 13:54 順其自然EVO| 編輯 收藏

          測(cè)試用例的價(jià)值

          一個(gè)測(cè)試用例是一個(gè)正式的文件或記錄,描述了測(cè)試活動(dòng)是怎樣具體執(zhí)行的。一些測(cè)試參考資料指出測(cè)試用例的目的就是發(fā)現(xiàn)缺陷,但是測(cè)試用例的用處遠(yuǎn)遠(yuǎn)超出發(fā)現(xiàn)缺陷。測(cè)試用例可以驗(yàn)證程序功能正常或驗(yàn)證錯(cuò)誤能被正確處理。測(cè)試用例的其他用處是可以嘗試增加代碼覆蓋或?qū)iT(mén)用于覆蓋很少使用的路徑。

            測(cè)試用例文檔的價(jià)值在微軟軟件測(cè)試行業(yè)之間有爭(zhēng)論。有幾個(gè)因素可以幫助決定是否選擇測(cè)試用例文檔。測(cè)試用例文檔有如下一些好處:

            歷史借鑒。測(cè)試用例的存在要遠(yuǎn)遠(yuǎn)超過(guò)產(chǎn)品發(fā)布。持續(xù)工程以及產(chǎn)品未來(lái)版本的負(fù)責(zé)人往往需要借用測(cè)試用例來(lái)了解測(cè)試過(guò)什么,以及如何測(cè)試的。測(cè)試用例文檔以及一個(gè)有組織的儲(chǔ)存系統(tǒng),對(duì)長(zhǎng)期支持或修訂產(chǎn)品的一部分是至關(guān)重要的策略。

            測(cè)試進(jìn)展跟蹤。通過(guò)測(cè)試用例文檔,可以跟蹤一些額外的屬性,如測(cè)試用例的執(zhí)行數(shù)目、測(cè)試用例的通過(guò)或失敗數(shù)目,以及每個(gè)功能領(lǐng)域的測(cè)試用例總數(shù)。

            可重復(fù)性。好的測(cè)試用例文檔可以由任何人在任何時(shí)候執(zhí)行。這同樣適用于自動(dòng)和手動(dòng)的測(cè)試用例文檔。重復(fù)準(zhǔn)確地執(zhí)行同樣的測(cè)試對(duì)重視步驟或檢驗(yàn)回歸是至關(guān)重要的。

            測(cè)試用例文檔也有如下缺點(diǎn):

            建立文檔的時(shí)間。如果建立測(cè)試用例文檔的時(shí)間比運(yùn)行測(cè)試用例所需的時(shí)間還長(zhǎng),建立測(cè)試用例文檔也許就沒(méi)有意義了。經(jīng)常有這樣的情況,即測(cè)試用例只需要在一個(gè)單一的環(huán)境下執(zhí)行寥寥幾次。

            功能變化引起測(cè)試用例過(guò)期。建立測(cè)試用例所需的時(shí)間很可能因?yàn)楣δ芙?jīng)常變化而增加,以至于失去控制。如果測(cè)試用例的功能領(lǐng)域變化頻繁,建立測(cè)試用例文檔就不一定是明智的。這種場(chǎng)景之一是嘗試寫(xiě)測(cè)試用例以驗(yàn)證用戶(hù)界面組件。

            很難設(shè)想讀者的知識(shí)。寫(xiě)測(cè)試用例的人往往對(duì)被測(cè)試的功能極為熟悉。這些人常犯的錯(cuò)誤是在測(cè)試用例中使用術(shù)語(yǔ)或縮寫(xiě),而將來(lái)運(yùn)行測(cè)試用例的人很可能看不懂這些測(cè)試用例。出現(xiàn)這種情況時(shí),測(cè)試用例已不再能準(zhǔn)確地重復(fù),測(cè)試用例也失去了這一關(guān)鍵屬性。

             測(cè)試用例通常用測(cè)試用例管理器(TCM)來(lái)建立文檔,微軟大部分團(tuán)隊(duì)用測(cè)試用例管理器記錄絕大多數(shù)測(cè)試用例。重要的是要記住,測(cè)試用例并沒(méi)有定義所有的 測(cè)試活動(dòng)。如缺陷大掃除,那是整個(gè)團(tuán)隊(duì)致力于數(shù)小時(shí)或數(shù)天的時(shí)間,專(zhuān)注于使用功能或應(yīng)用程序,尋找可能被測(cè)試用例過(guò)的缺陷,這種測(cè)試活動(dòng)在微軟的各團(tuán)隊(duì)是 常見(jiàn)的。許多團(tuán)隊(duì)也在產(chǎn)品周期中花時(shí)間致力于客戶(hù)的使用場(chǎng)景。例如,一些Visual Studio的團(tuán)隊(duì)經(jīng)常花一些時(shí)間,整個(gè)團(tuán)隊(duì)除了在Visual Studio開(kāi)發(fā)環(huán)境創(chuàng)造和建立各種應(yīng)用程序外,什么都不做。

          cc 

          posted @ 2011-10-25 13:50 順其自然EVO| 編輯 收藏

          軟件測(cè)試人員易遺漏的一些隱藏缺陷

            通常軟件測(cè)試會(huì)暴露軟件中的缺陷,經(jīng)過(guò)修正后可以保證軟件系統(tǒng)的功能滿(mǎn)足需求并正確運(yùn)行。但是,在系統(tǒng)測(cè)試和 確認(rèn)測(cè)試中,測(cè)試人員容易遺漏一些隱藏的缺陷。眾所周知,軟件測(cè)試不可能發(fā)現(xiàn)所有的缺陷,而軟件開(kāi)發(fā)周期各個(gè)階段仍然存在注入缺陷的可能,但是,有一些缺 陷是測(cè)試中容易忽略的,也就是說(shuō),通過(guò)測(cè)試方法和用例可以充分暴露這些缺陷,遺憾的是,它們往往被忽略或者某種原因忘記測(cè)試了,這就給軟件留下了隱患或者 危機(jī)。這些容易被忽略的缺陷包括:

            1、安裝缺陷

            通常項(xiàng)目組完成代碼后,發(fā)布時(shí)候安裝打包是最后一個(gè)環(huán)節(jié),而軟件測(cè)試人員通常在測(cè)試的時(shí)候,沒(méi)有仔細(xì)的測(cè)試這一部分,而把用例集中在其他功能上。安裝時(shí)候的缺陷通常通過(guò)拷貝而不是運(yùn)行安裝程序方式給測(cè)試人員安裝軟件,結(jié)果正式安裝時(shí)候出現(xiàn)問(wèn)題,引起例如控件沒(méi)有注冊(cè),注冊(cè)表沒(méi)有導(dǎo)入等。刪除時(shí)候沒(méi)有注意安裝文件夾是否存在用戶(hù)文件,造成數(shù)據(jù)丟失;使用絕對(duì)路徑;安裝順序沒(méi)有說(shuō)明書(shū)。

            2、配置文件

            有些文件在ini等配置文件中寫(xiě)出了管理員口令密碼等信息,而且是明文的!這是一個(gè)安全隱患。另外,有些安裝文件的 XML 文件,為了方便在數(shù)據(jù)庫(kù)和中間層連接文件中寫(xiě)入了Admin 口令和密碼。作為一個(gè)合格的軟件測(cè)試人員,必須檢查這些可以用記事本打開(kāi)的文件。因?yàn)?,一個(gè)稍有常識(shí)而且喜歡探索的用戶(hù),可能從中獲取信息而成為不自覺(jué)的黑客。所以,配置文件可能成為軟件安全方面的一個(gè)缺陷。

            3、網(wǎng)頁(yè)安全缺陷

            現(xiàn)在網(wǎng)站開(kāi)發(fā)已經(jīng)注意到:登陸網(wǎng)站進(jìn)入其內(nèi)部網(wǎng)頁(yè)后,直接拷貝網(wǎng)址,然后粘貼到另一IE 窗口輸入,可以繞過(guò)登陸直接訪(fǎng)問(wèn)。也許商業(yè)網(wǎng)站很關(guān)注這個(gè)問(wèn)題,但是很多行業(yè)軟件卻很容易忽略。

            網(wǎng)頁(yè)安全缺陷還可能存在于 IE 彈出的子窗口。有些設(shè)計(jì)不嚴(yán)格的軟件,在主頁(yè)面關(guān)閉的時(shí)候子頁(yè)面還可以運(yùn)行,這是一個(gè)明顯的漏洞,而且還大大增加了錯(cuò)誤發(fā)生的幾率。

            4、判斷順序/邏輯缺陷

             對(duì)界面進(jìn)行多個(gè)輸入判斷的時(shí)候,非常容易出現(xiàn)這種問(wèn)題。例如判斷年月順序,判斷長(zhǎng)度,判斷非空等。假如操作員僅僅滿(mǎn)足單個(gè)條件,保存不能成功;而按界面 從上之下順序一一滿(mǎn)足條件之后,保存是沒(méi)有問(wèn)題的。但是,改變一下輸入的次序,校驗(yàn)失效。例如,一一滿(mǎn)足條件之后,不保存,倒過(guò)來(lái)將上面的輸入改成非法輸 入,然后保存,結(jié)果居然也能成功,這是因?yàn)樵鹊呐袛嘤捎诎l(fā)生過(guò),或者根據(jù)語(yǔ)句順序只檢查最后一個(gè)判斷,所以沒(méi)有報(bào)錯(cuò)。這種錯(cuò)誤尤其在 Java scrīpt 腳本的頁(yè)面中要注意。能夠保存不能保證數(shù)據(jù)正確,有可能引起系統(tǒng)崩潰或者后續(xù)數(shù)據(jù)錯(cuò)誤。所以,在測(cè)試的時(shí)候,不要按照正常的順序輸入,而是要打亂步驟,看 看代碼是否強(qiáng)健,是否在判斷邏輯上沒(méi)有錯(cuò)誤。良好的代碼應(yīng)該經(jīng)得起折騰,至少保存時(shí)會(huì)再此全部進(jìn)行判斷,而不只是簡(jiǎn)簡(jiǎn)單單走到判斷的最后一行。

            5、調(diào)試語(yǔ)句和冗余信息

             維護(hù)項(xiàng)目和升級(jí)改造的推廣系統(tǒng)最容易潛伏這類(lèi)缺陷。典型表現(xiàn)在沒(méi)有刪除或者屏蔽調(diào)試語(yǔ)句。彈出一個(gè)界面不友好的提示信息,會(huì)使不明真相的用戶(hù)產(chǎn)生誤以為 系統(tǒng)發(fā)生了嚴(yán)重故障,從而引起對(duì)軟件的不信任感。頁(yè)面中某個(gè)角落存在當(dāng)前客戶(hù)不需要的冗余按鈕和功能也是一種缺陷。多余的功能會(huì)使用戶(hù)以為是額外附加部分 而去使用,其結(jié)果可想而知;而多余的按鈕會(huì)誤導(dǎo)好奇心強(qiáng)的用戶(hù)操作,產(chǎn)生不必要的錯(cuò)誤。

            同樣值得關(guān)注的還有參數(shù)設(shè)置,由于沒(méi)有實(shí)際數(shù)據(jù),開(kāi)發(fā)人員在調(diào)試或者單元測(cè)試的時(shí)候,習(xí)慣性的進(jìn)行自我設(shè)定而忘了刪除,軟件測(cè)試人員可能會(huì)忽略掉了這部分測(cè)試,也可能導(dǎo)致在客戶(hù)現(xiàn)場(chǎng)發(fā)生錯(cuò)誤而影響系統(tǒng)發(fā)布和驗(yàn)收。

            6、不可重現(xiàn)的故障

            新參加軟件測(cè)試的人員或者新來(lái)的開(kāi)發(fā)人員總是要問(wèn),不可重現(xiàn)的缺陷是否需要記錄,有必要嗎?回答是肯定的。測(cè)試必須如實(shí)的記錄發(fā)生的問(wèn)題,也許不能重現(xiàn),或者使非軟件系統(tǒng)本身問(wèn)題,但是,可能這些偶然性背后是有規(guī)律的,不記錄這些,就不可能發(fā)現(xiàn)這些規(guī)律。

            7、多節(jié)點(diǎn)的逆向流轉(zhuǎn)缺陷

            當(dāng)前軟件不少喜歡使用工作流來(lái)驅(qū)動(dòng)。工作流的問(wèn)題,就是可能出現(xiàn)多個(gè)流向分支。測(cè)試容易忽略的部分,就是工作流多節(jié)點(diǎn)的逆向流轉(zhuǎn)。例如,通過(guò)不 通過(guò)涉及兩個(gè)分支,但是流程逆轉(zhuǎn)的時(shí)候,有可能不是回到上一節(jié)點(diǎn)而是平級(jí)的另一個(gè)節(jié)點(diǎn)去了。軟件測(cè)試要格外注意這類(lèi)用例的設(shè)計(jì)。另外,有些時(shí)候默認(rèn)分支在 向前的時(shí)候是有默認(rèn)值的,例如默認(rèn)通過(guò),那么保存的時(shí)候要提示用戶(hù)是否通過(guò),否則可能由于操作疲勞而走錯(cuò)了節(jié)點(diǎn),引起回退。

            8、輸入框缺陷

            試過(guò)往輸入框粘貼數(shù)據(jù)而不是直接輸入嗎?可能這里會(huì)出現(xiàn)問(wèn)題。按 Ctrl+V 的時(shí)候,輸入框會(huì)根據(jù)長(zhǎng)度大小自動(dòng)截?cái)噍斎腴L(zhǎng)度。但是用鼠標(biāo),截?cái)嗫赡軙?huì)失效。有一次測(cè)試人員就是用這種方法把一篇 Word 文檔輸入進(jìn)去了,保存的時(shí)候,數(shù)據(jù)庫(kù)崩潰。有些網(wǎng)站登陸的口令****可以拷貝下來(lái)的,只要放在剪貼板里面馬上明文顯示。

            輸入框可以說(shuō)是問(wèn)題最多的部分,能夠引起的麻煩也很多。日期、數(shù)字、文本等等,都需要耐心的測(cè)試一下。

            9、界面布局缺陷

            曾經(jīng)有一次,項(xiàng)目經(jīng)理回來(lái)向測(cè)試部反映一個(gè)問(wèn)題,客戶(hù)對(duì)界面不滿(mǎn)意。原因很簡(jiǎn)單,因?yàn)榻缑嫔蟿h除按鈕和保存按鈕挨得很近。結(jié)果有些操作不熟練的 業(yè)務(wù)人員,很容易誤按。這個(gè)問(wèn)題是測(cè)試人員沒(méi)有意料到的,因此注意關(guān)閉、刪除、退出按鈕與保存、下一步等按鈕的距離。類(lèi)似的按鈕應(yīng)按此規(guī)則排列分布。

            界面布局還可能發(fā)生在窗口最大化和最小化上,有可能窗口縮小的時(shí)候沒(méi)有下拉框或不匹配分辨率,對(duì)用戶(hù)來(lái)講,這個(gè)錯(cuò)誤實(shí)在很低級(jí)。有些用戶(hù)由于操 作習(xí)慣,非常不喜歡騰出手使用鼠標(biāo),尤其是大量輸入的界面,因此,要注意設(shè)置鍵盤(pán)的快捷方式。還有,按 Tab定位到下一焦點(diǎn)時(shí)要注意順序,避免跳轉(zhuǎn)太靈活而讓操作人員感到無(wú)從適應(yīng),在界面進(jìn)行維護(hù)或者修改的時(shí)候,不要忘了軟件測(cè)試開(kāi)發(fā)人員是否無(wú)意改變了這 些快捷方式和跳轉(zhuǎn)順序。

            10、版本和補(bǔ)丁包的環(huán)境問(wèn)題

            理論上講,這屬于兼容性測(cè)試應(yīng)該覆蓋的問(wèn)題。有些客戶(hù)很喜歡更新最新的軟件版本或者微軟時(shí)不時(shí)打些補(bǔ)丁包,問(wèn)題就出現(xiàn)了。有時(shí)候升級(jí)不一定是好 事。這些問(wèn)題最好在測(cè)試的時(shí)候增加幾個(gè)用例,多用不同軟件版本的機(jī)器跑一跑。軟件測(cè)試有個(gè)定律是:你沒(méi)跑過(guò)的地方,就一定會(huì)出事。經(jīng)常聽(tīng)到開(kāi)發(fā)人員抱怨, 怎么我的機(jī)器沒(méi)問(wèn)題,你的機(jī)器就有事了呢?這不能完全靠配置管理員解決問(wèn)題,環(huán)境配置項(xiàng)是大家最容易忽略的。

            11、用戶(hù)管理缺陷

            用戶(hù)管理的角色和授權(quán)需要好好研究一下,作過(guò)測(cè)試的人員都知道,有時(shí)候?yàn)榱藴y(cè)試的方便,測(cè)試用戶(hù)都是具有超級(jí)權(quán)限的用戶(hù)。而且,比較容易忽略用戶(hù)管理這一部分的測(cè)試。往往發(fā)往客戶(hù)的時(shí)候,很多測(cè)試用戶(hù)都沒(méi)有刪除。

            另外,有些接口的用戶(hù)和口令,到軟件使用壽命結(jié)束都沒(méi)有更改過(guò)。在一次測(cè)試中,軟件測(cè)試人員發(fā)現(xiàn),給一個(gè)用戶(hù)授超級(jí)用戶(hù)權(quán)限,之后更改這個(gè)用戶(hù) 為受限權(quán)限。使用中發(fā)現(xiàn),用戶(hù)居然沒(méi)有真正回收權(quán)限,用戶(hù)管理界面上沒(méi)有任何不對(duì)。及早準(zhǔn)備用戶(hù)管理用例,不要等到測(cè)試快結(jié)束時(shí)候才想起。

            12、常識(shí)缺陷

            從邏輯或者統(tǒng)計(jì)學(xué)上講,計(jì)算機(jī)是允許如此處理的,但是從常識(shí)上來(lái)講,這些情況不可能發(fā)生。例如電話(huà)號(hào)碼不可能出現(xiàn)小數(shù)點(diǎn),終止時(shí)間不能大于開(kāi)始 時(shí)間等等。除此之外,常識(shí)還要結(jié)合業(yè)務(wù)特點(diǎn)來(lái)進(jìn)行判斷,因此,開(kāi)發(fā)和測(cè)試人員要格外注意對(duì)自己知識(shí)的培養(yǎng)以及增加對(duì)需求細(xì)節(jié)的了解。不能因?yàn)橐晃蹲非筮M(jìn)度 而采用最簡(jiǎn)單的代碼來(lái)實(shí)現(xiàn),對(duì)用戶(hù)來(lái)說(shuō),這些錯(cuò)誤可能是很荒謬的。

            盡管我們不可能完美的測(cè)試一個(gè)軟件,但是我們?nèi)匀豢梢愿倪M(jìn)我們的軟件測(cè)試。每次測(cè)試結(jié)束,及時(shí)總結(jié)測(cè)試中的不足,進(jìn)一步完善用例。思考一下那些容易忽略的軟件缺陷,能提高對(duì)軟件測(cè)試的認(rèn)識(shí),提高所在組織軟件的質(zhì)量。

          posted @ 2011-10-25 13:38 順其自然EVO| 編輯 收藏

          有效測(cè)試用例設(shè)計(jì)的前奏曲

          如何進(jìn)行有效的用例設(shè)計(jì)?作為任何一個(gè)測(cè)試用例設(shè)計(jì)者,這永遠(yuǎn)是一個(gè)非常難以回答的問(wèn)題。這個(gè)問(wèn)題至今為止也再不斷的困擾我,人見(jiàn)人智。下面是我的一些個(gè)人見(jiàn)解,或許能對(duì)大家有一些啟示。

             第一:“明確”待測(cè)試項(xiàng)目的需求。對(duì)于任何一個(gè)項(xiàng)目,無(wú)論你接手的項(xiàng)目有多小,甚至可能都算不上一個(gè)項(xiàng)目,而僅僅是一個(gè)小工具,明確需求非常重要。可能 很多人會(huì)說(shuō),公司現(xiàn)狀,測(cè)試能看到需求文檔幾乎不可能;也或者公司有需求文檔,但與實(shí)際的待測(cè)試項(xiàng)目相差甚遠(yuǎn);也或者還有其他的各種可能情況,但無(wú)論是什么原因,明確需求是任何一名測(cè)試用例設(shè)計(jì)者必須堅(jiān)持也必須執(zhí)行的一條原則。如果你是測(cè)試部的負(fù)責(zé)人,在面對(duì)需求不明確的項(xiàng)目時(shí), 請(qǐng)你先收集待測(cè)試項(xiàng)目盡可能多的“文檔”,這些文檔有時(shí)并不一定需要是已經(jīng)現(xiàn)成成稿的,其實(shí)我們可以通過(guò)“不恥下問(wèn)”之后自行整理。測(cè)試負(fù)責(zé)人自己必須對(duì) 待測(cè)試項(xiàng)目做到“胸有成竹”。

            第二:“分析”待測(cè)試項(xiàng)目可能很多人這個(gè)時(shí)候會(huì)非常不以為然了,為什么要經(jīng)過(guò)這么一個(gè)過(guò)程?“分析”待 測(cè)試項(xiàng)目的目的是讓我們更進(jìn)一步的了解待測(cè)試項(xiàng)目,那可能大家這個(gè)時(shí)候又會(huì)問(wèn)了,了解什么?大家想想,你明確了需求,可是你知道待測(cè)試項(xiàng)目的體系結(jié)構(gòu)是什 么嗎?你知道我們采用了什么技術(shù)嗎?你知道這個(gè)項(xiàng)目蘊(yùn)涵的業(yè)務(wù)知識(shí)有哪些嗎?對(duì)了,我們就是要通過(guò)更進(jìn)一步的分析,整理出更為詳細(xì)的資料,服務(wù)于我們的測(cè) 試工作。

            第三:“學(xué)習(xí)” 待測(cè)試項(xiàng)目的業(yè)務(wù)知識(shí)。這一點(diǎn)我相信很多人都能認(rèn)同,比如你是做銀行相關(guān)項(xiàng)目的,那你肯定要具備銀行相關(guān)方面的知識(shí),只有這樣,才能非常容易的明白為什么 這么設(shè)計(jì),或者這么設(shè)計(jì)的優(yōu)勢(shì)在哪里?針對(duì)采用的某種實(shí)現(xiàn)技術(shù),只有更進(jìn)一步的學(xué)習(xí)了解,你才能明確這種技術(shù)的優(yōu)勢(shì)與弱勢(shì)分別是什么,針對(duì)這種技術(shù)的弱 勢(shì),我們測(cè)試又需要重點(diǎn)測(cè)試哪些地方等等。這些問(wèn)題都需要在我們提升我們自身業(yè)務(wù)水平的同時(shí)得到解決。

            第四:內(nèi)部討論。對(duì)于這點(diǎn),我有 非常切身的感受,作為項(xiàng)目測(cè)試負(fù)責(zé)人,一定要更自己的測(cè)試團(tuán)隊(duì)針對(duì)某個(gè)項(xiàng)目進(jìn)行多次內(nèi)部的討論,通過(guò)內(nèi)部討論更進(jìn)一步發(fā)現(xiàn)我們忽律的地方,同時(shí)也讓大家的 資源共享,用最短,最快的方式收獲最好的效果。

          posted @ 2011-10-25 11:33 順其自然EVO| 編輯 收藏

          LoadRunner參數(shù)化取值與連接數(shù)據(jù)庫(kù)

           LoadRunner在使用參數(shù)化的時(shí)候,通常都是需要準(zhǔn)備大數(shù)據(jù)量的,也因此LoadRunner提供兩種參數(shù)化取值方式,一種是手動(dòng)編輯,另一種就是通過(guò)連接數(shù)據(jù)庫(kù)取值。一般在大型業(yè)務(wù)并發(fā)壓力測(cè)試時(shí),數(shù)據(jù)量肯定也都是非常大的,所以手動(dòng)去編輯當(dāng)然就不切實(shí)際了,還好有連接數(shù)據(jù)庫(kù)的功能,所以就方便了很多。不過(guò)提供連接數(shù)據(jù)庫(kù)的功能到不是為了方便去取數(shù)據(jù),而更重要的應(yīng)該是借用數(shù)據(jù)庫(kù)的造數(shù)據(jù)功能,通過(guò)簡(jiǎn)單的sql語(yǔ)句,便可以完成大量可復(fù)用的數(shù)據(jù),這就是數(shù)據(jù)庫(kù)的強(qiáng)大之處。

            在腳本中設(shè)置參數(shù)化之后,進(jìn)入?yún)?shù)化屬性就可以發(fā)現(xiàn)一個(gè)標(biāo)簽按鈕Data Wizard,這里就是連接數(shù)據(jù)庫(kù)的接口。不過(guò)連接數(shù)據(jù)庫(kù)可不能直接進(jìn)行連接,需要通過(guò)windows系統(tǒng)提供的ODBC進(jìn)行橋接,這里以sql server2005為例。通過(guò)系統(tǒng)的控制面板找到管理工具,然后再找到數(shù)據(jù)源(ODBC)點(diǎn)擊進(jìn)入,選擇系統(tǒng)DNS標(biāo)簽下,添加數(shù)據(jù)源并選擇sqlserver,如圖所示:

            當(dāng)然,配置完成之后,需要執(zhí)行簡(jiǎn)單的配置測(cè)試,測(cè)試成功后,表示ODBC橋接成功。接下來(lái)便可以創(chuàng)建數(shù)據(jù)庫(kù)和表了,這里在sqlserver2005下創(chuàng)建表Table_a,只有一個(gè)字段名為a,通過(guò)如下sql腳本插入100條記錄到表中:

          declare @a int ;
          set @a = 1 ;
          while @a<=100
          begin
               insert into dbo.Table_a values('test');
               set @a=@a+1;
          end

            執(zhí)行以上腳本之后,表就插入了100條同樣的記錄“test”,此時(shí)表中的數(shù)據(jù)已經(jīng)準(zhǔn)備ok了。

            回到LoadRunner Vuser中,創(chuàng)建一個(gè)簡(jiǎn)單的參數(shù)化腳本如下:

          Action()
          {
              lr_eval_string("{testParam}");
              return 0;
          }

            右鍵參數(shù)進(jìn)行參數(shù)屬性對(duì)話(huà)框,點(diǎn)擊Data Wizard進(jìn)入連接數(shù)據(jù)庫(kù)配置,選擇“Spectify SQL statement manu”制定sql連接,然后選擇下一步,再點(diǎn)擊Create進(jìn)入數(shù)據(jù)源選擇方式,選擇LoadRunner命名的數(shù)據(jù)源,如下圖所示:

            在下面的SQL空白處,輸入對(duì)應(yīng)的sql語(yǔ)句,完成合適的數(shù)據(jù)導(dǎo)入,完成后,數(shù)據(jù)被導(dǎo)入到參數(shù)化列表中,如下圖所示:

            做性能測(cè)試,最重要的準(zhǔn)備工作就是數(shù)據(jù),特別是對(duì)數(shù)據(jù)庫(kù)的靈活運(yùn)用,將會(huì)大大提高性能測(cè)試的效率。

          posted @ 2011-10-24 17:13 順其自然EVO| 編輯 收藏

          僅列出標(biāo)題
          共394頁(yè): First 上一頁(yè) 377 378 379 380 381 382 383 384 385 下一頁(yè) Last 
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 龙陵县| 高碑店市| 二手房| 石景山区| 彩票| 花垣县| 星座| 鄢陵县| 富宁县| 伽师县| 县级市| 漳州市| SHOW| 柘荣县| 依兰县| 如皋市| 门源| 喀喇沁旗| 新河县| 武功县| 湄潭县| 荥阳市| 大悟县| 榆树市| 高阳县| 宜良县| 本溪市| 马关县| 武乡县| 彝良县| 建平县| 兰考县| 定西市| 昔阳县| 江永县| 礼泉县| 彭阳县| 宁蒗| 大宁县| 竹溪县| 桂平市|