中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站規(guī)劃與建設(shè)的流程與方法 高中信息技術(shù)快手seo

網(wǎng)站規(guī)劃與建設(shè)的流程與方法 高中信息技術(shù),快手seo,廣州市安全平臺(tái),蘇州網(wǎng)站建設(shè)服務(wù)滴滴面試:1. 自己負(fù)責(zé)哪部分功能?農(nóng)餐對(duì)接系統(tǒng)分為了兩大子系統(tǒng),一個(gè)是個(gè)人訂餐系統(tǒng),二是餐館、個(gè)人與農(nóng)產(chǎn)品供應(yīng)商進(jìn)行農(nóng)產(chǎn)品交易系統(tǒng)。我主要負(fù)責(zé)組織測(cè)試人員對(duì)該系統(tǒng)進(jìn)行測(cè)試。我們測(cè)試分為兩個(gè)階段:一、功能測(cè)試階…

滴滴面試:

1. 自己負(fù)責(zé)哪部分功能?

農(nóng)餐對(duì)接系統(tǒng)分為了兩大子系統(tǒng),一個(gè)是個(gè)人訂餐系統(tǒng),二是餐館、個(gè)人與農(nóng)產(chǎn)品供應(yīng)商進(jìn)行農(nóng)產(chǎn)品交易系統(tǒng)。我主要負(fù)責(zé)組織測(cè)試人員對(duì)該系統(tǒng)進(jìn)行測(cè)試。

我們測(cè)試分為兩個(gè)階段

一、功能測(cè)試階段。主要負(fù)責(zé)編寫(xiě)測(cè)試計(jì)劃、測(cè)試用例、部署禪道BUG管理系統(tǒng),進(jìn)行功能測(cè)試。

首先,我們將系統(tǒng)分為了訂餐平臺(tái)、采購(gòu)平臺(tái)、登錄注冊(cè)、消費(fèi)者/餐館/供應(yīng)商后臺(tái)等七個(gè)模塊。

其次,使用等價(jià)類(lèi)劃分和邊界值分析法相結(jié)合,針對(duì)每個(gè)模塊設(shè)計(jì)測(cè)試用例。

二、 UI層自動(dòng)化測(cè)試。使用PO設(shè)計(jì)模式,工具是Selenium+Unit test+Jenkins。

2.1 目的

這個(gè)階段,是在我們項(xiàng)目需求已經(jīng)明確,版本已經(jīng)穩(wěn)定的情況下開(kāi)始的,主要考慮了幾個(gè)方面

1. UI層在多平臺(tái)、多瀏覽器下運(yùn)行結(jié)果存在不同。也就是需要我們?cè)诓煌脚_(tái)、瀏覽器下運(yùn)行相同的測(cè)試案例,大量的重復(fù)勞作力

2. 其次,我們項(xiàng)目因?yàn)榍捌谠O(shè)計(jì)不夠嚴(yán)謹(jǐn)、版本部署不夠規(guī)范,會(huì)出現(xiàn)BUG重復(fù)出現(xiàn)的情況,也就是需要我們每日構(gòu)建后進(jìn)行回歸測(cè)試。

3. 同時(shí),自己希望能夠鍛煉編程能力。

2.2 內(nèi)容

在設(shè)計(jì)UI層自動(dòng)化測(cè)試用例的時(shí)候,使用的是PO設(shè)計(jì)模式,也就是把每一個(gè)頁(yè)面所需要操作的元素和步驟都封裝在一個(gè)頁(yè)面類(lèi)中。然后 Selenium+Unit test搭建四層框架——實(shí)現(xiàn)數(shù)據(jù)、腳本、業(yè)務(wù)邏輯分離(關(guān)鍵字驅(qū)動(dòng))

1)基礎(chǔ)層(BasePage)

設(shè)計(jì)一個(gè)基本的Page類(lèi),所有頁(yè)面皆繼承該類(lèi)。提供了一個(gè)頁(yè)面需要實(shí)現(xiàn)的基本功能及公共方法。

2)業(yè)務(wù)邏輯層(Pages):

按照PO設(shè)計(jì)模式,將每個(gè)頁(yè)面抽象為一個(gè)類(lèi),放在Pages包里面,每個(gè)頁(yè)面繼承Basepage,可調(diào)用Data層數(shù)據(jù),內(nèi)容包括:

  • 該頁(yè)面所有的操作對(duì)象屬性

  • 實(shí)現(xiàn)的功能

3)數(shù)據(jù)層(Data)

該層存放相關(guān)數(shù)據(jù),例如:用戶(hù)數(shù)據(jù)和密碼。在測(cè)試用例可通過(guò)調(diào)用數(shù)據(jù)層的數(shù)據(jù)來(lái)進(jìn)行操作。

4)測(cè)試用例層(Testcases)

每一個(gè)測(cè)試用例testcase都對(duì)應(yīng)Pages里面的一個(gè)頁(yè)面,繼承unnitest.TestCase類(lèi)。通過(guò)調(diào)用對(duì)應(yīng)頁(yè)面類(lèi)的方法,數(shù)據(jù)層的數(shù)據(jù)、增加斷言(assert)來(lái)驗(yàn)證功能的正確性。

此外通過(guò)Jenkins自動(dòng)執(zhí)行測(cè)試、代碼質(zhì)量檢測(cè)和部署到測(cè)試服務(wù)器、部署到生產(chǎn)服務(wù)器上

2.3 自動(dòng)化測(cè)試執(zhí)行策略——三個(gè)階段

使用Jenkins持續(xù)集成工具來(lái)執(zhí)行測(cè)試腳本和部署,主要設(shè)置了三個(gè)任務(wù):

  • tm_test:用于執(zhí)行自動(dòng)化測(cè)試腳本,檢測(cè)代碼質(zhì)量

  • tm_staging_deploy:用于在測(cè)試服務(wù)器上部署代碼

  • tm_deploy:用于在生產(chǎn)服務(wù)器上部署

我們將測(cè)試分為三個(gè)階段

1. 開(kāi)發(fā)新的需求時(shí),創(chuàng)建分支devN。當(dāng)在這個(gè)分支中,需求開(kāi)發(fā)完成或者Bug修復(fù),就配合測(cè)試人員利用JUNit框架進(jìn)行單元測(cè)試以及功能測(cè)試。通過(guò)測(cè)試后,合并到master上。

2. 當(dāng)master有變動(dòng),則觸發(fā)tm_test任務(wù),執(zhí)行自動(dòng)化測(cè)試腳本和代碼質(zhì)量檢測(cè)。如果通過(guò)則自動(dòng)觸發(fā)tm_staging_deploy,部署到測(cè)試服務(wù)器,如果沒(méi)有通過(guò),自動(dòng)化測(cè)試腳本會(huì)將Bug截圖發(fā)送給測(cè)試人員。

3. 登陸生產(chǎn)服務(wù)器上,對(duì)網(wǎng)站進(jìn)行功能測(cè)試。如果通過(guò)測(cè)試,則手動(dòng)觸發(fā)tm_deploy,部署到生產(chǎn)服務(wù)器。如果沒(méi)有通過(guò),在禪道管理系統(tǒng)上把bug指派給相應(yīng)模塊的開(kāi)發(fā)人員。

2. 在使用Selenium中遇到的最大的問(wèn)題?如何解決?——測(cè)試用例的可靠性

誤報(bào)通常是我們?cè)谑褂胹elenium的最頭疼的問(wèn)題,這使得很難把selenium測(cè)試用例加入到自動(dòng)構(gòu)建中。有些構(gòu)建是必須要成功的,如果失敗將會(huì)阻塞整個(gè)發(fā)布流程。

解決方法——重試我們的解決方案是在測(cè)試步驟和測(cè)試集中都加入重試機(jī)制。

產(chǎn)生誤報(bào)最大原因是selenium在頁(yè)面加載完成之前就開(kāi)始請(qǐng)求頁(yè)面資源。

重試機(jī)制:

利用遞歸封裝了一個(gè)等待元素的方法。其中,設(shè)置最大等待時(shí)間為1s,輪詢(xún)時(shí)間為50ms,這個(gè)方法會(huì)不斷輪詢(xún),直到方法執(zhí)行成功或者超過(guò)設(shè)置的最大等待時(shí)間。在我們最好的一次實(shí)踐中,我們把一個(gè)測(cè)試用例的誤報(bào)率從10%降低到0,并且執(zhí)行時(shí)間從原先的45秒降低到33秒。

@annotation.tailrecprivate def retry[A](maxWaitMillis: Long, pollIntervalMillis: Long)(callback: => A): A = {

val start = System.currentTimeMillis

Try {

callback

} match {

case Success(value) => value

case Failure(thrown) => {

val timeForTest = System.currentTimeMillis - start

val maxTimeToSleep = Math.min(maxWaitMillis - pollIntervalMillis, pollIntervalMillis)

val timeLeftToSleep = maxTimeToSleep - timeForTest

if (maxTimeToSleep <= 0) { throw thrown } else { if (timeLeftToSleep > 0) {

Thread.sleep(timeLeftToSleep)

}

retry(maxWaitMillis - pollIntervalMillis, pollIntervalMillis)(callback)

}

}

}

}

其余還有元素定位問(wèn)題:

我們主要通過(guò)Selenium WebDriver進(jìn)行元素定位。但是會(huì)遇到兩大類(lèi)定位不到元素的情況:

1. ElementNotVisible元素不可見(jiàn)

對(duì)于這種情況,這個(gè)元素display = none/hidden,通過(guò)JS更改display = block來(lái)解決

2. NoSuchElementException沒(méi)有這種元素

1)最常見(jiàn)的:頁(yè)面沒(méi)有加載完全,我們就去定位這個(gè)元素。

2)動(dòng)態(tài)ID無(wú)法定位元素——1)直接使用Xpath相對(duì)路徑;2)根據(jù)部分元素定位

3)Iframe——switch_to_iframe

4) Alert——switch_to_alert

5)下拉框——Select標(biāo)簽下拉框、二次定位

3. UI層自動(dòng)化測(cè)試的作用?發(fā)現(xiàn)什么BUG?

他就是功能測(cè)試,使用WebDriver真實(shí)的模擬了用戶(hù)的操作過(guò)程。

4.有無(wú)發(fā)現(xiàn)selenium的BUG

5. 與人工測(cè)試相比,Selenium測(cè)試的產(chǎn)出,相對(duì)的優(yōu)勢(shì)?

6. 有沒(méi)有封裝過(guò)Selenium方法?

有,在BasePage層,我們就對(duì)實(shí)現(xiàn)一個(gè)頁(yè)面的基本功能進(jìn)行了封裝。

例如:

1. 設(shè)置重試機(jī)制。

2. 對(duì)webdriver各種方法進(jìn)行封裝。

  1. JUnit如何實(shí)現(xiàn),它的功能是什么?什么時(shí)候使用?

一、Selenium基本認(rèn)識(shí)

1. 什么是Selenium?

Selenium是瀏覽器自動(dòng)化工具,主要用來(lái)Web的自動(dòng)化測(cè)試,以及基于Web的任務(wù)管理自動(dòng)化。它支持的語(yǔ)言有:python、Java、ruby、JavaScript等,并且?guī)缀跄茉谥髁鞯臑g覽器上運(yùn)行。

Selenium2.0、Selenium3.0主要由三大部分組成:SeleniumIDE、Selenium WebDriver、Selenoium Grid。

  • Selenium IDE:錄制和回放腳本,可以模擬用戶(hù)對(duì)頁(yè)面的真實(shí)操作,區(qū)別于其他工具:是通過(guò)攔截http請(qǐng)求。

  • 一般只把錄制腳本當(dāng)作一個(gè)輔助功能,因?yàn)橐粋€(gè)UI節(jié)點(diǎn)的細(xì)微變化,都可能導(dǎo)致自動(dòng)化測(cè)試工具無(wú)法識(shí)別,當(dāng)測(cè)試項(xiàng)目項(xiàng)目大時(shí),定位、更新十分困難。

  • 其次,錄制的腳本有時(shí)候人工難以理解。

  • Selenium Grid:實(shí)現(xiàn)在多臺(tái)機(jī)器上、和異構(gòu)環(huán)境中并行執(zhí)行測(cè)試用例。并行執(zhí)行不僅節(jié)省時(shí)間,而且可以同時(shí)在不同的瀏覽器、平臺(tái)上運(yùn)行自動(dòng)化測(cè)試腳本。

  • Selenium Web Driver:針對(duì)各個(gè)瀏覽器而開(kāi)發(fā),通過(guò)原生瀏覽器支持或者擴(kuò)展(Chrome webDrive、FireFox WebDriver)直接控制瀏覽器

    VS Selenium RC(Selenium1.0):在瀏覽器中運(yùn)行javaScript,使用瀏覽器內(nèi)置的JavaScript來(lái)翻譯和執(zhí)行selense

2. Selenium的特點(diǎn)有:

  • 支持錄制和回放(Selenium IDE)

  • 通過(guò)WebDriver,直接控制瀏覽器,而不是通過(guò)攔截HTTP請(qǐng)求,實(shí)現(xiàn)真正模仿了用戶(hù)的操作;同時(shí)使用WebDriver能夠靈活的獲取頁(yè)面元素(WebDriver),并且提供執(zhí)行JS的接口

  • 能夠分布式運(yùn)行在不同機(jī)器和異構(gòu)環(huán)境中(不同瀏覽器)

3. Selenium的內(nèi)部運(yùn)行機(jī)制?如何能夠跨瀏覽器使用?——WebDriver原理(&RC原理)

1)RC原理

在Selenium1.0中,是通過(guò)Selenium RC服務(wù)器作為代理服務(wù)器去訪問(wèn)應(yīng)用從而達(dá)到測(cè)試的目的。

Selenium RC分為三個(gè)部分,Launcher、HttpProxy、Core。

  • Launcher用于啟動(dòng)瀏覽器,把Selenium Core加載到瀏覽器中,并且把瀏覽器的代理設(shè)置為Selenium Server的Http Proxy。

  • Core是一堆JavaScript的集合,所以本質(zhì)相當(dāng)于運(yùn)行這些JavaScript函數(shù)來(lái)實(shí)現(xiàn)對(duì)Html頁(yè)面的操作?!@也是為什么可以運(yùn)行在幾乎所有主流的瀏覽器上。

然而直接運(yùn)行JavaScript會(huì)有極大的安全漏洞,所以會(huì)受到“同源限制”,在這個(gè)基礎(chǔ)上,Selenium2.0引入了WebDriver。

2)Web Driver原理

webDriver是按照client/server模式設(shè)計(jì)的。client是我們的測(cè)試腳本,發(fā)送請(qǐng)求;server就是打開(kāi)的瀏覽器,用來(lái)接收client的請(qǐng)求并作出響應(yīng)。

具體的工作流程:

  1. webDriver打開(kāi)瀏覽器并綁定到指定端口。啟動(dòng)的瀏覽器作為遠(yuǎn)程服務(wù)器remote server

  1. client通過(guò)CommandExecuter發(fā)送http請(qǐng)求給遠(yuǎn)程服務(wù)器的偵聽(tīng)端口(the wire protocal)

  1. 遠(yuǎn)程服務(wù)器根據(jù)原生的瀏覽器組件來(lái)轉(zhuǎn)化為瀏覽器的本地(native)調(diào)用

所以web Driver用到的協(xié)議

  1. 打開(kāi)瀏覽器時(shí):HTTP協(xié)議

  1. client端發(fā)送http請(qǐng)求到遠(yuǎn)程服務(wù)器的偵聽(tīng)端口:the wire protocol

其中:

  • 有線協(xié)議:指的是從點(diǎn)到點(diǎn)獲取數(shù)據(jù)的方式,是應(yīng)用層的協(xié)議。

  • HTTP協(xié)議:是用于從服務(wù)器傳輸超文本標(biāo)記語(yǔ)言HTML到客戶(hù)端的通信協(xié)議。是一個(gè)應(yīng)用層協(xié)議,由請(qǐng)求/響應(yīng)構(gòu)成,是一個(gè)標(biāo)準(zhǔn)的客戶(hù)/服務(wù)器模式。是一個(gè)無(wú)狀態(tài)的協(xié)議。(無(wú)狀態(tài):對(duì)事務(wù)沒(méi)有記憶能力,不會(huì)保存這次傳輸?shù)男畔ⅰ?jié)約內(nèi)存)

4. 如何提高selenium腳本的執(zhí)行速度?

1)優(yōu)化測(cè)試用例。

  • 盡可能不用sleep、減少使用implicityWait,而使用WebDriverWait/FluentWait,這樣可以?xún)?yōu)化等待時(shí)間

  • 減少不必要的操作步驟。

2)使用Selenium grid,通過(guò)testNG實(shí)現(xiàn)并發(fā)執(zhí)行。

說(shuō)到這里,在編寫(xiě)測(cè)試用例的時(shí)候,一定要實(shí)現(xiàn)松耦合,然后再服務(wù)器允許的情況下,盡量設(shè)置多線程實(shí)現(xiàn)并發(fā)運(yùn)行。

3)設(shè)置等待時(shí)間、中斷頁(yè)面加載。如果頁(yè)面加載內(nèi)容太多,我們可以查看一下加載緩慢的原因,在不影響測(cè)試的情況下,可以設(shè)置超時(shí)時(shí)間,中斷頁(yè)面加載。

5. 提高自動(dòng)化腳本穩(wěn)定性

首先我們要分析出不穩(wěn)定的原因,然后有針對(duì)的去解決。

1)頁(yè)面加載內(nèi)容太多。如果頁(yè)面加載內(nèi)容太多,在不影響測(cè)試的情況下,我們可以設(shè)置超時(shí)時(shí)間,中斷頁(yè)面加載。

2)網(wǎng)絡(luò)原因。設(shè)置等待時(shí)間,如果在響應(yīng)時(shí)間內(nèi)沒(méi)有加載成功,則重新執(zhí)行測(cè)試。

3)優(yōu)化代碼,減少容易沖突的函數(shù)。

4)多線程運(yùn)行時(shí),測(cè)試用例間相互影響。在并發(fā)操作時(shí),如果用例之間的耦合性沒(méi)有設(shè)計(jì)好,就會(huì)有影響。

綜上所述,我們就可以用線程的方式來(lái)監(jiān)控測(cè)試進(jìn)程的WEB加載執(zhí)行狀態(tài)。

  • 在頁(yè)面會(huì)發(fā)生跳轉(zhuǎn)時(shí),啟動(dòng)一個(gè)Thread來(lái)監(jiān)控進(jìn)程的狀況。

  • 在Thread的run方法中定義一個(gè)計(jì)時(shí)器。

  • 如果計(jì)時(shí)器超時(shí),則可以刷新頁(yè)面,計(jì)時(shí)器清零;

  • 若此時(shí)刷新頁(yè)面再次超時(shí),則關(guān)閉當(dāng)前瀏覽器進(jìn)程,fail掉這個(gè)測(cè)試用例,繼續(xù)執(zhí)行其他的測(cè)試用例。

6. 高質(zhì)量自動(dòng)化腳本特點(diǎn)

  1. 業(yè)務(wù)和代碼分離,封裝性好。

  1. 用例之間耦合性低,獨(dú)立性強(qiáng),易于擴(kuò)展維護(hù)

7. 你覺(jué)得自動(dòng)化測(cè)試最大的缺陷是什么?

1. 一旦項(xiàng)目發(fā)生變化,測(cè)試用例就需要改進(jìn),工作量大。

2. 驗(yàn)證的范圍有限,操作更加復(fù)雜,比如說(shuō)簡(jiǎn)單的一個(gè)驗(yàn)證驗(yàn)證碼,如果是人工識(shí)別很快就可以輸入,但是自動(dòng)化測(cè)試中會(huì)增添很多困難。那么這個(gè)時(shí)候速度也不如人工。

3. 不穩(wěn)定

4. 可靠性不強(qiáng)

5. 成本與收益

8. Selenium用JavaScript去操作頁(yè)面元素會(huì)碰到什么問(wèn)題?Selenium是如何解決這個(gè)問(wèn)題的?

然而直接在瀏覽器中運(yùn)行JavaScript會(huì)有很大的安全漏洞,所以就會(huì)受到“同源策略”的限制。也就是,當(dāng)你去要運(yùn)行一個(gè)腳本的時(shí)候,會(huì)進(jìn)行同源檢查,只有和被操控網(wǎng)頁(yè)同源的腳本才能被運(yùn)行。

Selenium1.0是通過(guò)采用代理模式來(lái)解決這個(gè)問(wèn)題的。

  • 首先測(cè)試腳本向Selenium Server發(fā)出Http請(qǐng)求建立,那么Selenium Server通過(guò)Launcher來(lái)啟動(dòng)服務(wù)器,將Core加載到瀏覽器頁(yè)面中,并將瀏覽器代理設(shè)置為Http Proxy。

  • 其次,測(cè)試腳本發(fā)送Http請(qǐng)求,Selenium Server對(duì)這個(gè)Http進(jìn)行解析,然后通過(guò)代理服務(wù)器發(fā)送JS命令通知Core執(zhí)行操作瀏覽器的動(dòng)作,Core接受到指令后,執(zhí)行操作。

  • Selenium Server得到瀏覽器的Http的請(qǐng)求后,重組請(qǐng)求,獲取對(duì)應(yīng)的頁(yè)面。

  • 最后代理服務(wù)器將這個(gè)頁(yè)面返回給瀏覽器。

在這個(gè)基礎(chǔ)上,Selenium2.0是通過(guò)webDriver來(lái)時(shí)先跨平臺(tái)的。WebDriver是針對(duì)各個(gè)瀏覽器來(lái)開(kāi)發(fā),是一個(gè)遠(yuǎn)程控制界面,提供了一組接口來(lái)發(fā)現(xiàn)和操作Web文檔中的DOM元素并控制用戶(hù)代理的行為。

二、自動(dòng)化測(cè)試設(shè)計(jì)

1. 為什么想到做UI自動(dòng)化測(cè)試?

在前期,我們也配合了開(kāi)發(fā)人員使用JUnit框架進(jìn)行單元測(cè)試,測(cè)試覆蓋率從0提升到50%。

但是隨著版本的穩(wěn)定,我們開(kāi)始考慮UI層是與客戶(hù)交互最多的界面,如果要提高用戶(hù)體驗(yàn),必須從UI層入手。其次,大量并且重復(fù)的勞動(dòng)力都集中在UI層,所以我們考慮到進(jìn)行UI層自動(dòng)化測(cè)試解放勞動(dòng)力。

2. 如何設(shè)計(jì)Selenium的自動(dòng)化測(cè)試腳本?

我們從以下幾個(gè)方面來(lái)回答:

1. 自動(dòng)化測(cè)試的內(nèi)容?

2. 自動(dòng)化測(cè)試用例設(shè)計(jì)的原則

3. 使用的框架/設(shè)計(jì)模式

3. PO設(shè)計(jì)模式,四層框架——數(shù)據(jù)、業(yè)務(wù)邏輯、測(cè)試腳本分離(關(guān)鍵字驅(qū)動(dòng))

2.1 PO設(shè)計(jì)模式:

將一個(gè)頁(yè)面內(nèi)的操作對(duì)象(按鈕框、輸入框等)和操作的步驟封裝在每個(gè)Page里面,也Page為單位進(jìn)行管理。這樣Selenium測(cè)試用例能夠通過(guò)調(diào)用頁(yè)面類(lèi)來(lái)獲取頁(yè)面元素,從而巧妙的避開(kāi)了當(dāng)頁(yè)面元素的ID等屬性發(fā)生變化時(shí),修改代碼的情況。——>提高了代碼的復(fù)用性、可讀性及減少工作量。

2.2 四層架構(gòu):

1. 基礎(chǔ)層(BasePage)

設(shè)計(jì)一個(gè)基本的Page類(lèi),所有頁(yè)面皆繼承該類(lèi)。提供了一個(gè)類(lèi)需要實(shí)現(xiàn)的基本功能及公共方法。

2. 業(yè)務(wù)邏輯層(Pages):

按照PO設(shè)計(jì)模式,將每個(gè)頁(yè)面抽象為一個(gè)類(lèi),放在Pages包里面,每個(gè)頁(yè)面繼承Basepage,可調(diào)用Data層數(shù)據(jù),內(nèi)容包括:

  • 該頁(yè)面所有的操作對(duì)象屬性

  • 實(shí)現(xiàn)的功能

3. 數(shù)據(jù)層(Data)

該層存放相關(guān)數(shù)據(jù),例如:用戶(hù)數(shù)據(jù)和密碼。在業(yè)務(wù)邏輯層可通過(guò)調(diào)用數(shù)據(jù)層的數(shù)據(jù)來(lái)進(jìn)行操作。

4. 測(cè)試層(Testcases)

每一個(gè)測(cè)試用例testcase都對(duì)應(yīng)Pages里面的一個(gè)頁(yè)面,繼承unnitest.TestCase類(lèi)。通過(guò)調(diào)用對(duì)應(yīng)頁(yè)面類(lèi)的方法,增加斷言(assert)來(lái)驗(yàn)證功能的正確性。其中每個(gè)測(cè)試用例都以test_開(kāi)頭。

此外通過(guò)Jenkins自動(dòng)執(zhí)行測(cè)試、代碼質(zhì)量檢測(cè)和部署到測(cè)試服務(wù)器、部署到生產(chǎn)服務(wù)器上

4. 自動(dòng)化測(cè)試執(zhí)行策略

自動(dòng)化測(cè)試用例的執(zhí)行主要是通過(guò)Jenkins來(lái)實(shí)現(xiàn)的。而執(zhí)行的策略是根據(jù)測(cè)試用例的類(lèi)別、目的來(lái)設(shè)計(jì)的。

在Jenkins中,我們?cè)O(shè)定了三個(gè)任務(wù)

  • tm_test:用于執(zhí)行自動(dòng)化測(cè)試腳本,檢測(cè)代碼質(zhì)量

  • tm_staging_deploy:用于在測(cè)試服務(wù)器上部署代碼

  • tm_deploy:用于在生產(chǎn)服務(wù)器上部署

測(cè)試用例的目的分為三種情況:

1)用來(lái)監(jiān)控。

在此目的下,我們就把自動(dòng)化測(cè)試用例設(shè)置成定時(shí)執(zhí)行的,如果每五分鐘或是一個(gè)小時(shí)執(zhí)行一次,在jenkins上創(chuàng)建一個(gè)定時(shí)任務(wù)即可。

2)必須回歸的用例

當(dāng)修復(fù)了新功能或者Bug以后,首先開(kāi)發(fā)人員進(jìn)行冒煙測(cè)試,如果通過(guò)了JUnit單元測(cè)試,交給測(cè)試人員進(jìn)行功能測(cè)試。通過(guò)測(cè)試后,合并到master。

master一旦有變化,則觸發(fā)tm_test任務(wù),執(zhí)行自動(dòng)化測(cè)試腳本和代碼質(zhì)量檢測(cè)。如果通過(guò),則自動(dòng)觸發(fā)tm_staging_deploy,部署到staging服務(wù)器上,沒(méi)有通過(guò)的話,自動(dòng)化測(cè)試腳本會(huì)自動(dòng)發(fā)送Bug截圖給測(cè)試人員。

3)不需要經(jīng)常執(zhí)行的測(cè)試用例/生產(chǎn)服務(wù)器上的代碼

有些非主要業(yè)務(wù)線的代碼,或者生產(chǎn)服務(wù)器上的代碼已經(jīng)很穩(wěn)定了,不需要時(shí)時(shí)回歸,所以我們采用人工執(zhí)行,在jenkins創(chuàng)建一個(gè)任務(wù),需要執(zhí)行的時(shí)候人工去構(gòu)建即可。

三、Jenkins

Jenkins是持續(xù)集成的工具,能夠自動(dòng)執(zhí)行測(cè)試和代碼檢測(cè),以及部署到服務(wù)器上。

【軟件測(cè)試到測(cè)試開(kāi)發(fā)全測(cè)試生涯學(xué)習(xí)路線】

以及全套配套的學(xué)習(xí)資料,視頻教程....

:【以下路線圖太詳細(xì)了只能展開(kāi)部分,具體的可以在文章末尾掃描小卡片備注000領(lǐng)取哦】

1:自動(dòng)化測(cè)試進(jìn)階系列:

2:全棧性能測(cè)試,監(jiān)控以及調(diào)優(yōu)

3:全棧測(cè)試開(kāi)發(fā)平臺(tái)實(shí)戰(zhàn)

4:全棧安全測(cè)試滲透測(cè)試

5:devops持續(xù)集成部署

6:全棧接口測(cè)試工具進(jìn)階

7:跨平臺(tái)自動(dòng)化測(cè)試工具

8:大廠簡(jiǎn)歷,真題,錄音

9:全棧系列課企業(yè)項(xiàng)目實(shí)戰(zhàn)

總結(jié):現(xiàn)階段如何突出重圍呢?委員不斷的學(xué)習(xí),下面是軟件測(cè)試到測(cè)試開(kāi)發(fā)全職業(yè)生涯全套學(xué)習(xí)資料

【需要的可以點(diǎn)擊下方官方推廣小卡片掃碼備注000免費(fèi)領(lǐng)取】

http://www.risenshineclean.com/news/37059.html

相關(guān)文章:

  • 做一個(gè)營(yíng)銷(xiāo)型網(wǎng)站有哪些內(nèi)容百度app平臺(tái)
  • 如何做自媒體和網(wǎng)站簽約賺點(diǎn)擊seo關(guān)鍵詞優(yōu)化公司
  • 柳北網(wǎng)站制作移動(dòng)慧生活app下載
  • 深圳四站合一網(wǎng)站建設(shè)電話電商網(wǎng)站上信息資源的特點(diǎn)包括
  • 如何做網(wǎng)站圖片切換鄭州網(wǎng)絡(luò)營(yíng)銷(xiāo)與網(wǎng)站推廣
  • 動(dòng)態(tài)網(wǎng)頁(yè)怎么制作長(zhǎng)沙百度快速優(yōu)化
  • 網(wǎng)站建設(shè)需要什么基礎(chǔ)百度站長(zhǎng)平臺(tái)有哪些功能
  • 網(wǎng)站建設(shè)網(wǎng)站需要什么日照高端網(wǎng)站建設(shè)
  • 建筑學(xué)院app網(wǎng)站今天國(guó)內(nèi)新聞
  • 那個(gè)網(wǎng)站做外貿(mào)谷歌廣告代理公司
  • 做柱狀圖 餅狀圖的網(wǎng)站武漢網(wǎng)站競(jìng)價(jià)推廣
  • 中國(guó)采招網(wǎng)沈陽(yáng)seo推廣
  • 自己的網(wǎng)站如何做推廣網(wǎng)站建設(shè)網(wǎng)站推廣
  • 好的網(wǎng)站搭建公司哈爾濱網(wǎng)站優(yōu)化
  • wap建站系統(tǒng)垂直搜索引擎
  • 廊坊網(wǎng)站建設(shè)方案策劃哈爾濱優(yōu)化網(wǎng)站方法
  • 金華網(wǎng)站建設(shè)哪里好seo排名培訓(xùn)學(xué)校
  • 中小型網(wǎng)站建設(shè)與管理游戲合作渠道
  • 部委網(wǎng)站建設(shè)通知西安網(wǎng)站定制開(kāi)發(fā)
  • 上海做網(wǎng)站的價(jià)格百度查詢(xún)?nèi)肟?/a>
  • 淘客網(wǎng)站開(kāi)發(fā)教程二級(jí)域名網(wǎng)址查詢(xún)
  • 簡(jiǎn)述電子商務(wù)的概念seo公司推薦推廣平臺(tái)
  • 企業(yè)免費(fèi)網(wǎng)站系統(tǒng)下載地址seo項(xiàng)目經(jīng)理
  • 做網(wǎng)站主頁(yè)效果圖客源引流推廣app
  • 58同城佛山網(wǎng)站建設(shè)網(wǎng)站建設(shè)技術(shù)解決方案
  • 豐臺(tái)區(qū)社會(huì)建設(shè)工作辦公室網(wǎng)站建站平臺(tái)在線提交功能
  • 網(wǎng)站建設(shè)個(gè)體營(yíng)業(yè)執(zhí)照合肥seo推廣排名
  • 建個(gè)企業(yè)網(wǎng)站要多少錢(qián)谷歌seo技巧
  • 主題設(shè)計(jì)師站專(zhuān)業(yè)網(wǎng)站制作
  • 深圳疫情最新消息今日情況影視網(wǎng)站怎么優(yōu)化關(guān)鍵詞排名