自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

談自動(dòng)化測(cè)試框架思想與構(gòu)建

開(kāi)發(fā) 測(cè)試 自動(dòng)化
自動(dòng)化測(cè)試一般是指軟件測(cè)試的自動(dòng)化,軟件測(cè)試就是在預(yù)設(shè)條件下運(yùn)行系統(tǒng)或應(yīng)用程序,評(píng)估運(yùn)行結(jié)果,預(yù)先條件應(yīng)包括正常條件和異常條件。本文介紹的是自動(dòng)化測(cè)試框架思想與構(gòu)建,一起來(lái)看。

序言:也許到現(xiàn)在大家對(duì)所謂的“自動(dòng)化測(cè)試框架”仍然覺(jué)得是一種神秘的東西,仍然覺(jué)得其與各位很遠(yuǎn);其實(shí)不然,“自動(dòng)化測(cè)試框架”從理念來(lái)說(shuō),并不復(fù)雜,但其之所以神秘,是因?yàn)槠溥\(yùn)用起來(lái)很是復(fù)雜,每個(gè)公司,每個(gè)部門(mén)其產(chǎn)品線(xiàn),其運(yùn)作流程都是不同的,所以就導(dǎo)致了在想運(yùn)用“自動(dòng)化測(cè)試框架”去完成自動(dòng)化測(cè)試時(shí)產(chǎn)生了很多不定因素,導(dǎo)致了很多自動(dòng)化測(cè)試項(xiàng)目的失敗,讓人對(duì)“自動(dòng)化測(cè)試框架”開(kāi)始敬而遠(yuǎn)之。

而自動(dòng)化測(cè)試發(fā)展也有一段時(shí)間了,為什么到現(xiàn)在雖見(jiàn)其火熱,但難見(jiàn)其規(guī)模,關(guān)鍵是大家對(duì)其的定位,很多公司以及很多人都知道做好自動(dòng)化測(cè)試不簡(jiǎn)簡(jiǎn)單單的靠一個(gè)工具,而更需要一個(gè)框架,但其總是對(duì)“自動(dòng)化測(cè)試框架”缺乏清晰的定位,很容易將其定位成了一個(gè)固定的框架,其實(shí)個(gè)人理解不然,自動(dòng)化測(cè)試框架不是一個(gè)模式,而是一系列思想的集合,是將各種自動(dòng)化測(cè)試框架思想集合應(yīng)用去搭建成的一個(gè)分層組織。

一、簡(jiǎn)述自動(dòng)化測(cè)試框架

也許很多人印象里的自動(dòng)化測(cè)試框架就是一個(gè)能夠進(jìn)行自動(dòng)化測(cè)試的程序似的。其實(shí)這不全面,真正的自動(dòng)化測(cè)試框架可以不是一個(gè)程序,它僅僅是一種思想和方法的集合,說(shuō)白了,就是一個(gè)架構(gòu),大家應(yīng)該都知道操作系統(tǒng)其實(shí)也是一個(gè)架構(gòu)吧,你可以把其理解成一個(gè)基礎(chǔ)的自動(dòng)化測(cè)試框架為一個(gè)簡(jiǎn)單的操作系統(tǒng),它定義了幾層架構(gòu),定義了各層互相通信的方式。通過(guò)這個(gè)架構(gòu)我們才能在上面進(jìn)行拓展我們的測(cè)試對(duì)象(核心體)、測(cè)試庫(kù)(鏈接庫(kù))、測(cè)試用例集(各個(gè)windows進(jìn)程)、測(cè)試用例(線(xiàn)程),而其之間的通過(guò)參數(shù)的傳遞進(jìn)行通信(即相當(dāng)于系統(tǒng)中的消息傳遞)。

二、自動(dòng)化測(cè)試框架思想

接觸過(guò)自動(dòng)化測(cè)試的,一定不會(huì)對(duì)以下幾種“自動(dòng)化測(cè)試框架思想”陌生吧。

  • 模塊化思想
  • 庫(kù)思想
  • 數(shù)據(jù)驅(qū)動(dòng)思想
  • 關(guān)鍵字驅(qū)動(dòng)思想

很多人都將以上定義為“框架”,而我卻覺(jué)得它們都只是代表了一種自動(dòng)化測(cè)試的思想,不能以純粹的框架定義。

首先,我們來(lái)看看自動(dòng)化測(cè)試的一個(gè)發(fā)展,就能更加明白這些思想的真諦了。

a)***代自動(dòng)化測(cè)試,即自動(dòng)化測(cè)試思想剛開(kāi)始誕生時(shí),依靠的是傳統(tǒng)的“錄制-回放”技術(shù),這種技術(shù)與現(xiàn)在的工具的“錄制-回放”思想不一樣,其其實(shí)就是一個(gè)“模擬”的過(guò)程,即模擬你對(duì)PC的操作而形成的,其基于你對(duì)鍵盤(pán)的輸入與對(duì)鼠標(biāo)的操作,原理與按鍵精靈等類(lèi)似,這種機(jī)制對(duì)環(huán)境的依賴(lài)性太強(qiáng),對(duì)變化性太過(guò)于敏感,因此不可能發(fā)展成一種規(guī)模。

b)第二代自動(dòng)化測(cè)試,即腳本化的自動(dòng)化測(cè)試,利用腳本進(jìn)行結(jié)構(gòu)化的自動(dòng)化測(cè)試,此可以應(yīng)用于CLI與API的自動(dòng)化測(cè)試,在其就開(kāi)始集成了模塊化與庫(kù)思想。

c)第三代自動(dòng)化測(cè)試,開(kāi)始產(chǎn)生了各種自動(dòng)化測(cè)試思想,包括數(shù)據(jù)驅(qū)動(dòng)與關(guān)鍵字驅(qū)動(dòng)思想,其伴隨著對(duì)象化思想的產(chǎn)生,而且也造就了現(xiàn)在一系列的自動(dòng)化測(cè)試軟件,其實(shí)其中都集成了這些思想,從這時(shí)候開(kāi)始,自動(dòng)化就開(kāi)始實(shí)現(xiàn)了一定的規(guī)模,開(kāi)始運(yùn)用在各個(gè)行業(yè),并且發(fā)展趨勢(shì)越來(lái)越快。

現(xiàn)在將一一根據(jù)自己的個(gè)人理解來(lái)介紹這些“自動(dòng)化測(cè)試框架思想”:

1、所謂模塊化思想,就是將一個(gè)測(cè)試用例中的幾個(gè)不同的測(cè)試點(diǎn)拆分并且將其單個(gè)點(diǎn)的測(cè)試步驟進(jìn)行了封裝,形成了一個(gè)模塊。

例如:一個(gè)測(cè)試用例要對(duì)一個(gè)登錄程序進(jìn)行測(cè)試,其中包括:用戶(hù)名輸入、密碼輸入、以及確定登錄;

那么就可以將用戶(hù)名輸入、密碼輸入、確定登錄、取消登錄四個(gè)操作分別封裝在四個(gè)不同的模塊中。測(cè)試時(shí),只需調(diào)用其模塊即可。這樣的話(huà),當(dāng)一個(gè)模塊有變化,你只需單獨(dú)維護(hù)那個(gè)模塊即可,也可以根據(jù)模塊的不同組合成不同的測(cè)試用例。

2、所謂測(cè)試庫(kù)思想,就是模塊化思想的升華,其為應(yīng)用程序的測(cè)試創(chuàng)造了庫(kù)文件(可以是APIs、DLLs等),這些庫(kù)文件為一系列函數(shù)的集合。其與模塊化思想不同的是,其拓展了接口思想,即可以通過(guò)接口去傳遞參數(shù),而不是一個(gè)封死的模塊,可以說(shuō)是一個(gè)多了一個(gè)“門(mén)”的交互型模塊。

例如:還是以上那個(gè)測(cè)試用例,只是將用戶(hù)名輸入、密碼輸入、確定登錄、取消登錄封裝成一個(gè)庫(kù),這個(gè)庫(kù)含有一個(gè)函數(shù)Login,這個(gè)函數(shù)Login接收兩個(gè)參數(shù)“用戶(hù)名、密碼”,對(duì)輸入不同的用戶(hù)名和密碼可以進(jìn)行不同的測(cè)試用例。也可以另外一個(gè)函數(shù)Cancle。

3、所謂數(shù)據(jù)驅(qū)動(dòng)思想,眾說(shuō)紛紜,很多人都覺(jué)僅僅依靠用EXCLE表進(jìn)行不同數(shù)據(jù)的讀取僅是一個(gè)高級(jí)的參數(shù)化,其實(shí)怎么理解并不重要,關(guān)鍵是其思想能夠好的應(yīng)用到你的框架中。而我的理解就是變量不變,數(shù)據(jù)驅(qū)動(dòng)結(jié)果,不同的數(shù)據(jù)導(dǎo)致了不同的結(jié)果的產(chǎn)生。而對(duì)于數(shù)據(jù)的導(dǎo)入,可以通過(guò)很多方式,例如:EXCLE表、XML(用在WEB中)、數(shù)據(jù)庫(kù)(DB)、CSV文件、TXT等都可以。

4、所謂關(guān)鍵字思想,這個(gè)思想,我曾經(jīng)一直思考,它與面向?qū)ο蟮年P(guān)系,與交互模塊化思想的區(qū)別。后來(lái)個(gè)人理解,其實(shí)關(guān)鍵字驅(qū)動(dòng)就是一種面向?qū)ο蟮乃枷?,例如:QTP、RFT中,對(duì)象可以為一個(gè)數(shù)據(jù)或者一個(gè)關(guān)鍵字,對(duì)對(duì)象的抓取,可以將其測(cè)試對(duì)象封裝為一個(gè)關(guān)鍵字(即可以將gui元素封裝成了一個(gè)個(gè)關(guān)鍵字),這樣可以對(duì)其關(guān)鍵對(duì)象進(jìn)行各種操作了,不同的對(duì)象可以驅(qū)動(dòng)不同的測(cè)試流向與結(jié)果。

簡(jiǎn)單的應(yīng)用的方式可以用一個(gè)EXCEL表,里面包括“對(duì)象類(lèi)型”“對(duì)象名稱(chēng)”“對(duì)象操作名稱(chēng)”“判斷方式”“預(yù)期結(jié)果”。這樣的話(huà),可以通過(guò)導(dǎo)入不同的對(duì)象類(lèi)型和名稱(chēng)、不同的對(duì)象操作來(lái)構(gòu)建成了一個(gè)測(cè)試用例表了。

以上只是對(duì)這些思想的個(gè)人理解,做好自動(dòng)化測(cè)試,不是說(shuō)你掌握了一個(gè)框架,而是要掌握其自動(dòng)化的思想,然后根據(jù)這些思想,結(jié)合你不同的測(cè)試環(huán)境和流程來(lái)構(gòu)建你自己的自動(dòng)化測(cè)試框架。

三、構(gòu)建自動(dòng)化測(cè)試框架的策略

1、永遠(yuǎn)記住,你的“自動(dòng)化測(cè)試框架”是給測(cè)試人員用的,如果你真的想把自動(dòng)化測(cè)試做成一個(gè)規(guī)模,那么你需要將測(cè)試工程師當(dāng)做你的用戶(hù),你不能指望他們有耐心的去編寫(xiě)測(cè)試腳本或者指望他們能夠像你一樣對(duì)這些思想有良好的掌握。你要將他們當(dāng)成什么都不懂的用戶(hù),因此你的框架必須是“一切簡(jiǎn)單化”的化身,簡(jiǎn)單的操作、簡(jiǎn)單的維護(hù)、簡(jiǎn)單的拓展。

2、做一個(gè)自動(dòng)化測(cè)試框架主要是從分層上去考慮,而不是簡(jiǎn)簡(jiǎn)單單的應(yīng)用一種思想,它是各種思想的集合體。

例如,做GUI自動(dòng)化測(cè)試,簡(jiǎn)單的一般就將其分為三層,其框架如下圖所示:

 GUI自動(dòng)化測(cè)試

而其中,可以貫穿著自動(dòng)化測(cè)試的各種思想,例如:對(duì)象層中有關(guān)鍵字的思想、可以將對(duì)象庫(kù)標(biāo)示在Excel表中進(jìn)行管理,或者應(yīng)用動(dòng)態(tài)搜索的方式傳遞對(duì)象識(shí)別參數(shù)。tasks層中可以封裝各種方法,形成一個(gè)大型的方法庫(kù),而每個(gè)方法中可以應(yīng)用上數(shù)據(jù)驅(qū)動(dòng)的思想。

3、真正的自動(dòng)化測(cè)試框架是與流程上結(jié)合的,而不簡(jiǎn)簡(jiǎn)單單的靠技術(shù)實(shí)現(xiàn),技術(shù)其實(shí)不是很復(fù)雜,關(guān)鍵就在于對(duì)其架構(gòu)和流程的深刻把握,而這需要很長(zhǎng)的一段時(shí)間,所以不要指望一口氣能吃成胖子,只能一步一步按需求來(lái),需求指導(dǎo)思想的應(yīng)用。

四、自動(dòng)化測(cè)試框架的發(fā)展趨勢(shì)

個(gè)人認(rèn)為,自動(dòng)化測(cè)試從初始誕生到至今,已經(jīng)經(jīng)過(guò)了一段漫長(zhǎng)的日子,而其仍處于上升期,特別是現(xiàn)在軟件大爆炸、敏捷模式、云端的開(kāi)始熱門(mén),測(cè)試難度和質(zhì)量保證的難度開(kāi)始越來(lái)越大,自動(dòng)化測(cè)試的比重也會(huì)越來(lái)越大,而單存的自動(dòng)化測(cè)試是無(wú)法實(shí)現(xiàn)規(guī)?;?,因此,自動(dòng)化測(cè)試框架熱門(mén)化的趨勢(shì)化的必然的,那是,在各種框架思想的集合中,各種框架將散發(fā)出各自的璀璨,來(lái)幫助我們快速的完成各種測(cè)試。

以上僅僅是至今,個(gè)人對(duì)“自動(dòng)化測(cè)試框架”的理解,也許在以后的日子,因?yàn)檎J(rèn)識(shí)的加深而會(huì)有不同的火花蹦出,但至少覺(jué)得現(xiàn)在的框架對(duì)自己的項(xiàng)目能夠進(jìn)行應(yīng)用,也許某一天,需求飽和時(shí),那么,新一輪的遠(yuǎn)征探索就又要開(kāi)始……

希望,我們大家在自動(dòng)化測(cè)試的征程上能越走越遠(yuǎn),也希望自動(dòng)化測(cè)試能真正成為測(cè)試流程中“不可缺少”的一部分。共勉之。

版權(quán)聲明:本文出自 散步的SUN 的51Testing軟件測(cè)試博客:http://www.51testing.com/?382641

【編輯推薦】

  1. 整體思考自動(dòng)化測(cè)試發(fā)展和價(jià)值回報(bào)
  2. 如何評(píng)估自動(dòng)化測(cè)試工作量
  3. 軟件自動(dòng)化測(cè)試在功能測(cè)試中的應(yīng)用
  4. Perl多進(jìn)程在自動(dòng)化測(cè)試場(chǎng)景中應(yīng)用
  5. 自動(dòng)化測(cè)試技術(shù)在網(wǎng)站鏈接測(cè)試中的應(yīng)用
責(zé)任編輯:于鐵 來(lái)源: 51Testing軟件測(cè)試博客
相關(guān)推薦

2017-12-24 21:00:10

自動(dòng)化測(cè)試測(cè)試框架敏捷

2023-09-13 11:40:12

2021-08-17 09:00:00

架構(gòu)PythonWeb

2021-06-26 07:40:21

前端自動(dòng)化測(cè)試Jest

2009-08-19 09:00:48

單元測(cè)試框架自動(dòng)化測(cè)試

2023-05-18 14:01:00

前端自動(dòng)化測(cè)試

2023-04-06 07:09:25

自動(dòng)化部署Actions

2012-09-04 10:20:31

IBMdw

2019-04-18 09:00:00

Java自動(dòng)化測(cè)試框架

2020-04-28 09:00:00

測(cè)試測(cè)試自動(dòng)化

2020-09-14 07:00:00

測(cè)試自動(dòng)化框架

2023-10-12 07:40:54

Minium自動(dòng)化框架

2024-12-31 11:28:14

2023-02-11 21:14:58

自動(dòng)化測(cè)試框架

2023-05-08 15:59:27

UI自動(dòng)化腳本鴻蒙

2019-04-22 09:00:00

Python框架自動(dòng)化測(cè)試

2021-04-09 09:00:00

框架工具Web

2023-09-14 15:37:11

2014-04-16 14:15:01

QCon2014

2013-05-16 10:58:44

Android開(kāi)發(fā)自動(dòng)化測(cè)試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)