一、自動(dòng)化項(xiàng)目的選型
盡管軟件人員對(duì)自動(dòng)化技術(shù)趨之若鶩,但是自動(dòng)化技術(shù)本事不是萬能的,并不是所有的項(xiàng)目都是適合自動(dòng)化的,如果盲目的開展自動(dòng)化,反而會(huì)造成資源的浪費(fèi),所以在選擇自動(dòng)化項(xiàng)目的時(shí)候,就要進(jìn)行一下賽選,看下是否滿足進(jìn)行自動(dòng)化的條件。這樣才能讓自動(dòng)化技術(shù)帶來實(shí)實(shí)在在的效益。下面給大家總結(jié)了一些個(gè)人對(duì)于項(xiàng)目選項(xiàng)的思考。
1、項(xiàng)目周期長(zhǎng)且穩(wěn)定
項(xiàng)目本身是一個(gè)長(zhǎng)期的規(guī)劃,而不是一個(gè)短期的或者新的項(xiàng)目,以為開發(fā)測(cè)試腳本也是需要時(shí)間的,需要成本的,而這個(gè)成本是需要在后期反復(fù)的回歸測(cè)試時(shí)補(bǔ)回來的,如果項(xiàng)目周期不夠長(zhǎng)的話,可能腳本沒開發(fā)完項(xiàng)目就結(jié)束了,或者花了大量的經(jīng)歷去開發(fā),結(jié)果只運(yùn)行了一次;穩(wěn)定指的是在項(xiàng)目長(zhǎng)期的進(jìn)行過程中,不會(huì)出現(xiàn)大量且頻繁的改動(dòng)需求,因?yàn)樾枨蟮母膭?dòng)一定會(huì)使測(cè)試腳本不可用,需要重新積累測(cè)試腳本。
2、模塊功能能夠進(jìn)行回歸測(cè)試
自動(dòng)化腳本的目的是提高測(cè)試效率,節(jié)約成本。只有測(cè)試腳本反復(fù)的被使用,測(cè)試效率才能夠得到最大化的提升。所以測(cè)試項(xiàng)目對(duì)功能模塊的回歸需求很大程度上決定了實(shí)施自動(dòng)化測(cè)試的意義,回歸的需求越多,自動(dòng)化能夠產(chǎn)生的收益越大
3、場(chǎng)景易用于自動(dòng)化
這里的易用于自動(dòng)化指的是某些特殊的場(chǎng)景,人為的測(cè)試很難實(shí)現(xiàn),比如反復(fù)操作、大量的文本輸入、大量的數(shù)字計(jì)算、精確的單擊等。這些操作人為去做,很麻煩也很難實(shí)現(xiàn),那么自動(dòng)化技術(shù)就是不二的選擇
4、考慮成本和效益
在公司,一切講究的就是收益、價(jià)值,如果自動(dòng)化沒有能夠提高效率和節(jié)約成本,那表示自動(dòng)化就是失敗的。因此我們需要優(yōu)先計(jì)算投資回報(bào)率,而不是直接陷入自動(dòng)化的大坑里,簡(jiǎn)單的理解就是:
自動(dòng)化測(cè)試工程師總?cè)藬?shù)<自動(dòng)化單次平均節(jié)約人天數(shù)*執(zhí)行次數(shù)
也就是說:
1、執(zhí)行次數(shù)越多越好
2、有一個(gè)收回成本的臨界點(diǎn)
3、執(zhí)行次數(shù)至少大于這個(gè)臨界點(diǎn)才能節(jié)約成本
所以為什么說,項(xiàng)目周期要足夠長(zhǎng)且穩(wěn)定的項(xiàng)目比較適合做自動(dòng)化,因?yàn)轫?xiàng)目周期長(zhǎng),意味著可以回歸的次數(shù)更多。自動(dòng)化腳本執(zhí)行的次數(shù)越多,回報(bào)也就越高。
二、自動(dòng)化測(cè)試的進(jìn)行
1、選擇合適的工具
目前市面上的工具太多了,而且自動(dòng)化包括:功能、性能、安全等,不同的自動(dòng)化類型肯定選擇不同的工具。而且是否收費(fèi)也可以劃分:商業(yè)、開源;測(cè)試階段可以分為:白盒測(cè)試工具、接口測(cè)試工具、GUI工具等,因此,根據(jù)你的業(yè)務(wù)功能、預(yù)算等選取的工具肯定也是不一樣的。
2、提高被測(cè)系統(tǒng)的可測(cè)性
一個(gè)自動(dòng)化能不能測(cè),不僅取決于測(cè)試人員的能力和測(cè)試工具能否實(shí)現(xiàn),還要取決于系統(tǒng)框架和開發(fā)對(duì)可測(cè)性的支持;對(duì)于標(biāo)準(zhǔn)的控件而言,需要開發(fā)在設(shè)計(jì)和編碼階段提供良好的自動(dòng)化命名規(guī)范,例如id、name
3、沒有必要完全的進(jìn)行自動(dòng)化
一個(gè)系統(tǒng)需要進(jìn)行自動(dòng)化測(cè)試,很多剛開始做的朋友會(huì)想著,我既然做自動(dòng)化了。就應(yīng)該盡可能的吧全部的自動(dòng)化,哪怕有些場(chǎng)景不適合自動(dòng)化,例如某個(gè)結(jié)果是動(dòng)態(tài)的,或者是跨平臺(tái)的,這種需要花費(fèi)大量的精力的去溝通和處理。也就沒必要非得做成自動(dòng)化了。
4、盡可能的優(yōu)化時(shí)間
對(duì)于單一的測(cè)試而言,不用考慮這個(gè)問題,因?yàn)閳?zhí)行的很快,但是當(dāng)自動(dòng)化用例變多了。就需要考慮這個(gè)問題了。因?yàn)榭偸窍M軌蛟皆绲墨@取到自動(dòng)化測(cè)試的反饋結(jié)果,一般我們晚上開始跑自動(dòng)化腳本。如果一次自動(dòng)化的執(zhí)行需要超過一夜,早上拿不到結(jié)果,就會(huì)很煩。這個(gè)時(shí)候測(cè)試腳本的執(zhí)行時(shí)間會(huì)成為你的一個(gè)瓶頸,需要你去考慮。但是這個(gè)問題就具體問題再去分析吧。一般情況下我們可以從以下幾個(gè)角度去優(yōu)化:
1、取消等待時(shí)間,替換為waitFor函數(shù)
2、盡可能的減少步驟
3、一個(gè)用例可以多設(shè)計(jì)幾個(gè)檢查點(diǎn),避免一個(gè)用例一個(gè)檢查點(diǎn)
4、盡可能的做分布式,防止一天機(jī)器執(zhí)行
5、最少步驟的進(jìn)入到被測(cè)場(chǎng)景
正常情況下,人工執(zhí)行測(cè)試都是按照業(yè)務(wù)場(chǎng)景來進(jìn)行的,如果到達(dá)被測(cè)場(chǎng)景需要10步,人工測(cè)試的時(shí)候會(huì)正常的進(jìn)行這10步,在進(jìn)行的過程中,因?yàn)槿耸怯凶灾髂軇?dòng)性的,所以,我們不僅僅是檢測(cè)這最終結(jié)果,其中的過程,我們也會(huì)順便測(cè)試一遍。但是自動(dòng)化不一樣,他是沒有人的主觀意識(shí)的。自動(dòng)化需要自己加斷言,但是也不能一步一個(gè)斷言,這樣是不利于維護(hù)腳本的,并且會(huì)讓你的自動(dòng)化腳本很累贅,很大,不好整理。所以自動(dòng)化用例都是一個(gè)單獨(dú)的場(chǎng)景。在設(shè)計(jì)用例的時(shí)候就要求保證覆蓋了手工場(chǎng)景的前提下,要以最少的步驟進(jìn)入到正式的北側(cè)場(chǎng)景
聯(lián)系客服