測(cè)試藍(lán)本 | 一篇文章搞懂什么是測(cè)試停团,測(cè)試是干什么的

測(cè)試現(xiàn)在被普遍認(rèn)為“保證產(chǎn)品質(zhì)量”這個(gè)籠統(tǒng)的說(shuō)法下稚矿,而測(cè)試本身是什么呢?今天我們就測(cè)試本身跟大家一起討論敛助。

測(cè)試是在研發(fā)產(chǎn)品的整個(gè)過(guò)程中的一個(gè)跟蹤活動(dòng),他在各個(gè)階段報(bào)告給人們當(dāng)前項(xiàng)目的狀況,能夠督促和提示項(xiàng)目經(jīng)理或者高層經(jīng)理對(duì)項(xiàng)目的關(guān)注點(diǎn).

國(guó)內(nèi)的測(cè)試的定義,一般是在產(chǎn)品的研發(fā)后期,對(duì)產(chǎn)品的功能進(jìn)行驗(yàn)證的一個(gè)系列活動(dòng)粗卜。

國(guó)外的測(cè)試已經(jīng)發(fā)展比較成型了,而國(guó)內(nèi)的測(cè)試現(xiàn)在還處于摸索階段纳击,至于超著那個(gè)方向去發(fā)展续扔,我覺(jué)得大家目前還是處于比較迷茫的階段。

主要原因是:國(guó)內(nèi)軟件產(chǎn)業(yè)起步晚焕数,而且質(zhì)量意識(shí)不強(qiáng)纱昧,造成了軟件工業(yè)發(fā)展緩慢,配套行業(yè)(測(cè)試發(fā)展緩慢)堡赔,我覺(jué)得這個(gè)很正常识脆,因?yàn)閺娜祟?lèi)歷史發(fā)展的角度來(lái)看,這個(gè)是必須經(jīng)歷的階段善已,從有這個(gè)概念到摸索存璃,目前國(guó)內(nèi)的測(cè)試應(yīng)該處于沉思期,主要是沒(méi)有一個(gè)全套的指導(dǎo)思想雕拼,另外一個(gè)原因是行業(yè)發(fā)展方向不明朗纵东。

國(guó)內(nèi)存在對(duì)測(cè)試的誤解,所以造成了測(cè)試現(xiàn)在成了大家進(jìn)入企業(yè)的跳板啥寇,要么就是覺(jué)得自己的能力還不夠偎球,目前只能從事測(cè)試,要么就沒(méi)有編寫(xiě)程序的能力辑甜,但是同類(lèi)產(chǎn)品比較了解衰絮,所以做測(cè)試。

如果我們把測(cè)試的方法整理成技術(shù)磷醋,那么他形成一個(gè)規(guī)則或者說(shuō)是一個(gè)標(biāo)尺猫牡,我們只是分析什么樣產(chǎn)品的需要用什么方法來(lái)測(cè)試,而且需要了解的知識(shí)架構(gòu)是什么邓线?怎么把這些知識(shí)穿插起來(lái)淌友,那么積累就不會(huì)被約束葵腹,但是不能撇開(kāi)經(jīng)驗(yàn)需曾,因?yàn)榻?jīng)驗(yàn)本身是設(shè)計(jì)出好的案例的基礎(chǔ),但不是唯一的基礎(chǔ)。

我們?cè)賮?lái)看看測(cè)試案例的設(shè)計(jì)乔煞,測(cè)試案例的設(shè)計(jì)在國(guó)內(nèi)現(xiàn)在是一些剛剛?cè)胄械牟粫?huì)寫(xiě)程序或者程序功底比較差的人在寫(xiě)案例止吐,那么這些人設(shè)計(jì)出來(lái)的案例只是包含了整個(gè)測(cè)試過(guò)程中功能測(cè)試的一部分案例而已蕉世,因?yàn)樗麄儾欢没蛘卟焕斫獬绦虮榉常皇菑脑砩先シ治霎a(chǎn)品,不是從邏輯上去分析產(chǎn)品拨拓,而是從用戶使用的角度去分析產(chǎn)品肴颊,這樣設(shè)計(jì)出來(lái)的案例的可行性和可信度多大呢?大家可想而知了渣磷。所以我們?cè)谡麄€(gè)引導(dǎo)大家的過(guò)程中婿着,從技術(shù)和方法,結(jié)合具體實(shí)例和針對(duì)不同類(lèi)型的產(chǎn)品的測(cè)試方法進(jìn)行跟蹤和描述幸海。

首先祟身,什么叫測(cè)試?測(cè)試干什么物独?

測(cè)試袜硫,是在開(kāi)發(fā)過(guò)程中的一種活動(dòng),它是分白盒測(cè)試和黑盒測(cè)試挡篓。在不同的階段不同的人所承擔(dān)著測(cè)試這個(gè)角色婉陷,我們把整個(gè)活動(dòng)統(tǒng)稱為測(cè)試。

測(cè)試的工作內(nèi)容主要包含了設(shè)計(jì)測(cè)試計(jì)劃官研,設(shè)計(jì)測(cè)試案例秽澳,執(zhí)行測(cè)試,進(jìn)行測(cè)試總結(jié)戏羽。

執(zhí)行測(cè)試是在產(chǎn)品開(kāi)發(fā)的整個(gè)過(guò)程中進(jìn)行的担神,包括了單元測(cè)試,系統(tǒng)測(cè)試始花,集成測(cè)試妄讯,系統(tǒng)測(cè)試和驗(yàn)收測(cè)試,那么不同的階段測(cè)試的重點(diǎn)不同酷宵。

單元測(cè)試的重點(diǎn)是函數(shù)級(jí)亥贸,包括需求,包括算法浇垦,包括接口預(yù)留等內(nèi)容炕置。

集成測(cè)試是指把小模塊結(jié)合起來(lái),測(cè)試的重點(diǎn)是輸入輸出數(shù)據(jù),參數(shù)的處理朴摊,錯(cuò)誤預(yù)處理默垄,接口規(guī)范,參數(shù)約束等測(cè)試內(nèi)容仍劈。

系統(tǒng)測(cè)試的重點(diǎn)是功能性質(zhì)厕倍,它的測(cè)試重點(diǎn)是按照需求來(lái)對(duì)照測(cè)試寡壮, 主要是功能實(shí)現(xiàn)的情況贩疙,包括功能使用邏輯和操作邏輯,操作系統(tǒng)况既,兼容性(軟件和硬件)等內(nèi)容这溅。

驗(yàn)收測(cè)試,主要是合同性質(zhì)而言的棒仍,在國(guó)外現(xiàn)在軟件外包情況比較多悲靴,那么雙方按照合同規(guī)定履行自己的職責(zé),把功能按照合同約定的形式條條比對(duì)莫其。這是主要方面癞尚,那么在企業(yè)內(nèi)部,驗(yàn)收測(cè)試是除了功能驗(yàn)收以外乱陡,還包括易用性浇揩,軟件的親和度等方面的內(nèi)容。

測(cè)試的分類(lèi)

單元測(cè)試

單元測(cè)試是在測(cè)試過(guò)程中的最小粒度憨颠,它在執(zhí)行的過(guò)程中緊密的依照程序框架對(duì)產(chǎn)品的函數(shù)和模塊進(jìn)行測(cè)試胳徽,包含入庫(kù)和出口的參數(shù),輸入和輸出信息爽彤,錯(cuò)誤處理信息养盗,部分邊界數(shù)值測(cè)試。

這個(gè)部分的測(cè)試工作在國(guó)內(nèi)現(xiàn)在是開(kāi)發(fā)人員進(jìn)行的适篙。我相信未來(lái)的發(fā)展應(yīng)該是測(cè)試工程師來(lái)做這個(gè)事情往核。那么需要測(cè)試人員需要深刻的理解程序,理解需求嚷节,理解設(shè)計(jì)聂儒,這樣才能發(fā)現(xiàn)問(wèn)題。

還有一種在國(guó)內(nèi)先在操作的方法丹喻,就是當(dāng)一個(gè)模塊給某個(gè)開(kāi)發(fā)工程師以后薄货,需要他給大家講解他要完成這個(gè)模塊或者函數(shù)的整體流程和思路,進(jìn)行統(tǒng)一評(píng)審碍论,使得問(wèn)題能夠暴露的更充分些谅猾,這樣做的目的有以下個(gè)。

第一,使得大家對(duì)設(shè)計(jì)者的思路明晰的理解税娜,以便以后調(diào)用或者配合的時(shí)候能夠真切的提出需求或者相對(duì)完美配合坐搔。

第二,在評(píng)審的過(guò)程中敬矩,如果發(fā)現(xiàn)問(wèn)題概行,那么大家可能沒(méi)有犯過(guò),這樣就會(huì)更加提高警惕弧岳,如果犯過(guò)凳忙,就會(huì)回想當(dāng)時(shí)自己怎么解決的或者規(guī)避的,使得大家能夠在錯(cuò)誤的過(guò)程中快速提高禽炬。

第三涧卵,可以對(duì)平常犯錯(cuò)誤進(jìn)行一個(gè)積累,我覺(jué)得這是生動(dòng)的教科書(shū)腹尖,可以使得新的人員在新上手的時(shí)候遇到這樣的問(wèn)題以后柳恐,我們就可以給他一個(gè)解決問(wèn)題的方法或者方向。

回顧热幔,我們上面給大家介紹了兩種方法乐设,第一種就是通過(guò)在開(kāi)發(fā)的過(guò)程種進(jìn)行測(cè)試,由開(kāi)發(fā)(測(cè)試)工程師寫(xiě)測(cè)試代碼绎巨,對(duì)所編寫(xiě)的函數(shù)或者模塊進(jìn)行測(cè)試近尚,第二種就是通過(guò)代碼互評(píng)發(fā)現(xiàn)問(wèn)題,將問(wèn)題進(jìn)行積累认烁,形成知識(shí)積累庫(kù)肿男,以便使得新人在同樣的方面不至于再犯錯(cuò)誤。

單元測(cè)試非常重要却嗡,因?yàn)樗绊懙姆秶蛯挾缺容^大舶沛,也許由于一個(gè)函數(shù)或者參數(shù)問(wèn)題,造成后面暴露出很多表象問(wèn)題出現(xiàn)窗价。而且如果單元測(cè)試做不好如庭,使得集成測(cè)試或者后面系統(tǒng)測(cè)試的壓力很大,而且項(xiàng)目的費(fèi)用和進(jìn)度可能就會(huì)飚升撼港。

對(duì)單元測(cè)試坪它,現(xiàn)在用CPPUnit的比較多,市場(chǎng)上也有其他對(duì)應(yīng)的產(chǎn)品帝牡,他們?cè)诓煌能浖挝徊煌碾A段往毡。正確的理解單元測(cè)試的重要性是意識(shí)纲岭,需要在過(guò)程改進(jìn)種不停的總結(jié)输硝,慢慢的積累,將質(zhì)量意識(shí)滲透到整個(gè)開(kāi)放過(guò)程中的各個(gè)環(huán)節(jié)壳澳。

保證單元測(cè)試順利進(jìn)行,需要滲透軟件工程的很多思想嗤详,把CMM和跟蹤機(jī)制建立起來(lái)个扰,問(wèn)題的分類(lèi)、跟蹤葱色,如果把軟件環(huán)節(jié)整個(gè)活動(dòng)都滲透了递宅,那么產(chǎn)品質(zhì)量的意識(shí)自然就增強(qiáng)了。

COM思想現(xiàn)在在大的項(xiàng)目現(xiàn)在體現(xiàn)的淋漓盡致苍狰,因?yàn)槿绻徊捎肅OM機(jī)制办龄,維護(hù)和升級(jí)以及修改測(cè)試的成本很大,所以現(xiàn)在大型項(xiàng)目基本上都采用COM的組織形式舞痰。

說(shuō)了這么多土榴,單元測(cè)試做什么呢诀姚?單元測(cè)試主要是做一下幾個(gè)事情:

第1响牛, 模塊或者函數(shù)的設(shè)計(jì)稿

第2, 代碼規(guī)范赫段,其中包含代碼書(shū)寫(xiě)規(guī)范呀打,對(duì)齊方式

第3, 代碼的注釋糯笙。非常重要

第4贬丛, 參數(shù)類(lèi)型,數(shù)據(jù)長(zhǎng)度,指針给涕,數(shù)組長(zhǎng)度大小

第5豺憔, 輸入輸出參數(shù)和結(jié)果

第6, 創(chuàng)建對(duì)象后是否刪除了够庙,如果在這里沒(méi)有刪除恭应,請(qǐng)注明在那里刪除

第7, 是否應(yīng)用了沒(méi)有初試化的變量耘眨,如果是昼榛,請(qǐng)指明該變量在那里初始化

第8, 變量是否聲明剔难,聲明是否按照要求進(jìn)行

第9胆屿, 調(diào)用此函數(shù)需要的滿足條件需要注明

第10, 在此函數(shù)或者模塊中用到了系統(tǒng)或者其他第三方插件函數(shù)偶宫,需要滿足的系統(tǒng)條件

上面我只是列舉了一些在測(cè)試過(guò)程中發(fā)現(xiàn)或者隱藏的問(wèn)題非迹,我想可能還有很多情況引發(fā)問(wèn)題,請(qǐng)大家補(bǔ)充纯趋,以便在工作中有操作性憎兽。

集成測(cè)試

集成測(cè)試是在保證單元測(cè)試進(jìn)行后進(jìn)行的一個(gè)動(dòng)作,能否集成的標(biāo)志不是所有的代碼編譯通過(guò)了就算是可以集成了,而是所有的能夠在這個(gè)虛擬環(huán)境下能夠正常運(yùn)轉(zhuǎn)唇兑。

在集成測(cè)試種一般采用的方法是數(shù)據(jù)驅(qū)動(dòng)或者樁驅(qū)動(dòng)酒朵,因?yàn)榧蓽y(cè)試不能看到產(chǎn)品的表象,因?yàn)樗且恍?shù)據(jù)流的中間段扎附,我們渴望能夠?qū)χ虚g數(shù)據(jù)進(jìn)行分析蔫耽,就可以知道或者就渴望知道流程或者算法中有什么不妥當(dāng)?shù)牡胤健?/p>

集成測(cè)試比較適合做成自動(dòng)化測(cè)試,當(dāng)然首先我們分析了適合做自動(dòng)化的條件是滿足的留夜,我這里就不講詳細(xì)的方法匙铡,到后面的自動(dòng)化測(cè)試介紹中,我會(huì)提到這個(gè)方面的問(wèn)題碍粥。下面和大家一起揭開(kāi)測(cè)試自動(dòng)化的神秘面紗以及給大家講一些構(gòu)建冒煙的概念鳖眼。

冒煙測(cè)試的出處是,由于生活習(xí)慣等原因嚼摩,人們會(huì)定期的做某個(gè)事情钦讳,就像人們會(huì)約定成俗的認(rèn)為12:00是吃飯下班的時(shí)間枕面。那個(gè)時(shí)候大家都會(huì)做飯愿卒,哈哈,自然會(huì)從煙囪冒煙潮秘。

在軟件行業(yè)里面的約定是當(dāng)產(chǎn)品到達(dá)某個(gè)階段之后琼开,為了驗(yàn)證產(chǎn)品的各個(gè)部分的銜接程度,為了驗(yàn)證項(xiàng)目的進(jìn)展程度枕荞,為了驗(yàn)證產(chǎn)品的(已完成)功能的全面穩(wěn)定程度柜候,由測(cè)試主導(dǎo)的一種測(cè)試方法,主要的操作就是躏精,在產(chǎn)品開(kāi)發(fā)計(jì)劃定制完成以后渣刷,依照開(kāi)發(fā)計(jì)劃指定完整的編譯計(jì)劃,按照開(kāi)發(fā)計(jì)劃和編譯計(jì)劃玉控,各個(gè)單位按照要求完成自己的作業(yè)飞主,然后在編譯點(diǎn)上驗(yàn)證完成程度。

集成測(cè)試也是不可缺少的一個(gè)部分高诺,很多單位為了趕進(jìn)度碌识,會(huì)將這個(gè)部分省略掉,就甩手給測(cè)試小組虱而,如果沒(méi)有對(duì)應(yīng)的測(cè)試小組筏餐,就會(huì)是程序員進(jìn)行簡(jiǎn)單的使用后就交付市場(chǎng),危險(xiǎn)牡拇,這是個(gè)定時(shí)炸彈魁瞪。因?yàn)樗麜r(shí)刻有可能產(chǎn)生市場(chǎng)對(duì)企業(yè)影響的額度穆律,以及企業(yè)本身的聲譽(yù)問(wèn)題。

集成測(cè)試是在單元測(cè)試完成后進(jìn)行的測(cè)試環(huán)節(jié)中的一個(gè)測(cè)試导俘,主要是測(cè)試各個(gè)模塊和函數(shù)之間的相互銜接情況峦耘,互動(dòng)情況,輸入輸出情況旅薄。所以集成測(cè)試也很重要辅髓。

那么集成測(cè)試一般采用什么方法呢?集成測(cè)試一般采用樁驅(qū)動(dòng)的方法少梁,因?yàn)樵趩卧獪y(cè)試我們檢查的相對(duì)比較詳細(xì)洛口,那么在集成測(cè)試的重點(diǎn)其實(shí)要保證邏輯上了。我簡(jiǎn)單的介紹樁驅(qū)動(dòng)的實(shí)現(xiàn)方法凯沪。

我們可以定義很多個(gè)樁第焰,使得測(cè)試效率提高。

我們把上面的內(nèi)容進(jìn)行簡(jiǎn)單的總結(jié):集成測(cè)試就是測(cè)試各個(gè)組件之間的配合情況妨马。所以集成測(cè)試是為系統(tǒng)測(cè)試提供了一些基本保證挺举,但是不要完全依賴。

采用的方法給大家介紹了身笤,這樣可以采用測(cè)試或者程序編碼的形式實(shí)現(xiàn)測(cè)試豹悬。

系統(tǒng)測(cè)試

系統(tǒng)測(cè)試是測(cè)試過(guò)程中的一個(gè)轉(zhuǎn)折點(diǎn),因?yàn)樵诂F(xiàn)在國(guó)內(nèi)的企業(yè)中液荸,不同的產(chǎn)品面對(duì)不同的用戶群體,所以有的企業(yè)經(jīng)過(guò)第三方產(chǎn)品的驗(yàn)收測(cè)試脱篙,有的企業(yè)則沒(méi)有通過(guò)驗(yàn)收娇钱,而是一些工具類(lèi)或者通用類(lèi)的產(chǎn)品,那么他的驗(yàn)收測(cè)試是經(jīng)過(guò)廣大的用戶群來(lái)做的绊困,也就是說(shuō)凡是通用類(lèi)產(chǎn)品的系統(tǒng)測(cè)試必須嚴(yán)謹(jǐn)測(cè)試以后文搂,才可以投放到市場(chǎng)。但是對(duì)于對(duì)企業(yè)或者其他專(zhuān)業(yè)性單位定制的產(chǎn)品我們必須進(jìn)行驗(yàn)收測(cè)試秤朗。

系統(tǒng)測(cè)試工作是一個(gè)重復(fù)老動(dòng)很多的工作煤蹭,需要在工作種把握幾個(gè)重點(diǎn),系統(tǒng)測(cè)試是保證系統(tǒng)能夠正常運(yùn)轉(zhuǎn)取视,包括了功能硝皂,易用性,健壯性作谭,壓力稽物,邊界數(shù)值設(shè)定等各個(gè)方面的內(nèi)容。要想在這個(gè)階段的工作種找到樂(lè)趣折欠,就要不停的摸索贝或,找出能夠?qū)C(jī)器代替人的所有的東西吼过,找工作的快感。

系統(tǒng)測(cè)試需要有廣泛的知識(shí)面咪奖,對(duì)測(cè)試工程師的要求需要了解和掌握很多方面的知識(shí)粉洼,需要了解問(wèn)題可能出現(xiàn)的原因,已經(jīng)出現(xiàn)這個(gè)問(wèn)題可能是由于什么原因造成的旨枯,以便我們能夠及時(shí)的補(bǔ)充測(cè)試案例矢炼,保證或者降低產(chǎn)推出的風(fēng)險(xiǎn)。

目前軟件測(cè)試行業(yè)發(fā)展還不成熟慷垮,大多數(shù)系統(tǒng)測(cè)試都在測(cè)試組做揖闸,而且測(cè)試組幾乎到系統(tǒng)測(cè)試測(cè)試階段才會(huì)接觸到產(chǎn)品。我們也把系統(tǒng)測(cè)試簡(jiǎn)單的說(shuō)明一下料身。

目前系統(tǒng)測(cè)試基本上采用黑盒測(cè)試方法汤纸,而且基本上局限在手公測(cè)試上面。

我們不知道被測(cè)試軟件是怎么實(shí)現(xiàn)的芹血,做了什么事情贮泞,我們只知道我們要它做什么,我們想得到什么幔烛,至于程序內(nèi)部怎么實(shí)現(xiàn)啃擦,我們并不關(guān)心,我們只是關(guān)心結(jié)果饿悬。這是一種純粹黑盒的測(cè)試令蛉。

這個(gè)階段是測(cè)試發(fā)現(xiàn)問(wèn)題的主要階段,最少?gòu)哪壳笆袌?chǎng)上的產(chǎn)品情況來(lái)看是這樣的狡恬。在這個(gè)階段60%的問(wèn)題會(huì)暴露出來(lái)珠叔,如果不進(jìn)行單元測(cè)試和集成測(cè)試,這個(gè)階段的測(cè)試量和測(cè)試點(diǎn)很重要弟劲。

黑盒測(cè)試的核心是需要找到測(cè)試的重點(diǎn)在那里祷安?測(cè)試的切入點(diǎn)在那里。系統(tǒng)測(cè)試重復(fù)的工作量比較大兔乞,而且如果是一個(gè)大型的項(xiàng)目汇鞭,涉及的內(nèi)容相對(duì)比較多,而且如果組織不好庸追,或者沒(méi)有找到重點(diǎn)霍骄,需要一遍遍的重復(fù)。所以需要自動(dòng)化測(cè)試的需要合理的設(shè)計(jì)锚国,使得我們的重復(fù)工作盡量減少腕巡,以提高工作效率。

驗(yàn)收測(cè)試

驗(yàn)收測(cè)試類(lèi)似于客戶驗(yàn)證產(chǎn)品的質(zhì)量血筑,在軟件行業(yè)發(fā)展的過(guò)程中绘沉,各種承包項(xiàng)目類(lèi)似于國(guó)外的外包項(xiàng)目將會(huì)不斷的出現(xiàn)煎楣,那么外包項(xiàng)目的質(zhì)量問(wèn)題需要大家共同討論。

外包項(xiàng)目的操作流程是當(dāng)承包方提出具體的需求车伞,然后有承包商來(lái)按照需求來(lái)開(kāi)發(fā)項(xiàng)目择懂,包括單元測(cè)試,系統(tǒng)測(cè)試另玖,集成測(cè)試等各個(gè)方面的測(cè)試困曙,經(jīng)過(guò)被承包商測(cè)試后的產(chǎn)品提交給外包商的時(shí)候,需要進(jìn)行驗(yàn)收測(cè)試谦去,驗(yàn)收測(cè)試可以是外包商本身提供一套測(cè)試方案慷丽,然后對(duì)照具體的需求,進(jìn)行產(chǎn)品驗(yàn)證測(cè)試鳄哭。也可以是雙方找一個(gè)共同的第三方要糊,進(jìn)行產(chǎn)品的驗(yàn)證測(cè)試。

驗(yàn)收測(cè)試的測(cè)試重點(diǎn)主要是產(chǎn)品是否按照需求開(kāi)發(fā)的妆丘,而不從針對(duì)功能進(jìn)行的測(cè)試锄俄。所以驗(yàn)收測(cè)試基本上不需要多少專(zhuān)業(yè)水平,也可以是承包商找到使用該產(chǎn)品的用戶勺拣,來(lái)體驗(yàn)該產(chǎn)品是否能夠滿足使用要求奶赠。這樣以來(lái)使得雙方可以有一個(gè)共同的平臺(tái),避免商業(yè)矛盾的產(chǎn)生药有。

驗(yàn)收測(cè)試的測(cè)試手段目前來(lái)說(shuō)還是靠用戶體驗(yàn)毅戈。對(duì)照合同的需求進(jìn)行測(cè)試,是第三方按照雙方達(dá)成的共識(shí)來(lái)跟蹤和測(cè)試軟件是否能達(dá)成的需求塑猖。

測(cè)試方法

黑盒測(cè)試

顧名思義竹祷,黑盒就是外面不知道盒子里面在作什么,怎么作羊苟,只知道我的輸入他需要有反應(yīng),無(wú)論是正確的還是錯(cuò)誤的感憾,都需要有回饋信息蜡励。黑盒測(cè)試需要懂產(chǎn)品的使用方法,操作方法阻桅,把盡可能多的情況暴露出來(lái)凉倚,通過(guò)這種方法進(jìn)行測(cè)試。

黑盒測(cè)試的隨機(jī)性比較大嫂沉,在大部分案例執(zhí)行完成以后稽寒,大概能夠測(cè)試40%的功能,據(jù)美國(guó)一個(gè)官方的數(shù)據(jù)說(shuō)趟章,20%的問(wèn)題是在開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)的杏糙,80%的問(wèn)題是在系統(tǒng)測(cè)試和集成測(cè)試過(guò)程中發(fā)現(xiàn)的慎王,其中80%的比例我們還是需要在細(xì)分,20%的是使用的問(wèn)題宏侍,20%是程序的問(wèn)題赖淤,5%邏輯問(wèn)題,剩下的都是莫名其妙的問(wèn)題,這樣的數(shù)據(jù)對(duì)測(cè)試的一個(gè)引導(dǎo)是:要想發(fā)現(xiàn)更多的問(wèn)題谅河,需要更多的思考咱旱,更多的組合。這樣無(wú)畏的增加了很多工作量绷耍,人們?cè)谄v的執(zhí)行著測(cè)試案例吐限,渴望從中發(fā)現(xiàn)新的問(wèn)題。

這樣的案例設(shè)計(jì)思想使得我們?cè)陂_(kāi)發(fā)一個(gè)大型的產(chǎn)品或者延續(xù)性產(chǎn)品的時(shí)候褂始,整個(gè)測(cè)試案例的延續(xù)性很差诸典,重用性也很差。所以我們?cè)谶@里需要糾正一個(gè)概念病袄,黑盒測(cè)試不簡(jiǎn)單的使用搂赋,案例設(shè)計(jì)也不是無(wú)謂的組合。

那么如何設(shè)計(jì)好的測(cè)試案例呢益缠?如何在開(kāi)發(fā)過(guò)程中很好的結(jié)合2/8原則呢脑奠?當(dāng)前包括以后,不可能出現(xiàn)一個(gè)積極完美的產(chǎn)品幅慌,一個(gè)錯(cuò)誤也沒(méi)有宋欺,但是我們作為軟件工程師,肯定渴望自己參與開(kāi)發(fā)的產(chǎn)品穩(wěn)定胰伍,易用齿诞,人們寄予無(wú)限的稱贊,這是一種奢望骂租,那么我們把這種奢望修改一下祷杈,就是渴望我們參與的產(chǎn)品,能夠滿足當(dāng)前大多數(shù)人的需求渗饮,穩(wěn)定是否更合理呢但汞?

白盒測(cè)試

白盒測(cè)試是一種高技能的測(cè)試,它是一種基于源代碼下的測(cè)試互站,這種測(cè)試要求對(duì)程序的要求很高私蕾,需要了解程序的構(gòu)架,具體需求胡桃,以及一些編寫(xiě)程序的技巧踩叭,能夠檢查一些程序規(guī)范,指針,變量容贝,數(shù)組越界等問(wèn)題自脯,使得問(wèn)題在前期就暴露出來(lái)。

一般程序所容易犯的錯(cuò)誤,沒(méi)有定義變量,無(wú)效引用,野指針,超過(guò)數(shù)組下標(biāo),內(nèi)存分配后沒(méi)有刪除等,無(wú)法調(diào)入循環(huán)體,函數(shù)本身沒(méi)有析構(gòu),導(dǎo)致循環(huán)實(shí)效或者死循環(huán).參數(shù)類(lèi)型不匹配,調(diào)用系統(tǒng)的函數(shù)沒(méi)有考慮到系統(tǒng)的兼容性等.

白盒測(cè)試一般是以單元或者模塊為基礎(chǔ)的嗤疯。目前的做法是把他歸結(jié)為開(kāi)發(fā)的范疇冤今,用轉(zhuǎn)人或者兼職的人去看代碼或者利用部分工具,例如Rational系列茂缚,Boundchecker等工具戏罢,他們可以幫助人為的發(fā)現(xiàn)變量沒(méi)有初始化,指針錯(cuò)誤等脚囊。大大的減少了人力龟糕。

我下面講講BoundChecker最實(shí)用的東西绕沈。

例如:我們發(fā)現(xiàn)一個(gè)現(xiàn)象:有個(gè)軟件再Win98下運(yùn)行不起來(lái)并村,或者總是出現(xiàn)莫名其妙的錯(cuò)誤倡勇,再Win2000下或者更高系統(tǒng)下運(yùn)行正常华匾。

上面是一個(gè)現(xiàn)象,是我們?cè)偃粘y(cè)試中經(jīng)常遇到的現(xiàn)象,我們分析可能導(dǎo)致出錯(cuò)的原因:操作系統(tǒng)本身出錯(cuò)的原因便贵,導(dǎo)致軟件無(wú)法再此系統(tǒng)下運(yùn)行槽奕,另外一個(gè)原因:軟件中用到了某些函數(shù)不支持此操作系統(tǒng)芳撒。還有一個(gè)原因看峻,軟件運(yùn)行的硬件環(huán)境再此系統(tǒng)下不能滿足

灰盒測(cè)試

灰盒測(cè)試是介于黑盒測(cè)試和白盒測(cè)試之間的一種測(cè)試.這個(gè)階段的測(cè)試重點(diǎn)是各個(gè)組件之間的邏輯,這個(gè)時(shí)期的測(cè)試重點(diǎn)是各個(gè)DLL文件的參數(shù)和邏輯是否正確,測(cè)試的重點(diǎn)是DLL本身.然后采用樁驅(qū)動(dòng),把各個(gè)DLL或者函數(shù)按照一定的邏輯串起來(lái),達(dá)到在產(chǎn)品還沒(méi)有界面的情況下能看到一種既定情況下的結(jié)果輸出.

灰盒測(cè)試的要求相對(duì)白盒測(cè)試來(lái)說(shuō)要求相對(duì)較低,對(duì)測(cè)試案例的要求也相對(duì)較低,只要求能夠檢測(cè)DLL處理輸入和輸出的能力,異常情況下的處理而已.

測(cè)試方面

案例設(shè)計(jì)問(wèn)題

分析:因?yàn)楝F(xiàn)在從總體上看阶淘,案例設(shè)計(jì)很細(xì),但是重復(fù)和不必要的東西太多了互妓,個(gè)人認(rèn)為原因有三個(gè):

第1溪窒、 設(shè)計(jì)案例的不了解產(chǎn)品設(shè)計(jì)的框架(從程序概念上講)

第2、 案例的設(shè)計(jì)沒(méi)有一個(gè)反饋冯勉,涵蓋情況不知

第3澈蚌、 開(kāi)發(fā)產(chǎn)品質(zhì)量意識(shí)淡薄,測(cè)試壓力太大

第4灼狰、 測(cè)試人員的素質(zhì)分析沒(méi)有宛瞄,我們看不清問(wèn)題出現(xiàn)在那里

進(jìn)度問(wèn)題

第1、 測(cè)試的整體計(jì)劃里面沒(méi)有重復(fù)考慮風(fēng)險(xiǎn)交胚,時(shí)間問(wèn)題緊迫

第2坛悉、 回歸測(cè)試無(wú)法保證

結(jié)合開(kāi)發(fā)模型,跟大家一起分析各個(gè)時(shí)期要作的時(shí)期

怎么樣閱讀需求呢承绸?

我們?cè)跍y(cè)試的時(shí)候,我們需要通篇的閱讀需求挣轨,那么怎么閱讀需求呢军熏?需要了解什么內(nèi)容呢?實(shí)際的可操作的在那里呢卷扮?

我詳細(xì)說(shuō)我的認(rèn)識(shí)荡澎,需求我們需要了解我們需要做什么類(lèi)型的產(chǎn)品均践,這種產(chǎn)品需要什么樣的基礎(chǔ)知識(shí),我們應(yīng)該補(bǔ)充學(xué)習(xí)那些基礎(chǔ)知識(shí)摩幔,市面上是否有同類(lèi)型的或者相似的產(chǎn)品彤委,他們?cè)?jīng)出了那些問(wèn)題等,把自己先充實(shí)了或衡,這是看需求的主要目的和重要目的焦影。

測(cè)試改進(jìn)方案

以上對(duì)存在的問(wèn)題進(jìn)行了分析,我們需要找到自己的弱項(xiàng)在那里封断,那么從現(xiàn)在看來(lái)斯辰,我們現(xiàn)在測(cè)試隊(duì)伍沒(méi)有建立,沒(méi)有形成相應(yīng)的體制坡疼。主要表現(xiàn)在一下幾個(gè)方面:

測(cè)試工作需要回饋

回顧一彬呻,測(cè)試案例執(zhí)行跟蹤和統(tǒng)計(jì)不明確。

問(wèn)題:如果測(cè)試案例不進(jìn)行跟蹤柄瑰,無(wú)法證明或者檢測(cè)我們案例設(shè)計(jì)的好壞闸氮,無(wú)法改進(jìn)工作方法或者改善我們的思路,所以需要通過(guò)這里把自身問(wèn)題看清楚教沾,這樣有利于工作的開(kāi)展蒲跨。

在我們?nèi)粘5纳钪校嬖谶@一種現(xiàn)象详囤,因?yàn)檫@種現(xiàn)象導(dǎo)致了測(cè)試一些列的發(fā)展财骨。大家普遍認(rèn)為,測(cè)試的含金量不高藏姐,導(dǎo)致了測(cè)試工作就是一些不愿意做開(kāi)發(fā)或者沒(méi)有能力做開(kāi)發(fā)的人來(lái)做隆箩,其二,他們對(duì)測(cè)試設(shè)計(jì)的測(cè)試案例從不認(rèn)真的審查羔杨,認(rèn)為就那么回事情捌臊。出現(xiàn)這種問(wèn)題的愿意是由于開(kāi)發(fā)還沒(méi)有清楚的認(rèn)識(shí)到測(cè)試是一個(gè)服務(wù)部門(mén),是為他們服務(wù)的兜材,從私利的角度來(lái)講理澎,我們拋開(kāi)項(xiàng)目的關(guān)系,測(cè)試的主要工作是為了幫助開(kāi)發(fā)將自己寫(xiě)的代碼更實(shí)用一些曙寡,讓市場(chǎng)更認(rèn)可一些糠爬,讓開(kāi)發(fā)人員的成就感強(qiáng)一些。

如果大家都從這個(gè)角度考慮問(wèn)題举庶,那就可能緩解或者解決上面的第二個(gè)問(wèn)題执隧。

關(guān)于測(cè)試含金量不高的說(shuō)法,我不贊成這個(gè)說(shuō)法,在目前國(guó)內(nèi)的大環(huán)境下镀琉,測(cè)試是這樣的峦嗤,但是它在朝自己預(yù)想的發(fā)展。而開(kāi)發(fā)的發(fā)展除了新的語(yǔ)言在發(fā)展以外屋摔,思想或者體系我們能增加或者能設(shè)想的空間已經(jīng)不多了烁设,而對(duì)于測(cè)試是一個(gè)全新的行業(yè)犹菇,他發(fā)展首先需要支持砸彬,需要理解,我相信國(guó)內(nèi)測(cè)試在5~10以后时鸵,發(fā)展更加迅猛亚侠。因?yàn)榫退闶乾F(xiàn)在很小的軟件企業(yè)曹体,已經(jīng)開(kāi)始重視測(cè)試了。

回顧二硝烂,測(cè)試需要和開(kāi)發(fā)有共同語(yǔ)言

當(dāng)你開(kāi)心或者興奮的發(fā)現(xiàn)問(wèn)題以后箕别,你能告訴我這個(gè)問(wèn)題發(fā)生的原因嗎?當(dāng)你發(fā)現(xiàn)問(wèn)題以后滞谢,你能告訴我問(wèn)題可能在那個(gè)環(huán)節(jié)發(fā)生的串稀?你能告訴我類(lèi)似于此類(lèi)問(wèn)題可能在那里還會(huì)發(fā)生。

所以狮杨,當(dāng)你進(jìn)行測(cè)試的時(shí)候母截,渴望測(cè)試人員完全了解被測(cè)試對(duì)象的架構(gòu),然后針對(duì)此類(lèi)軟件需要補(bǔ)充基礎(chǔ)知識(shí)橄教,把自己補(bǔ)充起來(lái)清寇,不至于開(kāi)發(fā)人員給你講任何事情,你不理解护蝶,或者很難理解华烟,那么如果真的是這樣,我對(duì)你個(gè)人設(shè)計(jì)的測(cè)試案例會(huì)打一個(gè)問(wèn)號(hào)持灰。

靠自己的基礎(chǔ)知識(shí)盔夜,詳細(xì)拜讀設(shè)計(jì)稿件,從設(shè)計(jì)稿件中如果能發(fā)現(xiàn)問(wèn)題或者風(fēng)險(xiǎn)堤魁,你就有長(zhǎng)足的進(jìn)步了喂链。

回顧三,補(bǔ)充測(cè)試案例

我相信大家都有這個(gè)體會(huì)妥泉,在設(shè)計(jì)案例的過(guò)程中椭微,大家想到這里,想到那里盲链,總之想的很詳細(xì)赏表,但是在真正做測(cè)試工作的時(shí)候检诗,總是發(fā)現(xiàn)一些bug與我們?cè)O(shè)計(jì)的測(cè)試案例無(wú)關(guān)。

怎么會(huì)發(fā)生這樣的事情呢瓢剿?因?yàn)槲覀冊(cè)O(shè)計(jì)案例是寄予自己的經(jīng)驗(yàn)和對(duì)軟件的理解去設(shè)計(jì)案例,勢(shì)必會(huì)造成這樣的局面∮菩現(xiàn)在我推進(jìn)一種方法间狂。就是在設(shè)計(jì)測(cè)試案例的時(shí)候,渴望每個(gè)人把自己負(fù)責(zé)的模塊劃個(gè)流程圖出來(lái)火架,包括所有的出口和入口鉴象,包括信息流怎么流轉(zhuǎn)的,如果把這張圖形能夠完全的劃出來(lái)何鸡,說(shuō)明你的理解要深一步纺弊,那么設(shè)計(jì)的案例含金量會(huì)高。

測(cè)試工作需要總結(jié)

測(cè)試的總結(jié)機(jī)制沒(méi)有

i. 測(cè)試案例的執(zhí)行情況

ii. 測(cè)試案例發(fā)現(xiàn)問(wèn)題情況

iii. 測(cè)試案例的冗余情況

iv. 測(cè)試周期內(nèi)的曲線項(xiàng)目進(jìn)展情況

需要交流平臺(tái)和形式

信息交流平臺(tái)和積累

v. 資源共享

vi. 信息共享

vii. 提高自己在開(kāi)發(fā)中的信心骡男,不要總是喊狼來(lái)了

viii. 人和人之間需要溝通和認(rèn)同淆游,團(tuán)體也一樣

測(cè)試人員交流什么呢?

在一個(gè)組織中隔盛,應(yīng)該讓所有的人熟悉每個(gè)模塊的設(shè)計(jì)思路和測(cè)試思想犹菱,讓每個(gè)設(shè)計(jì)的人告訴大家,宣講出來(lái)吮炕,這樣大家在看這塊的時(shí)候腊脱,就知道那里容易出問(wèn)題,出了那些問(wèn)題龙亲。如果進(jìn)行測(cè)試是最有效的陕凹,如果設(shè)計(jì)案例能抓住問(wèn)題的核心。在設(shè)計(jì)階段鳄炉,如果把設(shè)計(jì)的案例給開(kāi)發(fā)人員看看杜耙,能規(guī)避一些設(shè)計(jì)上的缺陷。

在應(yīng)該團(tuán)體中大家都應(yīng)該有共享的概念迎膜,我個(gè)人推薦的學(xué)習(xí)方法泥技,是偷,我別人學(xué)了很多年的思想精華部分磕仅,在很短的時(shí)間內(nèi)接受并吸收店茶,這樣會(huì)提高整個(gè)團(tuán)隊(duì)的素質(zhì)丛楚。如果每個(gè)人都在共享舶替,那么每個(gè)人都在進(jìn)步玲昧,所以需要交流,包括思想苍鲜,包括方法等。

采用的方法

讓別人給服務(wù)說(shuō)話,清楚認(rèn)識(shí)自己

讓開(kāi)發(fā)人員說(shuō)話吠昭,讓對(duì)應(yīng)開(kāi)發(fā)人員給我們的測(cè)試案例提出相應(yīng)的意見(jiàn)矢棚,保證測(cè)試案例的覆蓋面涨共,以把握重點(diǎn)薪伏。

在整個(gè)開(kāi)發(fā)過(guò)程中熟吏,由需求牵寺,開(kāi)發(fā)悍引,測(cè)試完整的團(tuán)隊(duì),準(zhǔn)確的說(shuō)還有市場(chǎng)部分帽氓,我們都把它歸結(jié)為需求的搜索和定義部分趣斤。那么在整個(gè)產(chǎn)品研發(fā)的過(guò)程中,各個(gè)部分需要完整的配合黎休,否則整個(gè)產(chǎn)品都不能按時(shí)上市浓领。作為為開(kāi)發(fā)和需求服務(wù)的測(cè)試部分,應(yīng)該擺正自己的位置势腮,我們是一個(gè)團(tuán)隊(duì)中的一部分联贩,是不可以缺少的一部分。

人貴有自知捎拯,也難有自知泪幌。只有在認(rèn)識(shí)自己的基礎(chǔ)上才能選擇好自己的生活道路。首先要認(rèn)清自己的能力署照。人的能力可以有天壤之別祸泪,但只要不辜負(fù)自己這塊材料,也就可以問(wèn)心無(wú)愧了藤树。認(rèn)識(shí)自己尤忌自大浴滴,這會(huì)使你為自己訂立高不可攀的奮斗目標(biāo),到頭來(lái)高不成岁钓、低不就升略。其次要認(rèn)識(shí)自己的本性微王。心理學(xué)家把人分成六個(gè)類(lèi)型:經(jīng)濟(jì)型、理論型品嚣、社會(huì)型炕倘、審美型、宗教型和權(quán)力型翰撑。要選擇一個(gè)適合自己本性的生活目標(biāo)罩旋。

看清楚了自己,就可以很好的改善眶诈,也能把自己的事情做好涨醋,同時(shí)呢,才能更好的服務(wù)逝撬。

自己回頭看

讓執(zhí)行測(cè)試案例的人員反饋給我們數(shù)據(jù)浴骂,說(shuō)明案例的冗余情況,這樣會(huì)慢慢提高自己的設(shè)計(jì)水平宪潮。

因?yàn)槿藗兞?xí)慣于談成績(jī)溯警,問(wèn)題在成績(jī)中可以淡化,我不同意此觀點(diǎn)狡相。

其實(shí)在現(xiàn)實(shí)生活中梯轻,大家都經(jīng)歷了很多事情,都學(xué)會(huì)了總結(jié)尽棕,可是同樣的錯(cuò)誤在現(xiàn)實(shí)中會(huì)多次出現(xiàn)喳挑,為什么呢?是因?yàn)榛仡^了多次萄金,沒(méi)有總結(jié)蟀悦,總結(jié)了沒(méi)有執(zhí)行,執(zhí)行了沒(méi)有改變方式氧敢,改變方式了但是沒(méi)有認(rèn)真考慮日戈,還是錯(cuò)的。

把自己犯的錯(cuò)誤列舉出來(lái)孙乖,然后找出出現(xiàn)問(wèn)題的真正原因浙炼,才是自己最大的進(jìn)步。如果淡化錯(cuò)誤唯袄,將來(lái)可能就會(huì)將成績(jī)磨滅掉弯屈,所以積累,回頭是工作中需要重視的問(wèn)題恋拷。

還有一種論點(diǎn)资厉,說(shuō)公司多么多么重視開(kāi)發(fā),不重視測(cè)試蔬顾,我對(duì)這種論調(diào)積極反感宴偿,這只是個(gè)人感覺(jué)湘捎。為什么這么說(shuō)呢?

對(duì)公司來(lái)說(shuō)窄刘,要靠項(xiàng)目和產(chǎn)品維持生存窥妇,對(duì)嗎?從這個(gè)方面來(lái)說(shuō)開(kāi)發(fā)重要娩践,產(chǎn)品質(zhì)量不重要嗎活翩?這個(gè)問(wèn)題很多人問(wèn)我,我回答說(shuō)翻伺,重要材泄,非常重要竞漾,那為什么測(cè)試的價(jià)值體現(xiàn)不出來(lái)呢估蹄?主要是兩個(gè)方面的原因,一個(gè)是公司引導(dǎo)不正確昼丑,各個(gè)部分的同事為這個(gè)項(xiàng)目負(fù)責(zé)未妹,而不是開(kāi)發(fā)為這個(gè)項(xiàng)目負(fù)責(zé),其二呢空入,主要是因?yàn)槲覀兪蔷S護(hù)络它,而不是創(chuàng)造,如果你告訴老板歪赢,這個(gè)產(chǎn)品我們改變測(cè)試策略化戳,能夠提高工作效率,這個(gè)產(chǎn)品可以提前2個(gè)月發(fā)布埋凯,而且我保證質(zhì)量点楼。我相信你的價(jià)值也即體現(xiàn)出來(lái)了,如果不可以白对,說(shuō)明還是沒(méi)有找到合適的方法掠廓。

了解同類(lèi)產(chǎn)品

讓市場(chǎng)人員反饋同類(lèi)產(chǎn)品的問(wèn)題以及市場(chǎng)對(duì)我們產(chǎn)品的需求。測(cè)試過(guò)程是反映當(dāng)前產(chǎn)品的質(zhì)量甩恼,為什么要研究競(jìng)爭(zhēng)對(duì)手的產(chǎn)品呢蟀瞧?

首先,測(cè)試中包含易用性測(cè)試条摸,測(cè)試什么內(nèi)容呢悦污?就是測(cè)試怎么好用,客戶是怎么用的钉蒲,我們?cè)趺丛O(shè)計(jì)更貼近用戶切端,那么不研究競(jìng)爭(zhēng)對(duì)手,我們?cè)趺纯赡苷碱I(lǐng)上風(fēng)顷啼。

其次踏枣,了解競(jìng)爭(zhēng)對(duì)手的產(chǎn)品昌屉,有利于測(cè)試工作捕捉重點(diǎn),使得工作開(kāi)展有利有節(jié)椰于。

可謂知己知彼怠益,百戰(zhàn)不殆,所以在現(xiàn)在的市場(chǎng)競(jìng)爭(zhēng)中瘾婿,了解同類(lèi)產(chǎn)品才可能發(fā)現(xiàn)對(duì)方的缺點(diǎn)蜻牢,給以打擊,發(fā)現(xiàn)對(duì)方的優(yōu)點(diǎn)偏陪,快速學(xué)習(xí)抢呆,閉門(mén)造車(chē)必定失敗。

提高自身素質(zhì)

從程序的概念理解產(chǎn)品笛谦,這樣測(cè)試案例可以設(shè)計(jì)的比較有針對(duì)性抱虐。

常言說(shuō)得好,“識(shí)重于才”饥脑,而見(jiàn)識(shí)卻往往是生活閱歷造就的恳邀。對(duì)于一個(gè)初出茅廬的人,智者的指點(diǎn)是至關(guān)重要有時(shí)甚至是決定性的灶轰∫シ校回想我十年來(lái)的經(jīng)歷,很多失敗其實(shí)是沒(méi)有人指點(diǎn)而造成的笋颤。要尋找一個(gè)精神上的導(dǎo)師乳附,他可以是你的父母,也可以是其他師長(zhǎng)伴澄。他閱歷豐富而又不拘泥于自己的老經(jīng)驗(yàn)赋除;他能在緊要關(guān)頭給予你原則上的指導(dǎo)和精神上的支持。有時(shí)候僅僅是他失敗的經(jīng)驗(yàn)就會(huì)使你受益匪淺非凌。

如何提高程序能力

耳濡目染

讓開(kāi)發(fā)或者設(shè)計(jì)人員在討論開(kāi)發(fā)方案的時(shí)候參與旁聽(tīng)举农,耳濡目染。其實(shí)這只是一種輔助的手段清焕。

電視劇《霍元甲》播出以后并蝗,得到大家的欣賞。原因是因?yàn)樗救松眢w虛弱秸妥,所以父親從小不讓練武功滚停,而生長(zhǎng)在那樣的環(huán)境中,他天天可以看到兄弟們?cè)诰毠χ嗑澹惺揭呀?jīng)記憶在心理键畴,但是苦在沒(méi)有練功的機(jī)會(huì),他利用體力勞動(dòng)的過(guò)程中,改變勞動(dòng)方式起惕,趁機(jī)練功涡贱,后來(lái)發(fā)展到獨(dú)創(chuàng)“迷綜拳”。

程序設(shè)計(jì)和開(kāi)發(fā)是一個(gè)硬功夫惹想,也是一個(gè)長(zhǎng)遠(yuǎn)的事情问词,它是一個(gè)積累的過(guò)程,不能一蹴而就嘀粱,需要苦心練激挪,多些理解,多些思考锋叨。

面對(duì)程序開(kāi)發(fā)垄分,不要有太多的壓力,因?yàn)槌绦蜷_(kāi)發(fā)就跟你學(xué)說(shuō)話一樣娃磺,因?yàn)檎Z(yǔ)言本身有很多通性薄湿,高級(jí)語(yǔ)言和低級(jí)語(yǔ)言本質(zhì)上差別不大,所以扎實(shí)的從基礎(chǔ)的東西學(xué)起偷卧,這樣才能完全的積累下來(lái)豺瘤。

計(jì)算機(jī)發(fā)展速度很快,各種概念听诸,各種語(yǔ)言發(fā)展都很快炉奴,掌握實(shí)質(zhì),不斷學(xué)習(xí)蛇更,才能把握。所以還是需要多看赛糟,多想派任,多練。

自己練內(nèi)功

從自身做起璧南,了解程序架構(gòu)和開(kāi)發(fā)模式掌逛,努力提高理解和產(chǎn)品的單元測(cè)試或者組件測(cè)試能力,這樣以來(lái)可以了解程序的很多算法司倚,使得在產(chǎn)品的開(kāi)發(fā)過(guò)程中就能把問(wèn)題發(fā)現(xiàn)并且能夠得到及時(shí)的解決豆混。

其次能夠提高大家參與到項(xiàng)目的榮譽(yù)感,因?yàn)樵跍y(cè)試本身是一個(gè)服務(wù)性的行業(yè)动知,那么服務(wù)行業(yè)的特點(diǎn)是不停的改變思路皿伺,改變服務(wù)模式,提高服務(wù)質(zhì)量盒粮,當(dāng)服務(wù)做好了鸵鸥,那么在整個(gè)研發(fā)中就可以找到自己也是其中一個(gè)分子的感覺(jué)。

其三,練好內(nèi)功妒穴,為自己將來(lái)提高工作效率宋税,進(jìn)行一些自動(dòng)測(cè)試以及從程序架構(gòu)的概念上設(shè)計(jì)測(cè)試案例提供了技術(shù)保障。

以上是自己練好內(nèi)功的用途讼油。

在過(guò)去社會(huì)中杰赛,有很多擂臺(tái)賽,目的是切磋技藝矮台,弘揚(yáng)中華武術(shù)乏屯,各個(gè)門(mén)派直接交流和學(xué)習(xí)的過(guò)程,為了在擂臺(tái)賽中取的很好的成績(jī)嘿架,我們需要努力練功瓶珊,其次是多學(xué)本門(mén)派和其他門(mén)派的武功,或者自創(chuàng)武功耸彪,在擂臺(tái)上能夠發(fā)揮的淋漓盡致伞芹,因?yàn)槲涔Φ淖罡呔辰缇褪菦](méi)有招式,要達(dá)到這個(gè)境界蝉娜,需要內(nèi)功深厚唱较,避免走火入魔,需要毅力召川,需要?jiǎng)?chuàng)新南缓。

理論就是理論,無(wú)論在那里看到的理論都是一定的基礎(chǔ)的荧呐,因?yàn)樗械睦碚摶A(chǔ)需要一個(gè)證明此理論的平臺(tái)或者條件汉形,所有一定要看,想倍阐,用概疆。看別人是怎么用的峰搪,在什么情況下用的岔冀,用的目的是解決什么問(wèn)題括饶,在什么樣的環(huán)境下能夠做出來(lái)祝沸,需要什么樣的支撐;想自己現(xiàn)在目前是否有這個(gè)環(huán)境凰萨,就目前的環(huán)境能夠做什么鞠柄,如果要搭建對(duì)方的環(huán)境需要多長(zhǎng)時(shí)間侦高,這個(gè)做法中存在什么不托的地方,有什么需要改進(jìn)的地方厌杜;在自己工作的環(huán)節(jié)中找找看矫膨,看自己是否適合用這個(gè)東西,如果適合,怎么用侧馅,用到什么程度危尿,如果非常認(rèn)可別人的做法,需要衡量需要多少資源和時(shí)間馁痴,努力找自己的結(jié)合點(diǎn)谊娇。

千萬(wàn)不要再我們看到一個(gè)理論或者方法的時(shí)候就去推動(dòng)它,或者原理實(shí)踐過(guò)一個(gè)什么思想就想在新的環(huán)境下實(shí)踐他罗晕,都是不可取的济欢。好的事情或者好的做事方式他需要一些條件支撐,一旦硬套小渊,就可能出現(xiàn)問(wèn)題法褥。

實(shí)踐中檢驗(yàn)

嘗試做一些灰盒測(cè)試部分(目前暫時(shí)是想法,但是還不完善)酬屉“氲龋灰盒測(cè)試是界與白盒測(cè)試和黑盒測(cè)試之間的一種臨街狀態(tài)。

測(cè)試發(fā)展

測(cè)試在國(guó)內(nèi)還是處于摸索階段呐萨,在過(guò)去的發(fā)展階段杀饵,大家只是初步針對(duì)不同的軟件產(chǎn)生了不同的測(cè)試方式,但在操作方法谬擦,操作流程等方面還需要繼續(xù)摸索切距。對(duì)潛入式軟件來(lái)說(shuō),行業(yè)內(nèi)始終認(rèn)為潛入式軟件是最難進(jìn)行測(cè)試的惨远,因?yàn)樗枰軓V的知識(shí)面谜悟,需要對(duì)各個(gè)點(diǎn)的設(shè)計(jì)原理進(jìn)行分析和測(cè)試。

在目前國(guó)內(nèi)開(kāi)發(fā)眼中的測(cè)試還沒(méi)有形成概念北秽,我們需要不斷的改變形象赌躺,加深他們對(duì)測(cè)試的印象,以便我們獲取更多的幫助和協(xié)助羡儿。

測(cè)試未來(lái)發(fā)展需要兩條腿走路,這樣能夠在各個(gè)環(huán)節(jié)保證產(chǎn)品的質(zhì)量是钥。

第一步掠归,系統(tǒng)測(cè)試?yán)^續(xù)練內(nèi)功,將案例設(shè)計(jì)的能力提高

第二步悄泥,需要進(jìn)行灰盒測(cè)試虏冻,對(duì)產(chǎn)品進(jìn)行代碼級(jí)的測(cè)試

第三步,需要進(jìn)行部分白盒測(cè)試或者由開(kāi)發(fā)人員進(jìn)行執(zhí)行

要達(dá)到一定的認(rèn)同和發(fā)展,測(cè)試人員需要努力學(xué)習(xí),打下扎實(shí)基

礎(chǔ),這樣才能一步步的成功.

如何提高測(cè)試

提高測(cè)試需要從幾個(gè)方面著手弹囚,其實(shí)只是自己的一些感覺(jué)厨相,不一定就需要按部就班,需要找自己適合的點(diǎn)。

制定完備的測(cè)試計(jì)劃

清楚的認(rèn)識(shí)測(cè)試計(jì)劃蛮穿,測(cè)試計(jì)劃是一個(gè)文檔庶骄,能夠保證整個(gè)研發(fā)過(guò)程中順利執(zhí)行的一個(gè)指導(dǎo)性文檔,它描述了幾個(gè)方面的問(wèn)題践磅。

第1单刁、 描述了項(xiàng)目的目的

第2、 描述了項(xiàng)目的開(kāi)發(fā)周期

第3府适、 描述了在測(cè)試中遇到的技術(shù)

第4羔飞、 描述了測(cè)試案例的設(shè)計(jì)周期

第5、 描述測(cè)試案例的執(zhí)行周期

第6檐春、 描述了測(cè)試過(guò)程中用到的工具或者技術(shù)

第7逻淌、 描述了測(cè)試過(guò)程中用到的資源情況

第8、 描述了測(cè)試過(guò)程中可能遇到的風(fēng)險(xiǎn)以及規(guī)避方法

提高案例設(shè)計(jì)水平

明確了解現(xiàn)在目前流行切實(shí)用的幾種案例設(shè)計(jì)的方法疟暖,因?yàn)樵诓煌漠a(chǎn)品不同的要求有不同的設(shè)計(jì)手段卡儒,我們需要不斷的學(xué)習(xí)和總結(jié),在為了測(cè)試領(lǐng)域中誓篱,許多新鮮的詞語(yǔ)都會(huì)出現(xiàn)朋贬。

這種方法類(lèi)似與工業(yè)領(lǐng)域的隨即抽取統(tǒng)計(jì)分析法,但是工業(yè)性質(zhì)牽扯到損壞或者人為原因窜骄,統(tǒng)計(jì)出來(lái)存在這偏差锦募,但是應(yīng)用與軟件方面,雖然存在著偏差邻遏,但是不可能象硬件那么偏差很高糠亩。

等效法

明確測(cè)試的目標(biāo),一般適合用到的范圍是准验,制定被測(cè)試的對(duì)象是在滿足某個(gè)條件的區(qū)間內(nèi)的所有的所有數(shù)據(jù)赎线。

案例設(shè)計(jì)方法:從其中區(qū)間數(shù)據(jù)段中選擇任意一個(gè)或者兩個(gè)數(shù)據(jù),只要這個(gè)數(shù)據(jù)滿足了糊饱,那么其他的數(shù)據(jù)就是滿足的垂寥。

我現(xiàn)在舉一些例子,來(lái)說(shuō)明等效法在測(cè)試過(guò)程中如何應(yīng)用的另锋。

范例1:在登陸某系統(tǒng)需要驗(yàn)證用戶名滞项,要求是長(zhǎng)度是最小是6位,最長(zhǎng)是14位夭坪,名字中可以包含數(shù)字文判,但是不能以數(shù)字開(kāi)頭,可以包含各種符號(hào)室梅,不能包含中文戏仓。

1疚宇、隨意字母組合成一個(gè)12位的姓名,測(cè)試是否可以通過(guò)驗(yàn)證赏殃。

2.敷待、隨意生成一個(gè)長(zhǎng)度12位的姓名,測(cè)試是否可以通過(guò)驗(yàn)證

3嗓奢、測(cè)試以任意一個(gè)數(shù)字打頭12位的姓名讼撒,測(cè)試是否可以通過(guò)驗(yàn)證

4、測(cè)試姓名長(zhǎng)度位12位且包含中文情況股耽,測(cè)試是否可以通過(guò)驗(yàn)證

5根盒、測(cè)試長(zhǎng)度不滿足條件情況下,是否通過(guò)驗(yàn)證

6物蝙、如果長(zhǎng)度不滿足炎滞,是以數(shù)字開(kāi)頭的,提示信息驗(yàn)證

7诬乞、如果長(zhǎng)度不滿足册赛,姓名中包含中文的,提示信息驗(yàn)證

………….

(注:)這個(gè)可能比較簡(jiǎn)單震嫉,但是說(shuō)明一個(gè)問(wèn)題:為什么隨意生成一個(gè)12位姓名的,其實(shí)你選擇8位姓名長(zhǎng)度或者10位姓名長(zhǎng)度是一樣的森瘪,所以這種情況下考慮采用等效方法比較合適。

范例2:有這么一個(gè)需求票堵,要求選擇1~12之間進(jìn)行調(diào)整扼睬,手機(jī)的背光就會(huì)隨著數(shù)值的變化而變化°彩疲總體的是數(shù)值越大越暗窗宇。

以上需求是大家經(jīng)常可以看到的特纤。

測(cè)試案例設(shè)計(jì):清晰記憶1的情況军俊,然后隨意調(diào)整一個(gè)數(shù)值,因?yàn)橐笫亲兓伺醮妫劣谧兓墒裁礃幼臃喙儼档绞裁闯潭炔耪_,沒(méi)有明確的指標(biāo)數(shù)值昔穴,所以只需要記住臨街點(diǎn)1的情況镰官,然后隨意調(diào)整一個(gè)數(shù)據(jù),然后和當(dāng)前調(diào)整后的數(shù)據(jù)進(jìn)行比較傻咖。

(注:)沒(méi)有明確的說(shuō)明,只是含糊的結(jié)果岖研,但是總體的結(jié)果是在變化卿操,那么這個(gè)時(shí)候比較適合使用等效法警检。

因果分析法

需要有一定的程序基礎(chǔ),了解程序的架構(gòu)害淤,就是當(dāng)問(wèn)題發(fā)生以后扇雕,能夠有效的補(bǔ)充相關(guān)的案例或者篩選相關(guān)的案例。因果分析的核心是從自己的理解去分析問(wèn)題所在的真正原因窥摄。

范例1:刪除磁盤(pán)上某個(gè)文件失敗镶奉,分析原因:如果是管理員權(quán)限,那么可以隨意刪除崭放,無(wú)論這個(gè)文件的屬性是只讀的還是存檔的哨苛,那么如果不能刪除磁盤(pán)文件,除非是壞道上的文件币砂。分析完成以后建峭,使得測(cè)試案例設(shè)計(jì)有針對(duì)性,而不是盲目的將所有的文件格式都去嘗試一次。

范例2:假設(shè)我們用Excel作一個(gè)計(jì)算,結(jié)果和我們用計(jì)算器計(jì)算的結(jié)果不同蚓峦。

分析:Excel的計(jì)算函數(shù)單獨(dú)運(yùn)算沒(méi)有錯(cuò)誤河闰,然后插入一行,結(jié)果錯(cuò)誤了椎麦,說(shuō)明插入行導(dǎo)致計(jì)算錯(cuò)誤,那么插入一行怎么會(huì)引起函數(shù)計(jì)算錯(cuò)誤呢?原因是由于插入行后茅坛,導(dǎo)致傳給計(jì)算函數(shù)的區(qū)域沒(méi)有更新,所以造成計(jì)算結(jié)果錯(cuò)誤盆色,那么這個(gè)Bug就很明確了灰蛙。

范例3:假設(shè)我們平常在做講座的時(shí)候發(fā)現(xiàn)在某臺(tái)機(jī)器上就會(huì)死機(jī)。這是一種現(xiàn)象隔躲。

分析:為什么在這臺(tái)機(jī)器上死摩梧,在其他機(jī)器上不死。原因有兩個(gè)宣旱,第一個(gè)先找系統(tǒng)原因仅父,是否是我們的產(chǎn)品在當(dāng)前這個(gè)系統(tǒng)下有Bug,經(jīng)過(guò)驗(yàn)證沒(méi)有,那問(wèn)題出在那里浑吟?

其實(shí)演示產(chǎn)品需要的是硬件的支持笙纤,那就是顯卡,如果顯卡內(nèi)存不夠大组力,可能導(dǎo)致某些演示文件死省容。

(注)因果分析需要有廣泛的知識(shí)面,使得我們?cè)诜治龅臅r(shí)候能夠拓寬面積燎字,模糊的定位問(wèn)題腥椒。

范例4:用戶給我發(fā)送一個(gè)文件阿宅,打印的時(shí)候發(fā)現(xiàn)是亂碼。后來(lái)逼迫無(wú)奈笼蛛,就讓用戶將這個(gè)文件傳真給我洒放。這是現(xiàn)象。

分析:為什么打印出現(xiàn)亂碼滨砍?問(wèn)題基本定位往湿,系統(tǒng)字庫(kù)不夠,系統(tǒng)下打印驅(qū)動(dòng)問(wèn)題惋戏,打印虛擬內(nèi)存問(wèn)題领追,操作系統(tǒng)問(wèn)題,軟件本身問(wèn)題日川?最后問(wèn)題經(jīng)過(guò)驗(yàn)證蔓腐,最終歸結(jié)為在此操作系統(tǒng)下,打印驅(qū)動(dòng)程序有問(wèn)題龄句,使得文件不能正常打印回论。

(注:?jiǎn)栴}需要先框定范圍,不要亂了套路分歇。)

邏輯分析法

在邏輯分析方面傀蓉,也需要有一定的程序理解能力。從程序邏輯和日常常識(shí)去判斷問(wèn)題职抡。邏輯分析法其實(shí)就一堆假設(shè)的羅列葬燎,推論出系列結(jié)果的假設(shè),然后將假設(shè)反推翻缚甩,問(wèn)題就可以暴露出來(lái)谱净。無(wú)論那種方法都是通過(guò)表現(xiàn)去分析問(wèn)題的實(shí)質(zhì)的。

范例1:我們?cè)谧鯩P3播放器快進(jìn)和快退測(cè)試中擅威,要考慮的同步問(wèn)題壕探,就是我們液晶顯示屏上出現(xiàn)的歌詞進(jìn)度,時(shí)間進(jìn)度和我們耳朵聽(tīng)到的進(jìn)度不同郊丛。我們分析一下李请,為什么出現(xiàn)不同步現(xiàn)象,為什么其他的能同步厉熟,就某一個(gè)或者某幾個(gè)不能同步导盅。

首先我們了解同步的算法:快進(jìn)和快退是按照當(dāng)前歌曲的數(shù)據(jù)流來(lái)計(jì)算應(yīng)該到那里,它是以當(dāng)前歌曲的數(shù)據(jù)流為系數(shù)揍瑟,然后進(jìn)行的一些調(diào)整白翻,那么出現(xiàn)不同步的原因是由于系數(shù)不同造成的,所以考慮到同步問(wèn)題绢片,我們需要找不同格式不同數(shù)據(jù)流的歌曲滤馍,這樣問(wèn)題容易暴露恩急,容易清楚的定位問(wèn)題的真正原因。

范例2

我們來(lái)分析網(wǎng)絡(luò)游戲中的交易系統(tǒng)纪蜒,就是在游戲兩個(gè)人進(jìn)行物品和金錢(qián)的交易。

怎么設(shè)計(jì)這里的案例呢此叠?

邊界數(shù)值分析法

在測(cè)試案例執(zhí)行的過(guò)程中纯续,所有調(diào)節(jié)的數(shù)據(jù)都需要考慮到邊界數(shù)值的測(cè)試方法,這里我就不在贅述灭袁。但是需要注意猬错,邊界數(shù)值的測(cè)試不是枚舉,只是抽樣的方法茸歧。

逃避測(cè)試的誤區(qū)倦炒,市場(chǎng)需求引導(dǎo)產(chǎn)品質(zhì)量

測(cè)試是為了驗(yàn)證需求,保證產(chǎn)品質(zhì)量软瞎,無(wú)論如何你都不可能做成100%的測(cè)試逢唤,不可能做成No Errors。所以我們針對(duì)不同的產(chǎn)品涤浇,不同的市場(chǎng)定位鳖藕,確定不同的測(cè)試方針。

因?yàn)槠髽I(yè)面對(duì)的是客戶只锭,面對(duì)是企業(yè)長(zhǎng)遠(yuǎn)利益著恩,那么我們不可能倉(cāng)促的推出產(chǎn)品為了迎合市場(chǎng),而是需要研究蜻展,調(diào)查市場(chǎng)的真正需求喉誊,把用戶所關(guān)心的功能提供給用戶,使得其更加完善纵顾,更加穩(wěn)定幻林。

我們從企業(yè)來(lái)分析音念,首先任何一家企業(yè)要生存沪饺,必須需要市場(chǎng)空間的支撐,目的是為了盈利,我覺(jué)得沒(méi)有必要說(shuō)的那么冠冕堂皇讥脐,這是事實(shí)俱萍,但是在把握產(chǎn)品質(zhì)量和市場(chǎng)需求的時(shí)候端壳,我相信很多企業(yè)會(huì)選擇市場(chǎng)需求的,因?yàn)檫@是機(jī)會(huì)枪蘑,是把握企業(yè)生存的機(jī)會(huì)损谦,特別是對(duì)于發(fā)展性企業(yè)來(lái)說(shuō)。(企業(yè)原因)

我們從開(kāi)發(fā)來(lái)分析岳颇,因?yàn)樵陂_(kāi)發(fā)的過(guò)程中照捡,由于軟件行業(yè)的高流動(dòng)行和知識(shí)更新快的特點(diǎn),風(fēng)險(xiǎn)加大话侧,使得開(kāi)發(fā)周期很難把握栗精,這樣使得產(chǎn)品測(cè)試時(shí)間很難控制。因?yàn)殚_(kāi)發(fā)的進(jìn)度包括市場(chǎng)提出需求的技術(shù)風(fēng)險(xiǎn)都很難把握瞻鹏。(開(kāi)發(fā)的原因)

我們從測(cè)試來(lái)分析悲立,測(cè)試在很多企業(yè)中是沒(méi)有的,那么開(kāi)發(fā)人員自己來(lái)做新博,如果有測(cè)試人員级历,那測(cè)試也是隨意性非常強(qiáng),造成產(chǎn)品上市后預(yù)留很多無(wú)法預(yù)估的風(fēng)險(xiǎn)叭披,為企業(yè)的形象蒙上了面紗(測(cè)試模式)

合理利用2/8原則

測(cè)試是列舉寥殖,不是枚舉,所以設(shè)計(jì)案例的時(shí)候全面是不可能的涩蜘,那么需要靈活的運(yùn)用2/8原則嚼贡,使得測(cè)試重點(diǎn)清楚,容易控制同诫。

基于產(chǎn)品在開(kāi)發(fā)過(guò)程中的種種風(fēng)險(xiǎn)粤策,我們?cè)谟邢薜娜肆唾Y源的情況下,合理的利用2/8原則误窖,如何把握2/8原則叮盘?首先需要了解產(chǎn)品的特點(diǎn),讓所有參與測(cè)試的人員能夠了解產(chǎn)品的特點(diǎn)霹俺,這樣使得工作具有針對(duì)性柔吼,至于產(chǎn)品的噱頭,我們可以進(jìn)行充足的測(cè)試丙唧,因?yàn)橹皇俏覀兊漠a(chǎn)品立足市場(chǎng)的點(diǎn)愈魏。

在時(shí)間有限的情況下,把常用的功能測(cè)試保證了,不要攤?cè)嗦瑪倢捪澹@樣到最后都無(wú)法總計(jì)產(chǎn)品的質(zhì)量概念了。

以上這么說(shuō)牌柄,是一種概況畸悬,在實(shí)際的工作中大家需要總結(jié),把進(jìn)度珊佣,時(shí)間傻昙,質(zhì)量等進(jìn)行權(quán)衡,以保證產(chǎn)品的順利發(fā)布彩扔。

回歸測(cè)試的概念

測(cè)試次數(shù)不是輪回剿涮,測(cè)試的不同次數(shù)不是輪回憎瘸,而是為了驗(yàn)證問(wèn)題,那么什么時(shí)候適合安排一輪測(cè)試叠荠,需要定義標(biāo)準(zhǔn)胸梆,否則耗時(shí)耗力敦捧。

回歸測(cè)試是不可缺少的環(huán)節(jié),在一個(gè)產(chǎn)品測(cè)試完成后碰镜,直接到用戶手頭的時(shí)候兢卵,需要千萬(wàn)小心,需要進(jìn)行一次徹底的回歸測(cè)試绪颖,這個(gè)時(shí)候包括所有的功能以及所有已經(jīng)修正的問(wèn)題秽荤。避免版本出現(xiàn)問(wèn)題。

其實(shí)在不同的資料中對(duì)回歸測(cè)試有不同的解釋?zhuān)揖筒辉谶@里贅述柠横。我想表明我的觀點(diǎn)是窃款,依照不同的開(kāi)發(fā)模式,回歸測(cè)試所在的時(shí)間段也不相同牍氛;當(dāng)前的開(kāi)發(fā)模式有瀑布型和迭代型晨继,例如,在瀑布型的開(kāi)發(fā)模式中搬俊,所有的測(cè)試活動(dòng)(手工測(cè)試紊扬,系統(tǒng)測(cè)試,部分集成測(cè)試)都在最后進(jìn)行的唉擂,而切所理解的回顧測(cè)試是為了保證在新的版本中測(cè)試修改后的問(wèn)題餐屎,其實(shí)這個(gè)測(cè)試只是保證了其中一部分工作

測(cè)試的概念

測(cè)試不是為了驗(yàn)證問(wèn)題,而是為了發(fā)現(xiàn)以前設(shè)計(jì)中沒(méi)有發(fā)現(xiàn)的問(wèn)題玩祟。

自動(dòng)測(cè)試只是測(cè)試的一種手段啤挎,目的是為了提高工作效率

測(cè)試工具只是利用,不能依靠,因?yàn)楣ぞ弑旧頉](méi)有智能的判斷是否會(huì)有問(wèn)題發(fā)生庆聘,自動(dòng)測(cè)試不是利于測(cè)試工具胜臊,而是需要編寫(xiě)或者利于測(cè)試平臺(tái),編寫(xiě)適合自己的測(cè)試工作進(jìn)展伙判。

如何調(diào)整團(tuán)隊(duì)的作戰(zhàn)能力

建議性質(zhì):因?yàn)樵?jīng)帶過(guò)四個(gè)團(tuán)隊(duì)象对,而且這個(gè)經(jīng)驗(yàn)最少在我身上是成功的。

形式分析

測(cè)試團(tuán)隊(duì)宴抚,測(cè)試團(tuán)隊(duì)在現(xiàn)在國(guó)內(nèi)來(lái)說(shuō)在慢慢的得到重視勒魔,之所以原來(lái)不重視是因?yàn)檎麄€(gè)行業(yè)處于摸索期,不知道采用什么方法菇曲,什么技術(shù)冠绢,作什么事情等的情況下,使得測(cè)試員好像是一些沒(méi)有能力人的集合(宣講常潮,不聽(tīng)的宣講)弟胀。

目標(biāo)計(jì)劃引導(dǎo)

測(cè)試技術(shù)和未來(lái)發(fā)展規(guī)劃,因?yàn)槿魏稳说陌l(fā)展需要目標(biāo)喊式,那么一個(gè)人的發(fā)展目標(biāo)假如它和這個(gè)行業(yè)相關(guān)孵户,那么它會(huì)付出一切,努力的工作岔留,所以需要大家認(rèn)可一個(gè)目標(biāo)夏哭,并且讓大家認(rèn)為是可行的,然后我們分步驟一步步的去實(shí)現(xiàn)它献联。讓他或者大家能夠看到自己所喜歡或者從事行業(yè)的發(fā)展方向竖配。

過(guò)過(guò)老師癮

因?yàn)樵谧鋈魏问虑榈臅r(shí)候,每個(gè)人都有自己的想法或者步驟里逆,講出來(lái)就好械念,這就需要開(kāi)始的時(shí)候我們以任務(wù)的形式下達(dá),我相信运悲,到后來(lái)大家愿意自己站出來(lái)講了龄减,我告訴你原因。因?yàn)槿吮旧碛行咔痈邪嗝校聨讉€(gè)方面希停,怕講錯(cuò),怕人多署隘,怕提問(wèn)宠能。

那么如果把這幾個(gè)問(wèn)題都解決了,是否羞怯感就沒(méi)有了呢磁餐?

如何解決個(gè)人怕的問(wèn)題:引導(dǎo)违崇,因?yàn)橐粋€(gè)人如果不能把自己的想法和思路講出來(lái)阿弃,那么不可能把事情做的很好,其二羞延,就是如果你把你的想法說(shuō)出來(lái)渣淳,別人可能會(huì)指出你思路中走彎路的地方,對(duì)個(gè)人來(lái)說(shuō)可以跳高工作效率伴箩,使得思路更加完善入愧。

其三,如果大家都把自己的思路說(shuō)出來(lái)了嗤谚,你不就節(jié)省的很多學(xué)習(xí)時(shí)間嗎棺蛛,另外你想過(guò)沒(méi)有,當(dāng)別人形成這個(gè)想法的時(shí)候巩步,需要一定的積累旁赊,那是他的心血,這不就輕輕松松讓你學(xué)到了嗎椅野?如果固步自封终畅,那么你的思路有可能是錯(cuò)的,有可能是對(duì)的鳄橘,但是你的知識(shí)面就只能局限在你所考慮的范圍內(nèi),對(duì)個(gè)人發(fā)展不利芒炼。

定學(xué)習(xí)目標(biāo)

在軟件行業(yè)里面瘫怜,要有發(fā)展,就需要不停的學(xué)習(xí)本刽,不停的進(jìn)步鲸湃,不停的總結(jié),才可能有長(zhǎng)遠(yuǎn)發(fā)展子寓,所以需要定義在這個(gè)行業(yè)階段行的學(xué)習(xí)目標(biāo)暗挑,讓人感覺(jué)這個(gè)行業(yè)現(xiàn)有的水平只是維持,要發(fā)展斜友,需要學(xué)習(xí)炸裆。

在工作中學(xué)習(xí)的方法,除了自學(xué)以外鲜屏,就是“偷”了烹看,所謂偷,就是要學(xué)會(huì)問(wèn)問(wèn)題洛史,把你想知道的東西刨根問(wèn)底惯殊,當(dāng)別人回答你問(wèn)題的時(shí)候,他一定是用他知道的東西的精華來(lái)總結(jié)也殖,那么這樣你在很短的時(shí)間內(nèi)土思,把他總結(jié)的精華全給你了。

在學(xué)習(xí)的過(guò)程中,需要學(xué)會(huì)總結(jié)己儒,把能總結(jié)的都整理出來(lái)崎岂,第一是經(jīng)驗(yàn)的積累,第二呢能夠做到分門(mén)別類(lèi)址愿,逐類(lèi)旁通该镣,使得相同或者類(lèi)似的錯(cuò)誤不要重范。

興趣和愛(ài)好

一個(gè)人工作有兩種情況响谓,第一中是真正的工作损合,完成就算完成了,自己也在不斷的學(xué)習(xí)娘纷,不斷的總結(jié)嫁审,但是缺乏激情。第二中是把工作當(dāng)成自己的事業(yè)赖晶,渴望自己在這個(gè)方面成為權(quán)威或者說(shuō)業(yè)界能夠說(shuō)話的人律适,也是在不斷學(xué)習(xí),不斷的總結(jié)遏插,培養(yǎng)職業(yè)性捂贿,培養(yǎng)和引導(dǎo)大家的興趣和愛(ài)好,因?yàn)橹挥心懔私饬伺d趣和愛(ài)好胳嘲,才能更融洽的調(diào)和整個(gè)工作組的氣氛厂僧,這對(duì)測(cè)試行業(yè)的領(lǐng)導(dǎo)者來(lái)說(shuō)是個(gè)挑戰(zhàn)。

歪曲理論推理

“測(cè)試人員是由于技術(shù)不過(guò)硬了牛,才去做測(cè)試的颜屠。”針對(duì)這個(gè)觀點(diǎn)鹰祸,我說(shuō)說(shuō)自己的看法甫窟。好,我給測(cè)試說(shuō)幾句蛙婴,測(cè)試水平不過(guò)硬成立粗井,假設(shè)成立,那么這是相對(duì)的街图,相對(duì)開(kāi)發(fā)來(lái)說(shuō)的背传,而且這種論調(diào)都是從開(kāi)發(fā)那里擴(kuò)散或傳播出來(lái)的,測(cè)試在后期發(fā)現(xiàn)問(wèn)題后台夺,開(kāi)發(fā)也許心理很痛苦径玖,但是他不愿意暴露在臉上,使得有些問(wèn)題越發(fā)變的嚴(yán)重颤介,不得不修改鸭栖。那么在產(chǎn)品后期暴露那么多問(wèn)題,說(shuō)明了什么呢咱枉?這么低水平的測(cè)試都能考慮到你程序設(shè)計(jì)的種種漏洞,那么說(shuō)明了程序水平開(kāi)發(fā)有待提高前域。

在IT現(xiàn)在的行業(yè)中,開(kāi)發(fā)的流程匿垄,模式,以及各種約定成俗

的東西越來(lái)越多归粉,而且相對(duì)穩(wěn)定椿疗,而測(cè)試是一個(gè)全新的行業(yè),它需要大家摸索支持糠悼,需要大家共同建立起來(lái)届榄。

其實(shí),在原來(lái)的開(kāi)發(fā)模式中倔喂,商家為了適應(yīng)市場(chǎng)铝条,為了保證利潤(rùn)的最大化,為了使得產(chǎn)品能夠順利的適應(yīng)市場(chǎng)席噩,那么采用各種方法班缰,使得產(chǎn)品質(zhì)量的定位淡薄,而現(xiàn)在隨著人們的要求越來(lái)越高悼枢,商家的意識(shí)越來(lái)越強(qiáng)埠忘,各個(gè)公司或者組織渴望成立測(cè)試部門(mén),保證產(chǎn)品的質(zhì)量萧芙,使得測(cè)試這個(gè)行業(yè)在最近幾年才發(fā)展起來(lái)给梅。

正確理解自動(dòng)測(cè)試

首先假丧,自動(dòng)化測(cè)試是測(cè)試行業(yè)是技術(shù)双揪,但是不是說(shuō)用了自動(dòng)化測(cè)試了就能發(fā)現(xiàn)更多的問(wèn)題,它只是提高了工作效率而已.

自動(dòng)化的概念是人們?cè)诠I(yè)生產(chǎn)的過(guò)程中,為了提高工作效率包帚,不斷的對(duì)操作方法或者技術(shù)或者工具進(jìn)行改進(jìn)渔期,減少人們普遍的手工勞動(dòng),節(jié)省時(shí)間和成本渴邦。

而軟件行業(yè)的自動(dòng)化測(cè)試同樣也有節(jié)約成本疯趟,提高效率的需求。所以所有的改進(jìn)需要考慮到成本的問(wèn)題谋梭。

自動(dòng)化測(cè)試的大前提

第1. 產(chǎn)品本身特征具有長(zhǎng)期可維護(hù)性

第2. 產(chǎn)品本身非緊迫的大項(xiàng)目

第3. 產(chǎn)品結(jié)構(gòu)相對(duì)復(fù)雜

第4. 資源投入相對(duì)充裕

那么作為成本信峻,需要從幾個(gè)方面去考慮,第一實(shí)現(xiàn)成本瓮床,第二盹舞,人力成本产镐,第三,新技術(shù)的風(fēng)險(xiǎn)踢步,第四癣亚,節(jié)省的成本,第五获印,被自動(dòng)化的功能是否需要大量的手工勞動(dòng)述雾。

所以我們理解自動(dòng)化一定從成本的概念上考慮, 最少?gòu)淖詣?dòng)化測(cè)試概念的起步應(yīng)該從這個(gè)方面考慮兼丰。那么自動(dòng)化測(cè)試的重點(diǎn)就在于他節(jié)省人力玻孟,節(jié)省時(shí)間,得到的數(shù)據(jù)更精確些地粪,而且操作的可重復(fù)性和Bug的可重現(xiàn)性更強(qiáng)一些取募。

下面我就對(duì)自動(dòng)化測(cè)試做一個(gè)詳細(xì)的解釋?zhuān)蠹曳窒怼?/p>

1. 簡(jiǎn)介

本文關(guān)注于一個(gè)實(shí)施自動(dòng)化測(cè)試框架的組織的主要方面和影響。本文的意圖是提供一些能夠成功的實(shí)施自動(dòng)化測(cè)試的指導(dǎo)方針蟆技。

2. 測(cè)試自動(dòng)化的神話

有很多關(guān)于自動(dòng)化測(cè)試的神話玩敏。其中的一些是真實(shí)的,而其他的一些是不正確的設(shè)想质礼,這些不正確的設(shè)想會(huì)嚴(yán)重的威脅到實(shí)施自動(dòng)化測(cè)試的成功旺聚。

2.1. 我們?cè)跁r(shí)間上是緊迫的 - 項(xiàng)目已經(jīng)落后了 - 讓我們使用自動(dòng)化測(cè)試吧!這種情況將不能成為現(xiàn)實(shí)眶蕉。實(shí)際上砰粹,正確的思想應(yīng)該是 - 我們時(shí)間急迫 - 我們決不應(yīng)該使用自動(dòng)化測(cè)試。

如果項(xiàng)目已經(jīng)陷入到了麻煩之中造挽,不建議實(shí)施自動(dòng)化的功能測(cè)試碱璃。項(xiàng)目很可能因?yàn)樾枰罅康臏y(cè)試框架的準(zhǔn)備和實(shí)施會(huì)被托跨。我餓建議將重點(diǎn)放在以下的事情上:

優(yōu)化測(cè)試的過(guò)程饭入。調(diào)查并建議在目前工作基礎(chǔ)上的測(cè)試方法和過(guò)程嵌器。建議借鑒 RUP的相關(guān)思想和過(guò)程。引進(jìn)或者使單元/組件測(cè)試正式化谐丢。這是我們能夠快速獲得受益的很好的方法爽航。如果正式的組件測(cè)試被使用,我建議可以使用 Rational PurifyPlus 進(jìn)行單元或者組件測(cè)試乾忱。根據(jù)我的經(jīng)驗(yàn)盡早的使用 Rational PurifyPlus 是非常值得的讥珍。在一個(gè)引入和 Rational PurifyPlus 的項(xiàng)目中,通常會(huì)在組件的級(jí)別得到 百分之三十的性能提升窄瘟。僅僅在項(xiàng)目團(tuán)隊(duì)能夠?qū)?下列問(wèn)題的回答是"Yes"時(shí):項(xiàng)目能夠被適當(dāng)?shù)耐蒲又缘琛4嬖谀軌蛲ㄟ^(guò)實(shí)施自動(dòng)化測(cè)試被達(dá)到的精確的目標(biāo)。項(xiàng)目具備建立適當(dāng)?shù)臏y(cè)試框架的必要條件蹄葱。

那么氏义,你可以在一個(gè)時(shí)間緊迫的項(xiàng)目中適當(dāng)?shù)膶?shí)施測(cè)試自動(dòng)化衰腌。但是根據(jù)經(jīng)驗(yàn)這種情況是很難發(fā)生的∶偕蓿總而言之右蕊,我只能說(shuō)"對(duì)不起,銀彈根本不存在"吮螺。

2.2. 測(cè)試自動(dòng)化就是捕獲和回放

在過(guò)去的日子中饶囚,自動(dòng)化的測(cè)試工具只是被看作是一種捕獲和回放的工具。當(dāng)前這個(gè)神話仍然在很多測(cè)試人員的思想中鸠补。而事實(shí)上自動(dòng)化測(cè)試已經(jīng)遠(yuǎn)不止捕獲和回放這么簡(jiǎn)單了萝风。按照成熟度自動(dòng)化的測(cè)試可以被劃分為 5 個(gè)級(jí)別。

2.2.1. 級(jí)別 1:捕獲和回放

這是使用自動(dòng)化測(cè)試的最低的級(jí)別紫岩,同時(shí)這并不是自動(dòng)化測(cè)試最有用的使用方式规惰。優(yōu)點(diǎn):自動(dòng)化的測(cè)試腳本能夠被自動(dòng)的生成,而不需要有任何的編程知識(shí)泉蝌。缺點(diǎn):你會(huì)擁有大量的測(cè)試腳本歇万,同時(shí)當(dāng)需求胡子和應(yīng)用發(fā)生變化時(shí)相應(yīng)的測(cè)試腳本也必須被重新錄制。用法:當(dāng)測(cè)試的系統(tǒng)不會(huì)發(fā)生變化時(shí) - 小規(guī)模的自動(dòng)化勋陪。

2.2.2. 級(jí)別 2:捕獲贪磺、編輯和回放

在這個(gè)級(jí)別中,你使用自動(dòng)化的測(cè)試工具來(lái)捕獲你想要測(cè)試的功能诅愚。將測(cè)試腳本中的任何寫(xiě)死的測(cè)試數(shù)據(jù)寒锚,比如名字、帳號(hào)等等违孝,從測(cè)試腳本的代碼中完全刪除刹前,并將他們轉(zhuǎn)換成為變量。優(yōu)點(diǎn):測(cè)試腳本開(kāi)始變得更加的完善和靈活雌桑,并且可以大大的減少腳本的數(shù)量和維護(hù)的

工作喇喉。缺點(diǎn):需要一定的編知識(shí)。頻繁的變化可能會(huì)引起"意大利面條式的代碼"筹燕,并且變更和維護(hù)幾乎是不可能的轧飞。用法:當(dāng)進(jìn)行回歸測(cè)試時(shí)衅鹿,被測(cè)試的應(yīng)用有很小的變化撒踪,比如僅僅是針對(duì)計(jì)算的代碼變

化,但是沒(méi)有關(guān)于 GUI 界面的變化大渤。你能夠使用這種技術(shù)通過(guò)快速的編制一些測(cè)試腳本以檢驗(yàn)?zāi)愕南敕▉?lái)探索你的預(yù)定的測(cè)試設(shè)計(jì)制妄。當(dāng)我在沒(méi)有任何象需求或者設(shè)計(jì)模型這樣的文檔的情況下第一次操作一個(gè)產(chǎn)品時(shí)和我需要獲得一系列內(nèi)部構(gòu)建版本的穩(wěn)定性的第一印象時(shí),我使用過(guò)這種技術(shù)泵三。通常如果適當(dāng)?shù)能浖渲霉芾恚⊿CM)與良好的內(nèi)建設(shè)計(jì)相結(jié)合時(shí)耕捞,使用級(jí)別 2 的技術(shù)已經(jīng)足夠了衔掸。

2.2.3. 級(jí)別 3:編程和回放

這個(gè)級(jí)別是面對(duì)多個(gè)構(gòu)建版本的有效使用測(cè)試自動(dòng)化的第一個(gè)級(jí)別。你需要在實(shí)際的投資開(kāi)始顯現(xiàn)之前確保團(tuán)隊(duì)和客戶對(duì)項(xiàng)目的安全感俺抽。如果沒(méi)有對(duì)測(cè)試自動(dòng)化工具的適當(dāng)?shù)呐嘤?xùn)測(cè)試人員將不具備到達(dá)這個(gè)級(jí)別的能力敞映。在自動(dòng)化測(cè)試工具中的所有測(cè)試功能都必須被很好的理解,并且要掌握測(cè)試腳本語(yǔ)言的知識(shí)磷斧。好處:你確定了測(cè)試腳本的設(shè)計(jì)振愿。適當(dāng)?shù)脑O(shè)計(jì)是必要的。編碼的習(xí)慣必須是適當(dāng)?shù)某诜埂J褂门c開(kāi)發(fā)中相同的編碼習(xí)慣是非常好的冕末。這將開(kāi)始搭建起測(cè)試和開(kāi)發(fā)之間的橋梁。在項(xiàng)目的早期就可以開(kāi)始自動(dòng)化的測(cè)試侣颂。你能夠在項(xiàng)目的早期就開(kāi)始進(jìn)行測(cè)試腳本的設(shè)計(jì)档桃。與開(kāi)發(fā)人員交并調(diào)查他們認(rèn)為可能會(huì)存在問(wèn)題的區(qū)域。確保了開(kāi)發(fā)人員關(guān)注在獲得能夠被測(cè)試的方案上憔晒。缺點(diǎn): 要求測(cè)試人員具有很好的軟件技能藻肄,包括設(shè)計(jì)、開(kāi)發(fā)等拒担。用法:大規(guī)模的測(cè)試套件被開(kāi)發(fā)仅炊、執(zhí)行和維護(hù)的專(zhuān)業(yè)自動(dòng)化測(cè)試。級(jí)別 3 使你能夠使用自動(dòng)化測(cè)試并構(gòu)建不同的回歸測(cè)試(重用已有的自動(dòng)化測(cè)試

用例)澎蛛。根據(jù)我的經(jīng)驗(yàn)在看到更多切實(shí)的回報(bào)之前抚垄,為了達(dá)到這個(gè)級(jí)別,有大量的工作和影響項(xiàng)目的活動(dòng)必須被做谋逻。因此快速的建立和證明自動(dòng)化測(cè)試的價(jià)值是至關(guān)重要的呆馁。找到乏味的測(cè)試(例如,邊緣測(cè)試和特定的功能測(cè)試用例是首先進(jìn)行自動(dòng)化測(cè)試的良好候選者)毁兆。首先創(chuàng)建少量的能夠測(cè)試一些基本功能(比如浙滤,登陸和創(chuàng)建用戶等)的測(cè)自動(dòng)化測(cè)試用例。

2.2.4. 級(jí)別 4:數(shù)據(jù)驅(qū)動(dòng)的測(cè)試

對(duì)于自動(dòng)化測(cè)試來(lái)說(shuō)這是一個(gè)專(zhuān)業(yè)的測(cè)試級(jí)別气堕。你現(xiàn)在要利用測(cè)試工具提供的所有的測(cè)試功能纺腊。你擁有一個(gè)強(qiáng)大的測(cè)試框架,這個(gè)測(cè)試框架是基于能夠使你根據(jù)被測(cè)試系統(tǒng)的變化快速創(chuàng)建一個(gè)測(cè)試腳本的測(cè)試功能庫(kù)的茎芭。維護(hù)的成本相對(duì)是比較低的意蛀。你在你的測(cè)試中會(huì)使用到大量真實(shí)的數(shù)據(jù)官边。優(yōu)點(diǎn):你能夠維護(hù)和使用良好的并且有效的模擬真實(shí)生活中數(shù)據(jù)的測(cè)試數(shù)據(jù)。缺點(diǎn):軟件開(kāi)發(fā)的技能是基礎(chǔ),并且需要訪問(wèn)相關(guān)的測(cè)試數(shù)據(jù)蠢沿。用法:大規(guī)模的測(cè)試套件被開(kāi)發(fā)西傀、執(zhí)行和維護(hù)的專(zhuān)業(yè)自動(dòng)化測(cè)試。級(jí)別 4 要求一些非常良好的測(cè)試數(shù)據(jù)。一個(gè)測(cè)試人員必須要花費(fèi)一些時(shí)間來(lái)識(shí)別在哪里收集數(shù)據(jù)和收集哪些數(shù)據(jù)洪添。使用現(xiàn)實(shí)生活中的數(shù)據(jù)是最基本的以從測(cè)試中得到完全的回報(bào)。使用適當(dāng)?shù)臄?shù)據(jù)將為你提供通常僅僅在項(xiàng)目的后期才會(huì)發(fā)現(xiàn)的或者是有客戶發(fā)現(xiàn)的錯(cuò)誤的能力∪阜眩現(xiàn)在你能夠通過(guò)使用現(xiàn)實(shí)的數(shù)據(jù)開(kāi)運(yùn)行大量的測(cè)試干奢。

2.2.5. 級(jí)別 5:使用動(dòng)作詞的測(cè)試自動(dòng)化

這是自動(dòng)化測(cè)試的最高級(jí)別。主要的思想是將測(cè)試用例從測(cè)試工具中分離出來(lái)盏袄。這個(gè)級(jí)別要求有一個(gè)具有高技能測(cè)試人員測(cè)小的團(tuán)隊(duì)律胀,這些測(cè)試人員能夠?qū)y(cè)試工具的非常深層次的知識(shí)與他們具備的較深的編程能力結(jié)合起來(lái)。

這個(gè)團(tuán)隊(duì)負(fù)責(zé)在測(cè)試工具中生成并維護(hù)測(cè)試的功能性貌矿,能夠使測(cè)試工具從外部的來(lái)源炭菌,比如 excel 表或者數(shù)據(jù)庫(kù)中執(zhí)行測(cè)試用例。這種測(cè)試概念最初是由 CMG 開(kāi)發(fā)的逛漫。與 CMG 方案相比黑低,其他的可能的開(kāi)放源碼的方案有被 Carl Nagle 和SAS Institute 開(kāi)發(fā)的DDE。

使用 DDE 的概念酌毡,關(guān)注點(diǎn)是當(dāng)在Excel表中創(chuàng)建測(cè)試用例的時(shí)候克握,放置使用包括被使用的特定動(dòng)作詞語(yǔ)的一些類(lèi)型的模板。執(zhí)行的過(guò)程是從 Excel 表中讀取測(cè)試用例枷踏,并將測(cè)試用例轉(zhuǎn)換成為測(cè)試工具能夠理解的形式菩暗,然后使用不同的測(cè)試功能來(lái)執(zhí)行測(cè)試。

這個(gè)概念變得越來(lái)越流旭蠕,因?yàn)闇y(cè)試與用例一起使用是非常有用的停团。優(yōu)點(diǎn):測(cè)試用例的設(shè)計(jì)被從測(cè)試工具中分離了出來(lái) - 關(guān)注在設(shè)計(jì)良好的測(cè)試用例上。允許快速的測(cè)試用例的執(zhí)行和基于用例的更好的估計(jì)掏熬。缺點(diǎn):需要一個(gè)具有工具技能和開(kāi)發(fā)技能的測(cè)試團(tuán)隊(duì)佑稠,以提供并維護(hù)測(cè)試工程(框架)。

用法:專(zhuān)業(yè)的測(cè)試自動(dòng)化將技能的使用最優(yōu)化的結(jié)合起來(lái)如果工具不具備使用內(nèi)建的對(duì)象映射的可能性旗芬,那么這個(gè)方案對(duì)于消除與 GUI 相關(guān)的大部分維護(hù)成本是優(yōu)秀的舌胶。在一些組織中已經(jīng)創(chuàng)建了這種方案,并且他們其中的一些已經(jīng)實(shí)現(xiàn)了高度的自動(dòng)化(60%)疮丛,并且他們都得到了巨大的回報(bào)幔嫂。

如果測(cè)試框架是適當(dāng)?shù)模覀兡軌蚴褂?excel 來(lái)生成實(shí)際的測(cè)試用例誊薄。這個(gè)級(jí)別對(duì)于那些按照正規(guī)基礎(chǔ)使用用例的組織或者項(xiàng)目來(lái)說(shuō)是非常優(yōu)秀的履恩。有多少測(cè)試用的估計(jì)是被需要的,并且當(dāng)用例適當(dāng)時(shí)需要做的工作也是非常簡(jiǎn)單的暇屋。你可以集中時(shí)間來(lái)生成第一個(gè)包含被需要的"對(duì)象映射"的測(cè)試用例(主流程)似袁。依靠被測(cè)試應(yīng)用的復(fù)雜程度洞辣,通常這會(huì)花費(fèi)大約半天到一天的時(shí)間咐刨。

后續(xù)的被需要的每一個(gè)測(cè)試用例大概會(huì)花費(fèi) 15 到 20 分鐘的時(shí)間昙衅,因?yàn)橥ǔ6鄶?shù)的測(cè)試用例可以復(fù)制已有的測(cè)試用例,并對(duì)其進(jìn)行必要的修改定鸟,通常這種修改是有限的而涉。動(dòng)作詞語(yǔ)框架能夠通過(guò)使用用例使緊密的并行測(cè)試用例的開(kāi)發(fā)變得可能。

2.3. 我們不需要培訓(xùn)联予!

我們所有的人都在某一些方面具有一定的經(jīng)驗(yàn)啼县,我們沒(méi)有時(shí)間能夠花費(fèi)在使用新工具的培訓(xùn)上。當(dāng)一個(gè)對(duì)自動(dòng)化工具還不是很熟悉的組織或者項(xiàng)目團(tuán)隊(duì)開(kāi)始實(shí)施自動(dòng)化測(cè)試時(shí)沸久,培訓(xùn)和指導(dǎo)是至關(guān)重要的季眷。如果我們?cè)试S組織或者項(xiàng)目團(tuán)隊(duì)在沒(méi)有關(guān)于應(yīng)該如何做的任何知識(shí)的情況下實(shí)施自動(dòng)化的測(cè)試,那將肯定會(huì)以失敗告終卷胯。

用于實(shí)施自動(dòng)化測(cè)試方案的預(yù)算會(huì)被超出子刮,測(cè)試會(huì)被延誤并且更壞的情況是自動(dòng)化測(cè)試將被放棄。組織和項(xiàng)目團(tuán)隊(duì)需要盡量避免一些認(rèn)識(shí)上的缺陷窑睁,尤其是自動(dòng)化測(cè)試的維護(hù)成本和當(dāng)測(cè)試人員嘗試和確認(rèn)工具如何工作時(shí)產(chǎn)生的挫敗感挺峡。

你需要確保你的測(cè)試過(guò)程是適當(dāng)?shù)?- 如果測(cè)試過(guò)程是不合理的,引入自動(dòng)化測(cè)試只會(huì)給軟件組織或者項(xiàng)目團(tuán)隊(duì)帶來(lái)更大的混亂担钮。因此橱赠,我建議希望實(shí)施自動(dòng)化測(cè)試方案的組織或者項(xiàng)目團(tuán)隊(duì)?wèi)?yīng)該在實(shí)施之前建立"訓(xùn)練營(yíng)",并將重點(diǎn)放在培訓(xùn)測(cè)試團(tuán)隊(duì)能夠很好的利用一個(gè)原型的項(xiàng)目上箫津。

為第一個(gè)原型項(xiàng)目制定一個(gè)實(shí)施計(jì)劃狭姨,下面包括原型項(xiàng)目的最小化的描述:當(dāng)先狀態(tài)我們希望實(shí)現(xiàn)什么 - 建立成功的因素期待的回報(bào)(第一次自動(dòng)化測(cè)試工作被期望驗(yàn)證什么)找到一個(gè)"簡(jiǎn)單的"測(cè)試的痛處并盡力的通過(guò)自動(dòng)化測(cè)試解決它,這可以被作為在同一時(shí)間上使測(cè)試運(yùn)行在多個(gè)平臺(tái)上的樣例說(shuō)明被需要的資源和時(shí)間......

一開(kāi)始你就要大聲的說(shuō)出成功的信心 - 讓人們了解你所展示的進(jìn)展苏遥。這將吸引更多的關(guān)注和資源送挑。

2.4. 我們必須 100% 的自動(dòng)化

從管理的角度來(lái)說(shuō),100% 的自動(dòng)化目標(biāo)只是一個(gè)從理論上可能達(dá)到的暖眼,但是實(shí)際上達(dá)到 100% 的自動(dòng)化的代價(jià)是十分昂貴的惕耕。一個(gè) 40-60% 的利用自動(dòng)化的程度已經(jīng)是非常好的了。

達(dá)到這個(gè)級(jí)別以上將增加測(cè)試相關(guān)的維護(hù)成本诫肠。由于對(duì)每一個(gè)構(gòu)建版本的需求變化的復(fù)雜度司澎,你將花費(fèi)更多的時(shí)間在變更測(cè)試用例上以使他們能夠正確的運(yùn)行。

在這種情況下栋豫,通過(guò)告知管理層100% 的自動(dòng)化目標(biāo)是相當(dāng)昂貴的來(lái)確立一個(gè)合理的期望值才是明智之舉挤安。對(duì)于決定自動(dòng)化一個(gè)測(cè)試用例的一般規(guī)則是這個(gè)測(cè)試用例必須被運(yùn)行 4 次以上。

這個(gè)數(shù)字是基于用戶對(duì)測(cè)試工具有良好的技能并且有一個(gè)良好的測(cè)試框架的丧鸯。如果情況不是這樣的化蛤铜,整個(gè)數(shù)字能夠是 10-20次或者更高。一個(gè)例子,在一個(gè)項(xiàng)目中測(cè)試人員花費(fèi)和兩周的時(shí)間將手工測(cè)試的 23天的任務(wù)轉(zhuǎn)換成了自動(dòng)化測(cè)試的用例围肥。在完成使剿干,項(xiàng)目能夠在 4 個(gè)小時(shí)在多個(gè)平臺(tái)上運(yùn)行相同數(shù)量的測(cè)試用例。

2.5. 測(cè)試框架

測(cè)試框架對(duì)于產(chǎn)生成功的測(cè)試自動(dòng)化的適當(dāng)基礎(chǔ)是重要的穆刻。很多考慮必須被解決以使測(cè)試自動(dòng)化更加有效地被使用置尔。重點(diǎn)必須在:維護(hù)成本維護(hù)成本是成功的使用自動(dòng)化測(cè)試的最重要的問(wèn)題之一。維護(hù)成本直接聯(lián)系到前面已經(jīng)提到過(guò)的自動(dòng)化測(cè)試的成熟度氢伟。組織或者項(xiàng)目必須至少要在成熟度的 3 級(jí)使用高度的測(cè)試庫(kù)才能使維護(hù)和更新測(cè)試功能變得容易榜轿。

測(cè)試數(shù)據(jù)

什么樣類(lèi)型的數(shù)據(jù)將被使用?要為每一個(gè)測(cè)試用例生成測(cè)試數(shù)據(jù)還是使用在被測(cè)試應(yīng)用中已有的數(shù)據(jù)朵锣。在很多的情況下一個(gè)測(cè)試數(shù)據(jù)被創(chuàng)建了谬盐,刪除他們是不可能的。

可測(cè)試性

自動(dòng)化測(cè)試方案能夠有效的測(cè)試嗎诚些?例如设褐,被適當(dāng)命名的對(duì)象(不僅僅是索引Id)。一個(gè)簡(jiǎn)單的例子是所有的對(duì)話框都有相同的 #id 和相同的標(biāo)題泣刹,所不同的僅僅是顯示的文字信息助析。當(dāng)測(cè)試應(yīng)該覆蓋多種語(yǔ)言的方案時(shí),對(duì)話框的測(cè)試就是一個(gè)挑戰(zhàn)椅您。

測(cè)試人員的技能

被包括在自動(dòng)化測(cè)試的創(chuàng)建中的人員應(yīng)該具有什么樣的技能呢外冀?如果他們具有良好的開(kāi)發(fā)背景,那么成熟度 3 級(jí)是足夠了掀泳。如果他們有很少的或者根本沒(méi)有開(kāi)發(fā)的經(jīng)驗(yàn)雪隧,我們被迫使找到或者培訓(xùn)一個(gè)自動(dòng)化測(cè)試專(zhuān)家的小組,并直接到達(dá)成熟度 5級(jí)员舵,在成熟度 5 級(jí)測(cè)試的創(chuàng)建與實(shí)際的測(cè)試執(zhí)行被分離開(kāi)脑沿。

一個(gè)好的構(gòu)建過(guò)程

自動(dòng)化測(cè)試的引入在"構(gòu)建團(tuán)隊(duì)"上加入了一些約束。為了實(shí)現(xiàn)自動(dòng)化測(cè)試的高利用率(回歸測(cè)試)马僻,要求具有一個(gè)高的構(gòu)建頻率庄拇。每周僅僅運(yùn)行自動(dòng)化的測(cè)試不是好的自動(dòng)化測(cè)試的使用率。將回歸測(cè)試增加到每天一次將幫助快速的發(fā)現(xiàn)新的問(wèn)題并使開(kāi)發(fā)人員更加容易的發(fā)現(xiàn)問(wèn)題的根源韭邓,因?yàn)閷?duì)測(cè)試的反饋時(shí)間是比較短的(開(kāi)發(fā)人員能夠記住他們昨天做了什么)措近。所有權(quán)不同的測(cè)試庫(kù)的所有權(quán)的定義是重要的。一個(gè)好的方案會(huì)將測(cè)試庫(kù)的組織劃分為三個(gè)級(jí)別:

級(jí)別 1 - 全局的

這個(gè)一個(gè)通常的級(jí)別女淑。被存儲(chǔ)在這個(gè)級(jí)別的測(cè)試功能能夠被所有的項(xiàng)目訪問(wèn)瞭郑。通用的和通常的功能象登陸、創(chuàng)建一個(gè)用戶都是這個(gè)級(jí)別很好的候選者鸭你。

級(jí)別 2 - 項(xiàng)目

在這個(gè)級(jí)別的測(cè)試功能是與特定的測(cè)試項(xiàng)目相關(guān)的屈张,但是通常在項(xiàng)目中有用的比一定在項(xiàng)目外是有用的擒权。通常級(jí)別 2 是級(jí)別 1 的功能的提供者。

級(jí)別 3 - 腳本

功能被直接關(guān)聯(lián)到特定的測(cè)試腳本阁谆。 I在這個(gè)級(jí)別中碳抄,通常一個(gè)測(cè)試功能的第一個(gè)版本是被開(kāi)發(fā)的。在新的測(cè)試腳本的創(chuàng)建期間已有測(cè)試功能的重用性被發(fā)現(xiàn)笛厦,并被移到了級(jí)別 2 中纳鼎。在這個(gè)級(jí)別上盡量最小化功能的數(shù)量俺夕,因?yàn)樗鼘⒃黾泳S護(hù)工作量裳凸。還有很多有關(guān)測(cè)試框架的問(wèn)題,但是這里所提及的是一些基本的要被解決的問(wèn)題劝贸。

3. 在哪里使用自動(dòng)化測(cè)試

有很多的情況下使用自動(dòng)化的測(cè)試可以降低測(cè)試成本姨谷。我將盡量的突出在自動(dòng)化測(cè)試中的不同的測(cè)試技術(shù)技術(shù) 描述 備注單元測(cè)試/組件測(cè)試 這個(gè)測(cè)試工作通常是開(kāi)發(fā)人員的職責(zé),很多不同的方法能夠被使用映九,比如"測(cè)試先行"梦湘,它是一個(gè)測(cè)試框架,開(kāi)發(fā)人員在編寫(xiě)代碼前編寫(xiě)不同的單元測(cè)試件甥。當(dāng)測(cè)試通過(guò)時(shí)捌议,代碼也被完成了。

?通過(guò)使用正式的單元測(cè)試引有,不僅能夠幫助開(kāi)發(fā)人員產(chǎn)出更加穩(wěn)定的代碼而且能夠是軟件的整體質(zhì)量更加的好瓣颅。冒煙測(cè)試 冒煙測(cè)試是一般驗(yàn)證別測(cè)試系統(tǒng)的功能性測(cè)試用例的集合。

冒煙測(cè)試背后的思想是確逼┱基礎(chǔ)是可以工作的宫补,以便"大的"測(cè)試工作能夠開(kāi)始。 在構(gòu)建過(guò)程能夠確保構(gòu)建已經(jīng)為測(cè)試準(zhǔn)備好時(shí)曾我,冒煙測(cè)試通常是自動(dòng)化的運(yùn)行粉怕。功能/集成測(cè)試 這里測(cè)試的工作關(guān)注在驗(yàn)證在不同的組件之間的集成上。

?這些類(lèi)型的測(cè)試通常是被測(cè)試系統(tǒng)的更加復(fù)雜測(cè)試的基礎(chǔ)抒巢,大量的邊緣測(cè)試被合并以制造出不同的錯(cuò)誤處理測(cè)試贫贝。系統(tǒng)測(cè)試 - 用例測(cè)試 這種測(cè)試是通過(guò)執(zhí)行用戶場(chǎng)景模擬真實(shí)用戶使用系統(tǒng)以證明系統(tǒng)具有被期望的功能的測(cè)試。 這里不需要進(jìn)行自動(dòng)化的測(cè)試蛉谜。

安裝測(cè)試平酿、安全性測(cè)試通常是有手工完成的,因?yàn)橄到y(tǒng)的環(huán)境是恒定不變的悦陋」俦撸回歸測(cè)試 回歸測(cè)試實(shí)際上是重復(fù)已經(jīng)存在的測(cè)試。通常如果是手工完成的化纯蛾,這種測(cè)試只在項(xiàng)目的結(jié)尾執(zhí)行執(zhí)行一到兩次巡雨。 這里完全有潛力應(yīng)用自動(dòng)化的測(cè)試棍辕。你能夠在每次構(gòu)建完成后執(zhí)行自動(dòng)化的回歸測(cè)試,以驗(yàn)證被測(cè)試系統(tǒng)的改變是否影響了系統(tǒng)的其他功能还绘。

性能測(cè)試 性能測(cè)試包括以下不同測(cè)試形式:

- 負(fù)載測(cè)試

- 壓力測(cè)試

- 并發(fā)測(cè)試

-.....

如果沒(méi)有自動(dòng)化的測(cè)試工具楚昭,你將不能執(zhí)行通過(guò)模擬用戶的負(fù)載實(shí)現(xiàn)的高密集度的性能測(cè)試。

4. 什么時(shí)候使用自動(dòng)化測(cè)試

我對(duì)什么時(shí)候應(yīng)該使用自動(dòng)化測(cè)試和什么時(shí)候應(yīng)該使用手工測(cè)試進(jìn)行了一個(gè)概要的總結(jié):使用自動(dòng)化測(cè)試 使用手工測(cè)試項(xiàng)目沒(méi)有嚴(yán)格的時(shí)間壓力具有良好定義的測(cè)試策略和測(cè)試計(jì)劃你直到要測(cè)試什么拍顷,

你知道什么時(shí)候測(cè)試對(duì)于自動(dòng)化測(cè)試你擁有一個(gè)能夠被識(shí)別的測(cè)試框架和候選者能夠確保多個(gè)測(cè)試運(yùn)行的構(gòu)建策略多平臺(tái)環(huán)境需要被測(cè)試你擁有運(yùn)行測(cè)試的硬件你擁有關(guān)注在自動(dòng)化過(guò)程上的資源被測(cè)試系統(tǒng)是可自動(dòng)化測(cè)試的 沒(méi)有適當(dāng)?shù)臏y(cè)試過(guò)程沒(méi)有一個(gè)測(cè)試什么抚太,什么時(shí)候測(cè)試的清晰的藍(lán)圖在一個(gè)項(xiàng)目中,你是一個(gè)新人昔案,并且還不是完全的理解方案的功能性和或者設(shè)計(jì)你或者整個(gè)項(xiàng)目在時(shí)間的壓力下在團(tuán)隊(duì)中沒(méi)有資源或者具有自動(dòng)化測(cè)試技能的人沒(méi)有硬件如果你正在從事自動(dòng)化測(cè)試尿贫,那么一定要記住要關(guān)注將自動(dòng)化測(cè)試與手工測(cè)試結(jié)合起來(lái)使用。

首先踏揣,對(duì)于自動(dòng)化測(cè)試率的目標(biāo)是 10/90 (10% 的自動(dòng)化測(cè)試和 90%的手工測(cè)試)庆亡。當(dāng)這些目標(biāo)都實(shí)現(xiàn)了,可以將自動(dòng)化測(cè)試的使用率提高捞稿。記住創(chuàng)建自動(dòng)化測(cè)試的測(cè)試用例要比創(chuàng)建手工測(cè)試的測(cè)試用例花費(fèi)更多的時(shí)間又谋。不要將你所有的測(cè)試時(shí)間都用在自動(dòng)化的測(cè)試用例上。同時(shí)也要記住在測(cè)試期間對(duì)每一個(gè)被發(fā)現(xiàn)的錯(cuò)誤都要花費(fèi)一定的時(shí)間去處理娱局。

5. 自動(dòng)化測(cè)試的好處如果你正在你的組織中引入自動(dòng)化測(cè)試彰亥,記住有很多不同的方面被包含了進(jìn)了。今天在測(cè)試工作如何被進(jìn)行上有很多不同的視圖衰齐。為了能夠成功的實(shí)施自動(dòng)化測(cè)試你應(yīng)該提出這些問(wèn)題:

測(cè)試覆蓋什么任斋?- 我們沒(méi)有覆蓋什么?

由于遺漏的測(cè)試我們沒(méi)有發(fā)現(xiàn)的"bug"會(huì)帶來(lái)什么樣的成本娇斩?由于不好的測(cè)試仁卷,破壞已有功能性的成本是多少?如果"瑣碎的"測(cè)試被每天的運(yùn)行犬第,對(duì)于你的項(xiàng)目意味著什么锦积?如果我們能夠每天向開(kāi)發(fā)人員提供他們最近代碼變更相關(guān)的反饋,對(duì)項(xiàng)目有怎樣的影響歉嗓?這些問(wèn)題都能夠被自動(dòng)化測(cè)試滿足丰介。你必須從自動(dòng)化測(cè)試成熟度的級(jí)別 1 或者 級(jí)別 2 開(kāi)始,并開(kāi)始測(cè)量結(jié)果鉴分。根據(jù)我的經(jīng)驗(yàn)快速的向開(kāi)發(fā)人員反饋并每天運(yùn)行測(cè)試對(duì)于向自動(dòng)化測(cè)試成熟度的級(jí)別 4或者 級(jí)別 5 是非常有好處的哮幢。

自動(dòng)化測(cè)試有以下的貢獻(xiàn):

降低風(fēng)險(xiǎn) - 你知道你測(cè)試了什么和沒(méi)測(cè)試什么測(cè)試能在項(xiàng)目的早期開(kāi)始并隨著時(shí)間一直擴(kuò)展快速的反饋 - 自動(dòng)化測(cè)試用例能夠隨時(shí)的運(yùn)行在多個(gè)平臺(tái)上的測(cè)試能夠同時(shí)進(jìn)行

更好的估計(jì) - 你能夠?qū)y(cè)試進(jìn)度和被使用的時(shí)間有更好的了解優(yōu)秀人員的集中 - 你能夠得到一個(gè)專(zhuān)家的團(tuán)隊(duì),并將他們的知識(shí)傳播給其他的項(xiàng)目喜悅 -你和你的團(tuán)隊(duì)正獲得著成功

測(cè)試工具介紹

下面我介紹市面上相對(duì)比較廣泛的測(cè)試軟件志珍,Rational中的Robot和MI公司的WinRunner的具體的用法橙垢。

Robot,俗稱機(jī)器人伦糯。它有幾個(gè)特點(diǎn)柜某,第一嗽元,Robot它的語(yǔ)法相對(duì)簡(jiǎn)單,是一種類(lèi)似于VB的語(yǔ)法喂击,所以上手快剂癌;第二,Robot的腳本組織結(jié)構(gòu)類(lèi)似于C的結(jié)構(gòu)翰绊,相對(duì)容易理解佩谷;第三,Robot運(yùn)行環(huán)境和可參數(shù)化监嗜,所以容易維護(hù)谐檀;第四,要求的機(jī)器配置相對(duì)較低秤茅;第五稚补,Rantional系統(tǒng)集成的很多產(chǎn)品很優(yōu)秀童叠,而且適合面很廣框喳;第六,相對(duì)價(jià)格比較低廉厦坛。

WinRunner的功能相對(duì)Robot相對(duì)來(lái)說(shuō)有一下幾個(gè)特點(diǎn)五垮。

第1, WinRunner的語(yǔ)法結(jié)構(gòu)是類(lèi)似于C的語(yǔ)法杜秸,理解相對(duì)容易放仗;

第2, WinRunner的腳本組織形式是以目錄的形式組織的撬碟,所以相對(duì)來(lái)說(shuō)比較好管理诞挨;

第3, WinRunner支持當(dāng)前市面上的很多系統(tǒng)呢蛤;

第4惶傻, 可以隨時(shí)Update檢查點(diǎn)的內(nèi)容,使得腳本的維護(hù)量減少

第5其障, 機(jī)器配置相對(duì)要求高些银室;

第6, 集成了很多優(yōu)秀的組件励翼。

下面我就嘗試寫(xiě)一個(gè)Robot的腳本蜈敢。

題目:請(qǐng)檢查各種我們規(guī)定的字符是否過(guò)濾掉了,如果那些詞語(yǔ)沒(méi)有過(guò)濾掉請(qǐng)記錄下來(lái)汽抚。

測(cè)試腳本:

Function T_OpenTestFile(Filename as string)as integer

{

抓狭。。造烁。否过。狱从。。叠纹。季研。。誉察。与涡。。持偏。

}

Funciton T_FilterWord(getword as string)as integer

{

驼卖。。鸿秆。酌畜。。卿叽。桥胞。。考婴。贩虾。。沥阱。

}

以上是兩個(gè)SBL文件缎罢,相當(dāng)于C中的函數(shù)實(shí)體

那么我們要建立一個(gè)SBH,相當(dāng)于C中的頭文件考杉,紅色的部分類(lèi)似于一個(gè)類(lèi)庫(kù)策精,我們把相關(guān)的或者具有相似屬性的操作或者函數(shù)定義在同一個(gè)類(lèi)庫(kù)中。

Declare Function T_OpenTestFile Basiclib T_FileOpertion(filename as string) as integer

Declare Function T_FilterWord Basiclib T_FileOpertion(getword as string) as integer

我們現(xiàn)在建立一個(gè)腳本文件REC

#include T_FileOpertion.sbh

Main()

{

崇棠。咽袜。。易茬。酬蹋。。抽莱。

}

在此腳本中就可以調(diào)用上面那兩個(gè)函數(shù)了范抓。在以后的測(cè)試中,我們只需要維護(hù)過(guò)濾詞文件庫(kù)就可以了食铐。這樣提高了工作效率匕垫,保證了測(cè)試的正常進(jìn)行。

下面我就舉個(gè)例子虐呻,來(lái)嘗試用WinRunner的使用方法象泵,其實(shí)例子相對(duì)很簡(jiǎn)單寞秃,主要是想告訴大家這種語(yǔ)言腳本的組織方法是怎么樣的?

測(cè)試工具在實(shí)際工作中的應(yīng)用

現(xiàn)在在測(cè)試行業(yè)說(shuō)的最多的有兩個(gè)問(wèn)題偶惠,第一個(gè)問(wèn)題是測(cè)試的待遇和地位春寿,第二個(gè)問(wèn)題是自動(dòng)化問(wèn)題。我這里不談測(cè)試的地位忽孽,只談自動(dòng)化測(cè)試绑改。

如何做好自動(dòng)化測(cè)試?這里給出幾個(gè)分析方法兄一,第一厘线,被測(cè)試產(chǎn)品是否有延續(xù)性?第二造壮,被測(cè)試產(chǎn)品的維護(hù)頻繁度?第三遮精,被測(cè)試產(chǎn)品自動(dòng)化的難度如何?

其次汹族,如何選擇自動(dòng)化工具,選擇容易上手的坑资,測(cè)試腳本和測(cè)試數(shù)據(jù)容易維護(hù)的耗帕,價(jià)格低廉的。

正確的理解測(cè)試工具需要我們?nèi)ヒ龑?dǎo)袱贮,我們應(yīng)該清楚的知道那些應(yīng)該自動(dòng)化仿便,那么能自動(dòng)化,那些自動(dòng)化程度會(huì)更高等攒巍。

工作中的自動(dòng)化

測(cè)試的幾中方法

數(shù)據(jù)驅(qū)動(dòng)法

數(shù)據(jù)驅(qū)動(dòng)是測(cè)試中最常用的一種方法嗽仪,它是在不修改測(cè)試程序的情況下或者稍微修改測(cè)試程序的情況下,不段的增加測(cè)試案例來(lái)進(jìn)行自動(dòng)測(cè)試的一種方法柒莉。

舉一個(gè)具體的例子:例如我們檢查登陸驗(yàn)證(用戶名稱)闻坚,

如果我們采用自動(dòng)化測(cè)試,我們只需要在測(cè)試配置文件中增加或者刪除修改配置文件就可以達(dá)到測(cè)試的效果了兢孝。

要將兩個(gè)文件進(jìn)行比較窿凤,就可以得到被測(cè)試程序的處理能力和結(jié)果了。

樁驅(qū)動(dòng)

樁驅(qū)動(dòng)也是一種常見(jiàn)的測(cè)試方法跨蟹。這種測(cè)試方法是把某個(gè)模塊假設(shè)是正確的雳殊,然后把這個(gè)模塊作為主核心,然后測(cè)試他傳出的參數(shù)和數(shù)據(jù)給其他模塊來(lái)處理喷市,查看處理的結(jié)果相种。

我那EXCEL中數(shù)據(jù)舉一個(gè)現(xiàn)實(shí)的例子,大家都知道,當(dāng)你輸入等號(hào)的時(shí)候寝并,Excel認(rèn)為你需要計(jì)算箫措,那么處理流程就應(yīng)該是接受鍵盤(pán)消息,然后處理衬潦。如果我們把輸入做為一個(gè)樁网沾,那么來(lái)查看計(jì)算結(jié)果的話蜕径,就可以知道那些信息處理了,那些信息沒(méi)有處理。

樁驅(qū)動(dòng)的核心其實(shí)很簡(jiǎn)單,就是首先對(duì)樁模塊做一個(gè)假設(shè)和詳細(xì)測(cè)試,認(rèn)為樁模塊是足夠健壯的;第二,樁模塊是驅(qū)動(dòng)機(jī),能夠和很多模塊發(fā)生調(diào)用關(guān)系,是核心部件.

關(guān)鍵字驅(qū)動(dòng)

關(guān)鍵字驅(qū)動(dòng)和樁驅(qū)動(dòng)有些相似的地方炬丸,關(guān)鍵字驅(qū)動(dòng)的核心是

網(wǎng)絡(luò)方面的測(cè)試方法

數(shù)據(jù)庫(kù)測(cè)試要點(diǎn)

網(wǎng)絡(luò)游戲測(cè)試要點(diǎn)

下面我和大家探討網(wǎng)絡(luò)游戲的測(cè)試方法疼鸟。網(wǎng)絡(luò)游戲是一個(gè)信息相對(duì)集中的一個(gè)網(wǎng)絡(luò)產(chǎn)品稽寒,它牽扯到客戶端和服務(wù)端以及客戶端之間的通訊侣背。下面我們就結(jié)合具體的例子來(lái)分析

我舉一個(gè)Mmog的例子(注:mmog是大型網(wǎng)絡(luò)游戲的縮寫(xiě)),大型網(wǎng)絡(luò)游戲主要是即時(shí)戰(zhàn)略性質(zhì)的走越,所以通訊上采用TCP協(xié)議來(lái)發(fā)送數(shù)據(jù)包椭豫。TCP協(xié)議發(fā)送數(shù)據(jù)包的優(yōu)點(diǎn)是盡量能夠減少數(shù)據(jù)包的丟失,他是對(duì)數(shù)據(jù)包的一個(gè)精包裝旨指,一般的發(fā)送數(shù)據(jù)包采用實(shí)時(shí)處理的形式赏酥,即采用堵塞式的處理模式,而不是等到一定空間的數(shù)據(jù)包滿了以后才一起發(fā)送(非堵塞式的處理模式)谆构。

上面我們只是簡(jiǎn)單的講了mmog游戲數(shù)據(jù)包發(fā)送的形式裸扶。下面我們分析網(wǎng)絡(luò)游戲服務(wù)端測(cè)試的重點(diǎn)。

網(wǎng)絡(luò)游戲服務(wù)端的主要作用:下發(fā)玩家信息搬素,仲裁勝負(fù)信息呵晨,仲裁裝備信息,服務(wù)器之間中轉(zhuǎn)信息蔗蹋,狀態(tài)存盤(pán)何荚,玩家信息存盤(pán)等。我們來(lái)一個(gè)個(gè)的分析猪杭,服務(wù)端要處理這么多的事情,在處理什么事情的時(shí)候壓力最大呢妥衣?那肯定是下發(fā)玩家信息最大皂吮,為什么這么說(shuō)呢?因?yàn)樵谙掳l(fā)玩家信息的時(shí)候税手,服務(wù)端會(huì)把每個(gè)人的信息和地圖上的所有的信息蜂筹,而且這個(gè)信息是當(dāng)?shù)貓D上的玩家和元素的增多而增多,當(dāng)?shù)貓D上的人越多的情況下芦倒,服務(wù)器的處理信息的量就很大艺挪。那么分析這么多,我們主要測(cè)試什么兵扬?測(cè)試同步消息的傳遞麻裳。就是在很多玩家的情況下口蝠,信息能否順利的通知給各個(gè)玩家。

如果做這樣的事情呢津坑?根據(jù)經(jīng)驗(yàn)(可以另外想辦法)妙蔗,建議編寫(xiě)一個(gè)機(jī)器人,我們能夠操作機(jī)器人疆瑰,這個(gè)機(jī)器人需要處理什么事情呢眉反?希望機(jī)器人能夠在以玩家為中心的地方隨意走動(dòng),能夠跟隨玩家跨地圖穆役,能夠按照設(shè)定施放技能寸五,能夠聊天。通過(guò)機(jī)器人的每一個(gè)動(dòng)作我們來(lái)觀察服務(wù)的各個(gè)性能表現(xiàn)耿币。關(guān)心那些性能表現(xiàn)播歼?大家可以參考LoadRunner提供的業(yè)界比較官方的指標(biāo)進(jìn)行核對(duì)。

網(wǎng)絡(luò)游戲服務(wù)端的測(cè)試相對(duì)比較復(fù)雜掰读,對(duì)測(cè)試人員的要求比較高秘狞,測(cè)試人員必須了解用什么協(xié)議通訊的,怎么通訊的蹈集,服務(wù)器都處理了那些事情才能具體的分析測(cè)試重點(diǎn)和測(cè)試方法怎么做烁试。

對(duì)于客戶端的測(cè)試應(yīng)該相對(duì)簡(jiǎn)單些,我這里說(shuō)的客戶端的測(cè)試不包含數(shù)據(jù)平衡部分拢肆〖跸欤客戶端主要是驗(yàn)證功能邏輯。例如我舉個(gè)例子郭怪,任務(wù)系統(tǒng)支示,現(xiàn)在每個(gè)游戲都有任務(wù)系統(tǒng)。如果測(cè)試任務(wù)系統(tǒng)鄙才,我們應(yīng)該怎么測(cè)試颂鸿?首先完成任務(wù)的條件是什么?完成任務(wù)需要什么道具攒庵?玩家能得到什么道具嘴纺?道具是否可以交易,拾撿浓冒?道具是否可以買(mǎi)賣(mài)栽渴?玩家跟NPC交付任務(wù)斷線處理?NPC在不同的狀態(tài)下所說(shuō)話的內(nèi)容稳懒?是公共任務(wù)還是門(mén)派任務(wù)闲擦?在得到道具過(guò)程中儲(chǔ)物箱滿了會(huì)怎么處理?在負(fù)重超出了本身能力的情況下怎么處理?等等墅冷,把細(xì)節(jié)的問(wèn)題考慮清楚了纯路,這樣設(shè)計(jì)案例執(zhí)行就是了,沒(méi)有自動(dòng)化的必要(但是可以在組件測(cè)試中進(jìn)行自動(dòng)化俺榆,系統(tǒng)測(cè)試沒(méi)有必要自動(dòng)化)感昼。

客戶端還有一個(gè)測(cè)試點(diǎn)就是地圖,因?yàn)榈貓D是游戲的門(mén)面罐脊,所以地圖的檢查點(diǎn):絢麗度定嗓,整個(gè)地圖的亮度,不同分辨率下的地圖顯示萍桌,地圖的拼接宵溅,地圖上NPC或者怪物的分布等等。網(wǎng)絡(luò)游戲的測(cè)試是積極具有挑戰(zhàn)性上炎,包括能力恃逻,耐力,創(chuàng)造力的人奮斗藕施。

還有一種是休息類(lèi)游戲寇损,例如盛大網(wǎng)絡(luò)的泡泡,客戶端之間主要是通過(guò)UDP進(jìn)行通訊裳食。關(guān)于UDP通訊的檢查和測(cè)試我在這里先不做詳細(xì)描述矛市,以后進(jìn)行補(bǔ)充。

C/S結(jié)構(gòu)測(cè)試要點(diǎn)

網(wǎng)絡(luò)游戲現(xiàn)在是C/S架構(gòu)的一種诲祸,但是我們平常所說(shuō)的C/S是一種類(lèi)似于銀行系統(tǒng)浊吏,購(gòu)物系統(tǒng)等,這種系統(tǒng)要求:服務(wù)器處理能力強(qiáng),反饋及時(shí),但是有一個(gè)特點(diǎn)灵妨,這種服務(wù)器壓力是出現(xiàn)在業(yè)務(wù)繁忙的時(shí)候,所以在測(cè)試這種軟件的時(shí)候墩衙,需要完全弄清楚業(yè)務(wù)邏輯,業(yè)務(wù)點(diǎn)在那里享扔?信息同步在那些方面需要關(guān)注底桂?服務(wù)端數(shù)據(jù)處理流程是什么?如果把以上問(wèn)題搞清楚了惧眠,測(cè)試的重點(diǎn)也就出來(lái)了,這里我不再舉具體的例子于个,因?yàn)镃/S架構(gòu)的軟件是相通的氛魁。

下面我就舉個(gè)例子,給大家看看,關(guān)于C/S架構(gòu)的mmog類(lèi)型的游戲測(cè)試,服務(wù)器的壓力那里,測(cè)試的重點(diǎn)在那里?

市面上90%以上mmog類(lèi)型游戲采用的結(jié)構(gòu)。

當(dāng)客戶端要求登陸服務(wù)器的時(shí)候,通過(guò)賬號(hào)數(shù)據(jù)庫(kù)驗(yàn)證,然后取出該賬號(hào)對(duì)應(yīng)的角色,然后告訴客戶端你是我們的用戶,然后由網(wǎng)關(guān)把該玩家連接到響應(yīng)的GameSvr上.

客戶端向服務(wù)器發(fā)送登陸請(qǐng)求,如果采用非阻塞式,使得各個(gè)客戶端的請(qǐng)求形成非隊(duì)列式,那么服務(wù)器壓力不會(huì)很大,如果采用阻塞式,那么客戶端感覺(jué)服務(wù)器處理速度就會(huì)很慢,玩家不答應(yīng),所以大多采用非阻塞式,處理速度快.而且玩家和賬號(hào)數(shù)據(jù)庫(kù)不是長(zhǎng)期保持連接,只是保持一個(gè)心跳而已.這樣就得出一個(gè)結(jié)論,用戶在登陸的時(shí)候,對(duì)服務(wù)器不會(huì)造成多少壓力.

那么什么時(shí)候會(huì)造成壓力呢?

玩家走路,大家都知道,網(wǎng)絡(luò)最主要的特點(diǎn)是同步信息,也就是說(shuō),當(dāng)一個(gè)玩家走動(dòng)以后,服務(wù)器首先要計(jì)算一次,當(dāng)前玩家指的坐標(biāo)是否正確,其次,服務(wù)器要下發(fā)消息,告訴周?chē)耐婕?他現(xiàn)在在那里,怎么樣的姿態(tài)存在.因?yàn)榉?wù)器會(huì)給一定范圍內(nèi)的玩家通知這些信息,造成服務(wù)器壓力增多,因?yàn)榉?wù)器(GaemSvr)和玩家保持的是一個(gè)TCP的長(zhǎng)連接,如果當(dāng)前服務(wù)器或者一屏(或者說(shuō)一定范圍內(nèi)的玩家相對(duì)比較多)的情況下,服務(wù)器要處理當(dāng)前服務(wù)器上類(lèi)似于上面描述的若干個(gè)這樣的情況,造成服務(wù)器壓力巨大.

除了走路,還有什么會(huì)造成服務(wù)器壓力大呢?

聊天,為什么說(shuō)聊天會(huì)造成服務(wù)器壓力比較大呢?因?yàn)楫?dāng)A對(duì)B說(shuō)話,服務(wù)器需要尋找,當(dāng)前B在那里,然后通知A,B在,你可以說(shuō)話給他,這個(gè)時(shí)候A才可能和B說(shuō)話.如果人相對(duì)比較多的話,可能造成服務(wù)器壓力大.

跨服務(wù)器行走,也會(huì)造成服務(wù)器壓力巨大?

因?yàn)楫?dāng)你從一個(gè)服務(wù)器跨到另外一個(gè)服務(wù)器的時(shí)候,服務(wù)器需要把第一個(gè)服務(wù)器上玩家的數(shù)據(jù)拷貝的另外一個(gè)服務(wù)器,然后初始化一個(gè)實(shí)體,然后再告訴DB,把這個(gè)人的數(shù)據(jù)存盤(pán)一次,然后再嘗試跨服務(wù)器,如果跨不成功,如果成功,則把該數(shù)據(jù)初始化給本玩家,如果不可以,則另外處理,這樣造成服務(wù)器的壓力大.

總上所述,不是所有的C/S結(jié)構(gòu)的產(chǎn)品,我們以上來(lái)就模擬人多的情況怎么樣,而是要分析,那塊的壓力真正的大,壓力大的情況下會(huì)影響到游戲邏輯和數(shù)據(jù)在那里?需要冷靜的分析這些情況,才可能有效的執(zhí)行測(cè)試.

綜上所述,我們知道網(wǎng)絡(luò)的測(cè)試重點(diǎn)是相同通訊,數(shù)據(jù)同步和存儲(chǔ),那么在進(jìn)行測(cè)試的時(shí)候,需要熟悉的了解各個(gè)部分相互通訊的模式是TCP還是UDP模式,那么各個(gè)模式有各個(gè)模式的特點(diǎn).

TCP是通訊協(xié)議是把數(shù)據(jù)包進(jìn)行精包裝,然后在網(wǎng)絡(luò)鏈路中進(jìn)行發(fā)送,它需要進(jìn)行三次握手才可以確定數(shù)據(jù)包的發(fā)送與否,丟包的幾率很小,但是自身有補(bǔ)償機(jī)制,使得包數(shù)據(jù)傳輸?shù)倪^(guò)程中可靠性大大加強(qiáng)但是缺點(diǎn)是速度相對(duì)很慢.

UDP通訊是另外一種數(shù)據(jù)包傳送模式,這種方式的特點(diǎn)是傳送速度快,但是容易造成數(shù)據(jù)包丟棄.

所以除了了解各個(gè)部分的通訊協(xié)議之外還需要了解,當(dāng)丟包了以后,對(duì)數(shù)據(jù)包進(jìn)行補(bǔ)償?shù)膬煞N方法,第一種方法是把從丟失的第一個(gè)包到當(dāng)前包作為一個(gè)整體的包,進(jìn)行包的重播,這樣的方法會(huì)使得從客戶端看到通常我們?cè)谟螒蛑兴霈F(xiàn)的”卡”現(xiàn)象,還有另外一種補(bǔ)償機(jī)制,就是把前面的數(shù)據(jù)包丟棄,然后播放最后一個(gè)數(shù)據(jù)包信息,這樣就會(huì)在其他的客戶端看到一些莫名其妙的現(xiàn)象.

WEB測(cè)試要點(diǎn)

Web測(cè)試的要點(diǎn)其實(shí)很多,但是Web測(cè)試的著力點(diǎn)其實(shí)不多秀存,因?yàn)榛赪eb現(xiàn)在有兩個(gè)重點(diǎn)捶码,一種是基于平面的靜態(tài)的,只是更新新聞或链,那么這個(gè)的測(cè)試點(diǎn)相對(duì)簡(jiǎn)單惫恼,主要是各個(gè)鏈接正確性,服務(wù)器瀏覽量等澳盐,還有另外一種就是基于Web的P To P的通訊祈纯,需要注冊(cè),牽扯到用戶信息叼耙,那么這些測(cè)試重點(diǎn)在于P To P通訊的順暢性腕窥,數(shù)據(jù)的可靠性。

嵌入式軟件的測(cè)試方法

手機(jī)軟件測(cè)試

手機(jī)現(xiàn)在在社會(huì)上應(yīng)用很廣筛婉,同時(shí)針對(duì)手機(jī)上的功能增加也非炒乇快,例如爽撒,藍(lán)牙入蛆,例如,短信硕勿,例如哨毁,信息下載,手機(jī)游戲等首尼,這說(shuō)明在未來(lái)發(fā)展中,手機(jī)將人們帶在一個(gè)孤獨(dú)的社會(huì)中去软能。

簡(jiǎn)單回想迎捺,我們的上輩人開(kāi)始用手機(jī),那是后簡(jiǎn)單的目的:就是通訊查排,而且還必須在既定范圍內(nèi)凳枝,價(jià)格高昂等,這些只有很富有的人才能染指的東西現(xiàn)在在社會(huì)中的每個(gè)角落都可能跋核。放羊的岖瑰。。砂代。蹋订。

那么手機(jī)軟件怎么測(cè)試呢?測(cè)試什么呢刻伊?怎么組織呢露戒?

那么我做簡(jiǎn)單的分析:首先確定手機(jī)軟件是嵌入式軟件椒功,那么我們拋開(kāi)IC測(cè)試,拋開(kāi)盲區(qū)智什,耐久性动漾,耐碰撞性測(cè)試不提,就軟件本身測(cè)試需要考慮的內(nèi)容荠锭。

我們說(shuō)了這么多旱眯,我們整理出來(lái)手機(jī)軟件測(cè)試的核心是數(shù)據(jù)的時(shí)效性,怎么理解呢证九?不能說(shuō)我發(fā)了個(gè)短信删豺,對(duì)方一天都無(wú)法收到?或者我打電話甫贯,對(duì)方?jīng)]有任何反映吼鳞,這就說(shuō)明有問(wèn)題。

在例如叫搁,通過(guò)手機(jī)的紅外線赔桌,能把地址薄中的資料傳送的電腦中,如果在傳送的過(guò)程中出錯(cuò)渴逻,或者對(duì)操作系統(tǒng)有要求疾党,或者在傳輸?shù)倪^(guò)程造成數(shù)據(jù)丟失,導(dǎo)出來(lái)的數(shù)據(jù)是無(wú)法識(shí)別的格式等惨奕,都會(huì)造成該功能無(wú)效雪位。

再如,手機(jī)信息的存儲(chǔ)問(wèn)題梨撞,因?yàn)槭謾C(jī)本身有自己的系統(tǒng)雹洗,有自己處理信息的方式和格式,那就牽掣到的問(wèn)題和外界信息交互的問(wèn)題卧波,外界需要了解其格式时肿,閱讀其格式,就需要和外界有比較信任的通訊港粱。

其次螃成,是測(cè)試本身的功能,例如查坪,能夠正常撥打電話寸宏,能夠正常編輯信息,能夠正常保存朋友電話偿曙,能夠有歷史記錄氮凝,能夠正常鬧鐘和各種設(shè)置,能夠正常有提示信息等望忆。

我再舉個(gè)例子覆醇,手機(jī)中游戲軟件的測(cè)試朵纷,我們先了解手機(jī)中游戲開(kāi)發(fā)語(yǔ)言Java炭臭,其次永脓,由于手機(jī)中的內(nèi)存大小優(yōu)先,所以游戲的大小以及運(yùn)行的各種指標(biāo)都很小鞋仍,所以用KJava常摧。還有一個(gè)特點(diǎn),手機(jī)中的游戲是回合制威创,所以類(lèi)似的同步要求不是很高落午,所以測(cè)試重點(diǎn)就有所改變。

那么像手機(jī)游戲的測(cè)試點(diǎn)在那里呢肚豺?了解這個(gè)方面的測(cè)試溃斋,需要了解幾個(gè)問(wèn)題,運(yùn)營(yíng)商對(duì)產(chǎn)品的要求:

運(yùn)營(yíng)商對(duì)開(kāi)發(fā)商提出的要求吸申,一般情況有這么幾種梗劫。第一牍颈,應(yīng)用程序的大辛晗瘛;第二材蛛,應(yīng)用程序的命名規(guī)則日丹;第三走哺,應(yīng)用程序版本控制規(guī)則;第四哲虾,明確提出所支持的機(jī)器的類(lèi)型丙躏;第五,采用的編碼格式UTF_8的編碼還是其他的編碼束凑;第六晒旅,外部中斷的處理邏輯;第七湘今,比對(duì)壓縮后的文件和先前文件的比較敢朱。

上面我提出了手機(jī)軟件測(cè)試的七個(gè)重點(diǎn),下面我逐步添加詳細(xì)介紹各個(gè)部分的細(xì)節(jié)摩瞎。

第一拴签,應(yīng)用程序的大小。由于應(yīng)用程序在被下載時(shí)百寶箱會(huì)根據(jù)需要插入5K的程序代碼旗们,因此要求SP提交的應(yīng)用程序其大小不能超過(guò)手機(jī)最大下載尺寸減5K蚓哩,下表列出了目前市場(chǎng)上部分JAVA手機(jī)對(duì)JAR文件下載的字節(jié)數(shù)限制情況(未列入機(jī)型請(qǐng)SP咨詢手機(jī)廠家)

其次,由于應(yīng)用程序在被下載時(shí)百寶箱會(huì)根據(jù)需要插入程序代碼上渴,這段代碼在手機(jī)上執(zhí)行時(shí)要占用10K左右的堆內(nèi)存岸梨,因此要求SP提交的應(yīng)用程序在運(yùn)行時(shí)要預(yù)留至少10K的堆內(nèi)存喜颁。

第二,應(yīng)用程序的命名規(guī)則曹阔。應(yīng)用程序的命名規(guī)則的字符長(zhǎng)度不能超過(guò)12個(gè)字符長(zhǎng)度半开,而且命名有一定的規(guī)則,需要SP和提供商商定赃份,但是必須依照行業(yè)標(biāo)準(zhǔn)寂拆。另外,在提交的時(shí)候抓韩,需要了解一些要求纠永,由于各個(gè)SP開(kāi)發(fā)商開(kāi)發(fā)環(huán)境,編譯環(huán)境等問(wèn)題谒拴,所以運(yùn)營(yíng)商都提出嚴(yán)格的打包要求尝江。

SP遞交應(yīng)用程序打包要求:

1. JDK使用1.3.1版本(國(guó)際版);

2. 打包工具使用SUN公司提供的J2ME Wireless Toolkit (midp1.0版本英上,1.0.3或1.0.4)炭序;

由于SUN公司的WTK只支持標(biāo)準(zhǔn)的midp1.0,不支持各手機(jī)擴(kuò)展的API善延,需要SP對(duì)所使用的WTK進(jìn)行擴(kuò)充才可以支持手機(jī)擴(kuò)展的API少态,方法是:將擴(kuò)展API加到D:WTK104libmidpapi.zip(假設(shè)WTK安裝在D:WTK104目錄下)中即可。

3. 不做擾碼或使用RetroGuard進(jìn)行擾碼易遣,不得使用別的擾碼工具彼妻。

說(shuō)明:1. SP在開(kāi)發(fā)時(shí)仍然可以使用原來(lái)的工具進(jìn)行開(kāi)發(fā),但遞交應(yīng)用時(shí)請(qǐng)使用SUN公司的WTK進(jìn)行打包豆茫;

2. 如果SP不按照要求進(jìn)行打包侨歉,出現(xiàn)百寶箱不能識(shí)別API的情況時(shí)將按照測(cè)試未通過(guò)的情況處理。

第三揩魂,版本控制要求是幽邓,版本控制的格式x.x.x,應(yīng)該嚴(yán)格遵守這個(gè)規(guī)則火脉。

辦公類(lèi)產(chǎn)品的延續(xù)性相對(duì)較長(zhǎng)牵舵,所以部分模塊有利于自動(dòng)化測(cè)試。我在這里介紹辦公類(lèi)產(chǎn)品的測(cè)試重點(diǎn)在那里倦挂?

辦公類(lèi)產(chǎn)品的特點(diǎn)是人們?cè)谵k公中經(jīng)常要用到畸颅,頻率很高,所以簡(jiǎn)單方援,易用没炒,方便操作容易理解成為辦公類(lèi)產(chǎn)品的首要要求。

其次辦公類(lèi)產(chǎn)品考慮的機(jī)器的硬件配置犯戏,例如顯卡送火,打印機(jī)等外設(shè)

第三拳话,辦公類(lèi)產(chǎn)品還需要測(cè)試兼容性,因?yàn)樽陨硌永m(xù)性長(zhǎng)的特點(diǎn)种吸。

第四弃衍,辦公類(lèi)產(chǎn)品需要保證數(shù)據(jù)安全

第五,辦公類(lèi)產(chǎn)品本身的功能邏輯

那么怎么才能做好辦公類(lèi)軟件的測(cè)試呢骨稿?

首先辦公軟件的核心是辦公笨鸡,日常生活中要用到,那么按照各種排版格式自己去排版就好了坦冠,在這個(gè)過(guò)程中詳細(xì)得出一些結(jié)論:

第一可操作性;第二哥桥,各個(gè)模塊的使用邏輯辙浑,例如:在文件中插入對(duì)象,對(duì)象能否體現(xiàn)出來(lái)拟糕,設(shè)置對(duì)象的繞排方式判呕,能否設(shè)置成功,能否體現(xiàn)送滞,設(shè)置對(duì)象是否打酉啦荨犁嗅;第三边涕,存盤(pán),數(shù)據(jù)安全考慮褂微,看存盤(pán)后對(duì)象是否保存功蜓,各種字體設(shè)置是否保存,繞排方式是否保存等宠蚂。第四式撼,兼容性,因?yàn)橛脩羰褂玫霓k公類(lèi)軟件很多求厕,需要文件共享兼容著隆。其次是本身高低版本的兼容性,需要著重考慮呀癣。第五美浦,文件大小和不同文件格式的存盤(pán)信息。第六十艾,各種性能指標(biāo)抵代,包括啟動(dòng)速度,占用磁盤(pán)大小忘嫉,在使用的過(guò)程中CPU的占有情況荤牍;第七案腺,快捷鍵的設(shè)定和檢查,不要和系統(tǒng)的快捷鍵沖突康吵,并且支持系統(tǒng)的各種設(shè)置支持系統(tǒng)剪貼板功能劈榨;第八,支持網(wǎng)絡(luò)傳輸晦嵌,能夠自由的通訊和共享同辣,能夠支持協(xié)同工作,能夠充分體現(xiàn)修改數(shù)據(jù)的同步信息惭载。

殺毒類(lèi)產(chǎn)品測(cè)試

殺毒類(lèi)軟件是一種工具類(lèi)軟件旱函,隨著網(wǎng)絡(luò)的普及,殺毒軟件也越發(fā)顯得重要描滔,那么殺毒軟件的測(cè)試重點(diǎn)是:

能夠發(fā)現(xiàn)病毒

操作系統(tǒng)檢查

能夠正確的報(bào)告并且查殺病毒

占有的CPU占有情況

查殺病毒的內(nèi)存使用情況

數(shù)據(jù)安全

軟件沖突

病毒庫(kù)升級(jí)

自動(dòng)更新

那么在殺毒軟件的時(shí)候棒妨,還有一個(gè)重要的東西,就是用戶的數(shù)據(jù)安全含长,當(dāng)殺毒軟件能夠清除含毒文件中的毒的時(shí)候券腔,一定要包含用戶文件的可靠性。

ERP軟件的測(cè)試方法

驗(yàn)證測(cè)試

測(cè)試管理工作

我沒(méi)有讀過(guò)管理方面拘泞,只是看了一些書(shū)而已纷纫,在幾個(gè)團(tuán)隊(duì)中應(yīng)用,效果還可以陪腌,所以拿出來(lái)和大家交流辱魁。

其實(shí)無(wú)論是開(kāi)發(fā)管理和測(cè)試管理,其核心應(yīng)該是“理”偷厦,如果理都不通商叹,那么管只能是強(qiáng)制性質(zhì),那么在軟件行業(yè)只泼,創(chuàng)造性的企業(yè)中剖笙,可能不能維持的很久,所以需要先“理”清楚了请唱,然后我們來(lái)管弥咪,到那個(gè)時(shí)候也就不用管了,因?yàn)槔眄樍耸螅源蠹叶贾涝撛趺礃幼鼍壑粒裁磿r(shí)候做了。

那么談到“理”本橙,我們需要理什么呢扳躬?理事情,把要做的事情理清楚;理目標(biāo)贷币,把要達(dá)到的目的說(shuō)清楚击胜;理思路,把做事情的思路和方法理清楚役纹;理資源偶摔,把合理的資源調(diào)配到合適的位置上,讓興趣和能力結(jié)合促脉。我覺(jué)得從大的方面就需要先將這些事情理清楚了辰斋,才可能使得一個(gè)團(tuán)隊(duì)具有非常的戰(zhàn)斗力。

其次瘸味,還需要和善的溝通宫仗,做到無(wú)所不曉,因?yàn)樵谝粋€(gè)團(tuán)隊(duì)中硫戈,氣氛非常重要锰什,也許一個(gè)人的今天心情不好,造成跟他配合的幾個(gè)人都無(wú)法工作順心丁逝,也許是感應(yīng)。所以需要和大家開(kāi)誠(chéng)布公梭姓,把能講的問(wèn)題霜幼,能講的事情講清楚,讓大家覺(jué)得你可以依靠誉尖,可以把心思告訴你罪既,你盡力為大家解決后患問(wèn)題,讓他們能夠開(kāi)心踏實(shí)的做事情铡恕。

另外琢感,需要換位思考,充分讓大家提出意見(jiàn)探熔,因?yàn)槿绻粋€(gè)團(tuán)隊(duì)要發(fā)展驹针,是需要大家一起努力的,這是大家都熟知的道理诀艰,但是做起來(lái)很難柬甥。避免一言堂,讓大家充分參與到設(shè)計(jì)中其垄,在其中找到自我的感覺(jué)苛蒲,找到這里沒(méi)有他是不可以的,這樣每一個(gè)人才能關(guān)心項(xiàng)目的每一個(gè)角落绿满,而不是為了工作而工作了臂外。

其二,需要在“理”的基礎(chǔ)上幫助大家總結(jié),大家在什么地方容易犯錯(cuò)誤漏健,犯什么類(lèi)型的錯(cuò)誤嚎货,犯錯(cuò)誤的原因是由于我們的思想老化了,需要改進(jìn)做事情的方式漾肮,還是由于工作能力或者經(jīng)驗(yàn)的問(wèn)題器予。

那么就需要對(duì)各種錯(cuò)誤進(jìn)行統(tǒng)計(jì)穴张,以找到問(wèn)題的根本原因。就問(wèn)題而討論問(wèn)題,問(wèn)題的實(shí)質(zhì)出在那里搔耕,然后幫大家改進(jìn),自己同時(shí)也會(huì)進(jìn)步粥惧。給大家講我現(xiàn)實(shí)中的例子吧匕积,我曾經(jīng)帶的一個(gè)測(cè)試組,大家做事情都很賣(mài)力扮念,而且成績(jī)也非常顯著损搬,但是在做的過(guò)程中總是會(huì)有問(wèn)題發(fā)生,問(wèn)題到底出在那里呢柜与?后來(lái)找到了原因巧勤,就是由于工作環(huán)節(jié)中出現(xiàn)問(wèn)題了,所以他總是在那里犯錯(cuò)誤弄匕,因?yàn)樗前压ぷ鳟?dāng)成工作來(lái)做了颅悉,所以他就改這個(gè)地方,我后來(lái)找到他迁匠,也找到了問(wèn)題的原因剩瓶,一起把問(wèn)題解決了。后來(lái)我就告訴他們城丧,如果誰(shuí)在同一個(gè)地方犯同樣的錯(cuò)誤延曙,我們的結(jié)論是他不懂,教他亡哄,共同學(xué)習(xí)枝缔,直到他告訴我可以了;如果第二次犯錯(cuò)誤磺平,那么我們給的結(jié)果是魂仍,他忘記了,好再學(xué)拣挪,直到他告訴我擦酌,他可以了;第三次犯同樣的錯(cuò)誤菠劝,我們給的結(jié)論是故意犯錯(cuò)誤的赊舶,那么就要全組請(qǐng)喝可樂(lè)一灌。

這個(gè)例子在現(xiàn)實(shí)生活中很多,主要是引導(dǎo)笼平,因?yàn)槿绻压ぷ鳟?dāng)成工作來(lái)作园骆,可能不會(huì)用“心”,因?yàn)槿绻怯谩靶摹惫ぷ魉麜?huì)找竅門(mén)寓调,會(huì)找方法锌唾,負(fù)責(zé)他會(huì)厭煩;如果把工作當(dāng)成自己未來(lái)的事業(yè)來(lái)做夺英,那么就會(huì)用心工作晌涕,這樣就需要我們正確的引導(dǎo)。

開(kāi)發(fā)方面開(kāi)發(fā)分析

因?yàn)槲覀兪堑谝淮巫鯩P3的產(chǎn)品痛悯,所以從技術(shù)上還處于摸索階段余黎,第二我們對(duì)產(chǎn)品的質(zhì)量意識(shí)還存在一點(diǎn)問(wèn)題,第三载萌,四方溝通或者說(shuō)回饋不夠.

進(jìn)度問(wèn)題

四方配合問(wèn)題惧财,因?yàn)樵谌魏我患夜咀銮度胧杰浖钠髽I(yè),存在硬件扭仁、軟件開(kāi)發(fā)垮衷,市場(chǎng)開(kāi)發(fā),測(cè)試準(zhǔn)備四個(gè)方面的組織需要開(kāi)展工作乖坠,所以那個(gè)組織的進(jìn)度耽誤都會(huì)嚴(yán)重影響產(chǎn)品的發(fā)布周期帘靡,在現(xiàn)在競(jìng)爭(zhēng)日益劇烈的市場(chǎng)中,必須把握市場(chǎng)機(jī)會(huì)瓤帚,所以需要對(duì)進(jìn)度進(jìn)行把握。

建議采用作戰(zhàn)圖的形式涩赢,對(duì)各個(gè)階段點(diǎn)進(jìn)行有利的把握戈次,以給各個(gè)方面贏取更多的時(shí)間,明確職責(zé)范圍筒扒,則權(quán)利的有利結(jié)合怯邪,激發(fā)各個(gè)方面的積極性。采用利益共同體的原則花墩,將各個(gè)方面合理的結(jié)合悬秉,讓開(kāi)發(fā)關(guān)心測(cè)試工作,讓測(cè)試關(guān)心開(kāi)發(fā)工作冰蘑,這樣形成一個(gè)有利的整體和泌,讓市場(chǎng)及時(shí)反饋信息,使得項(xiàng)目順利進(jìn)展祠肥。

溝通問(wèn)題

SPEC設(shè)計(jì)完成后武氓,各個(gè)方面在限定的時(shí)間內(nèi)做出反饋,以及時(shí)跟進(jìn),以便對(duì)產(chǎn)品有個(gè)明確的定位县恕,各個(gè)方面對(duì)方案認(rèn)可后东羹,切實(shí)執(zhí)行,如果出現(xiàn)技術(shù)問(wèn)題忠烛,及時(shí)通知有關(guān)人士属提,以便進(jìn)度和方案進(jìn)行合理的修改和微調(diào)。在產(chǎn)品開(kāi)發(fā)階段美尸,需要及時(shí)的總結(jié)可能遇到的問(wèn)題和對(duì)問(wèn)題的解決方案冤议,通知相關(guān)人士,使得項(xiàng)目組的人有一種歸宿感覺(jué)火惊。

開(kāi)發(fā)需要給每個(gè)Bug做出合理的解釋?zhuān)蛘邔?duì)我們的測(cè)試人員進(jìn)行相關(guān)培訓(xùn)求类,以便測(cè)試人員能夠深切的理解產(chǎn)品,能夠?qū)Ξa(chǎn)品進(jìn)行合理嚴(yán)格的測(cè)試屹耐。

這里提出一個(gè)建議,在測(cè)試人員提出Bug以后,知道表現(xiàn),一定要弄清楚問(wèn)題發(fā)生在那里,是什么導(dǎo)致這個(gè)Bug發(fā)生,才能有效的分析結(jié)構(gòu),有效的進(jìn)行案例的補(bǔ)償和測(cè)試.

跟蹤問(wèn)題

跟蹤問(wèn)題牽扯到Bug的跟蹤和進(jìn)度跟蹤尸疆,Bug的跟蹤需要一套流程,及時(shí)的出來(lái)Bug,使得發(fā)現(xiàn)Bug和解決問(wèn)題形成一個(gè)完整的流程惶岭。

進(jìn)度跟蹤的方法寿弱,建議采用階段點(diǎn)產(chǎn)品,定義明確的時(shí)間點(diǎn)按灶,明確各個(gè)時(shí)間點(diǎn)上完成的功能點(diǎn)症革,保證產(chǎn)品可以編譯,可以抽查鸯旁,可以運(yùn)行以完成的相關(guān)功能噪矛。這樣使得大家在各個(gè)時(shí)期能夠看到大家都在進(jìn)步,產(chǎn)品在進(jìn)步铺罢,有利于整個(gè)團(tuán)隊(duì)的士氣艇挨。

版本控制問(wèn)題

定制嚴(yán)格的產(chǎn)品發(fā)布流程,降低由于時(shí)間問(wèn)題韭赘,壓縮測(cè)試時(shí)間缩滨,給產(chǎn)品發(fā)布帶來(lái)的風(fēng)險(xiǎn)。建議采用的方法泉瞻,由項(xiàng)目組定制編譯計(jì)劃脉漏,然后有相關(guān)人士進(jìn)行討論,各個(gè)方面達(dá)成共識(shí)之后袖牙,堅(jiān)決執(zhí)行侧巨。

版本控制和進(jìn)度控制密切相關(guān)。

進(jìn)行嚴(yán)格的代碼管理贼陶,以保證公司機(jī)密資料刃泡,在代碼Check in 和Check Out的時(shí)候建議由專(zhuān)人進(jìn)行審核后方能入庫(kù)巧娱,以免誤操作或者敵意的操作造成代碼沖刷『嫣控制版本有幾個(gè)好處和優(yōu)點(diǎn)禁添。

關(guān)于Bug的回饋優(yōu)點(diǎn)

第1、 開(kāi)發(fā)方面回饋速度快

第2桨踪、 解決速度快

關(guān)于測(cè)試情況的總結(jié)

第1老翘、 涵蓋情況

第2、 Bug的質(zhì)量問(wèn)題

開(kāi)發(fā)體系問(wèn)題

第1锻离、 設(shè)計(jì)的分析做嗎铺峭?技術(shù)難度?設(shè)計(jì)的合理行汽纠,進(jìn)度的可行性卫键?

第2、 單元測(cè)試做了嗎虱朵?

第3莉炉、 CVS的Check In控制了嗎?

第4碴犬、 進(jìn)度風(fēng)險(xiǎn)預(yù)估了嗎絮宁?

第5、 進(jìn)度控制如何進(jìn)行的服协?

產(chǎn)品方面:

產(chǎn)品分析:整個(gè)產(chǎn)品在開(kāi)發(fā)前期绍昂,市場(chǎng)已經(jīng)找到了市場(chǎng)切入點(diǎn),但是在現(xiàn)在產(chǎn)品要發(fā)布了偿荷,我們不能或者說(shuō)很難用一系列的數(shù)據(jù)做說(shuō)明窘游,告訴高層這個(gè)產(chǎn)品可以發(fā)布了或者說(shuō)不能發(fā)布,因?yàn)榉治龅臄?shù)據(jù)太少了跳纳。因?yàn)閿?shù)據(jù)是說(shuō)明問(wèn)題的基礎(chǔ)张峰,但是現(xiàn)在定了產(chǎn)品發(fā)布的標(biāo)準(zhǔn),只是一個(gè)現(xiàn)存數(shù)據(jù)棒旗,沒(méi)有預(yù)估分析可能性,對(duì)產(chǎn)品投入市場(chǎng)可能存在風(fēng)險(xiǎn)撩荣。

建議:

第1铣揉、 案例執(zhí)行率

第2、 案例發(fā)現(xiàn)bug率

第3餐曹、 重復(fù)bug率

第4逛拱、 KLOC

第5、 產(chǎn)品日測(cè)試匯總圖(察看歷史曲線)

對(duì)產(chǎn)品研發(fā)整體改進(jìn)思路

第一步台猴、增強(qiáng)開(kāi)發(fā)質(zhì)量意識(shí)

做法:這個(gè)是個(gè)長(zhǎng)遠(yuǎn)任務(wù)朽合,但是我們可以做具體的事情俱两,例如:檢查開(kāi)發(fā)單元測(cè)試情況或者單元測(cè)試代碼等活動(dòng)

對(duì)設(shè)計(jì)的模塊案例檢查回饋情況,把質(zhì)量和開(kāi)發(fā)邦定曹步,不要讓測(cè)試單獨(dú)承擔(dān)這個(gè)壓力宪彩。

活動(dòng)方式:宣講,制度讲婚,執(zhí)行尿孔,邦定

第二步、增強(qiáng)測(cè)試本身素質(zhì)

做法:因?yàn)闇y(cè)試不成型筹麸,這是現(xiàn)狀活合,所以我們通過(guò)提供一些數(shù)據(jù)來(lái)提高案例設(shè)計(jì)的能力或者說(shuō)告訴測(cè)試人員我們的缺陷在那里。這個(gè)是長(zhǎng)遠(yuǎn)的事情物赶,因?yàn)樾枰肆θプ鲞@個(gè)事情白指。提供如下數(shù)據(jù):重復(fù)報(bào)告率,案例和Bug的比率等酵紫。加強(qiáng)程序概念的培訓(xùn)或者框架的了解告嘲,盡力從程序的概念上理解產(chǎn)品,盡量避免例冗余憨闰。

活動(dòng)方式:培訓(xùn)状蜗,數(shù)據(jù),比較

第三步鹉动、對(duì)產(chǎn)品開(kāi)發(fā)過(guò)程中版本編譯的控制

做法:CVS庫(kù)權(quán)限控制轧坎,所有的Check in和Check out需要控制,檢查代碼后方可入庫(kù)泽示。另外需要制訂完整的開(kāi)發(fā)計(jì)劃和編譯計(jì)劃缸血,使得項(xiàng)目跟蹤超向正規(guī)。

活動(dòng)方式:專(zhuān)人控制械筛,以面沖掉原來(lái)的代碼

第四步捎泻、進(jìn)度控制

做法:在產(chǎn)品開(kāi)發(fā)周期中定制完整的編譯計(jì)劃,對(duì)階段性產(chǎn)品進(jìn)行測(cè)試或者抽查埋哟。以保后期測(cè)試時(shí)間的爭(zhēng)取和質(zhì)量的保證笆豁。

活動(dòng)方式:認(rèn)可,執(zhí)行赤赊,調(diào)整

第五步闯狱、控制進(jìn)度問(wèn)題

做法:明確開(kāi)發(fā)模式,列舉詳細(xì)的開(kāi)發(fā)進(jìn)度抛计,詳細(xì)提出開(kāi)發(fā)的功能情況哄孤,樹(shù)立作戰(zhàn)詳細(xì)進(jìn)度表或者叫作戰(zhàn)牌,以鼓舞士氣吹截,讓每個(gè)參與者了解進(jìn)度

活動(dòng)方式:承諾瘦陈,監(jiān)督遍尺,跟蹤

1做法:統(tǒng)一平臺(tái)俐载,統(tǒng)一流程褒傅,統(tǒng)一做事方式捷绒,實(shí)現(xiàn)任務(wù)單跟蹤

活動(dòng)方式:準(zhǔn)則,平臺(tái)咏花,優(yōu)化趴生。



混跡在互聯(lián)網(wǎng)圈的軟件測(cè)試開(kāi)發(fā)一枚,

專(zhuān)注軟件測(cè)試自動(dòng)化方向昏翰,爬蟲(chóng)國(guó)內(nèi)外測(cè)試資源苍匆,分享給自學(xué)愛(ài)好者。

知乎專(zhuān)欄:軟件自動(dòng)化測(cè)試共享站 棚菊。

QQ群:330374464 浸踩。

公眾號(hào):testpu 。

微博:@ 西邊人

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末统求,一起剝皮案震驚了整個(gè)濱河市检碗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌码邻,老刑警劉巖折剃,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異像屋,居然都是意外死亡怕犁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)己莺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)奏甫,“玉大人,你說(shuō)我怎么就攤上這事凌受≌笞樱” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵胜蛉,是天一觀的道長(zhǎng)挠进。 經(jīng)常有香客問(wèn)我,道長(zhǎng)誊册,這世上最難降的妖魔是什么奈梳? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮解虱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘漆撞。我一直安慰自己殴泰,他們只是感情好于宙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著悍汛,像睡著了一般捞魁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上离咐,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天谱俭,我揣著相機(jī)與錄音,去河邊找鬼宵蛀。 笑死昆著,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的术陶。 我是一名探鬼主播凑懂,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼梧宫!你這毒婦竟也來(lái)了接谨?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤塘匣,失蹤者是張志新(化名)和其女友劉穎脓豪,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體忌卤,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扫夜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了埠巨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片历谍。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖辣垒,靈堂內(nèi)的尸體忽然破棺而出望侈,到底是詐尸還是另有隱情,我是刑警寧澤勋桶,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布脱衙,位于F島的核電站,受9級(jí)特大地震影響例驹,放射性物質(zhì)發(fā)生泄漏捐韩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一鹃锈、第九天 我趴在偏房一處隱蔽的房頂上張望荤胁。 院中可真熱鬧,春花似錦屎债、人聲如沸仅政。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)圆丹。三九已至滩愁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辫封,已是汗流浹背硝枉。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留倦微,地道東北人妻味。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像璃诀,于是被迫代替她去往敵國(guó)和親弧可。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容