日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《Selenium自动化测试指南》—第1章1.1节自动化测试基础

發(fā)布時間:2025/3/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Selenium自动化测试指南》—第1章1.1节自动化测试基础 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本節(jié)書摘來自異步社區(qū)《Selenium自動化測試指南》一書中的第1章1.1節(jié)自動化測試基礎(chǔ),作者趙卓,更多章節(jié)內(nèi)容可以訪問云棲社區(qū)“異步社區(qū)”公眾號查看。

1.1 自動化測試基礎(chǔ)
Selenium自動化測試指南
1.1.1 軟件測試概述
即使是經(jīng)驗(yàn)非常豐富的程序員,在編寫代碼時也很容易出現(xiàn)錯誤,這些錯誤也許是由于需求不明確,也許是由于設(shè)計(jì)問題,也許是編碼中出現(xiàn)了失誤等。但無論是怎樣的錯誤,若不及時處理,都會降低軟件的可靠性,嚴(yán)重時甚至?xí)?dǎo)致整個軟件的失敗。
為了排除這些錯誤,人們引入了軟件測試的概念。通俗地說,軟件測試就是為了發(fā)現(xiàn)程序中的錯誤而分析或執(zhí)行程序的過程。

據(jù)研究機(jī)構(gòu)統(tǒng)計(jì)分析表明,國外軟件開發(fā)機(jī)構(gòu)40%的工作量都花在軟件測試上,軟件測試費(fèi)用占軟件開發(fā)總費(fèi)用的30%~50%。對于一些要求高可靠、高安全的軟件,測試費(fèi)用所占的比例更高。由此可見,要成功開發(fā)出高質(zhì)量的軟件產(chǎn)品,軟件測試必不可少。

軟件測試的主要工作是驗(yàn)證(Verification)和確認(rèn)(Validation)。

驗(yàn)證是保證軟件正確地實(shí)現(xiàn)了一些特定功能的一系列活動,即保證軟件以正確的方式做了該做的事。具體地講,驗(yàn)證主要完成以下任務(wù)。

(1)確定軟件生存周期中一個給定階段的產(chǎn)品是否達(dá)到當(dāng)前階段確立的需求。

(2)程序正確性的形式證明,即采用形式理論證明程序符合設(shè)計(jì)規(guī)約的規(guī)定。

(3)評審、審查、測試、檢查、審計(jì)等,或?qū)δ承╉?xiàng)處理、服務(wù)或文件等是否和規(guī)定的需求相一致進(jìn)行判斷并進(jìn)行報(bào)告。

確認(rèn)(Validation)的目的是想證實(shí)在一個給定的外部環(huán)境中軟件的邏輯正確性,即保證軟件做了所期望的事情。

(1)靜態(tài)確認(rèn),不在計(jì)算機(jī)上實(shí)際執(zhí)行程序,通過人工或程序分析來證明軟件的正確性。

(2)動態(tài)確認(rèn),通過執(zhí)行程序進(jìn)行分析,測試程序的動態(tài)行為,以證實(shí)軟件是否存在問題。

測試和改正活動可以在軟件生命周期的任何階段進(jìn)行。然而,隨著開發(fā)的不斷進(jìn)行,找出并修正錯誤的代價(jià)也會急劇增加。在需求階段就對其進(jìn)行修改,付出的代價(jià)會很少。如果代碼已經(jīng)編寫完畢,再進(jìn)行更改,則將付出代價(jià)會大許多。
軟件測試的分類

從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)的角度來看,軟件測試可以劃分為以下幾類。

白盒測試:需要了解內(nèi)部結(jié)構(gòu)和代碼。
黑盒測試:不關(guān)心內(nèi)部結(jié)構(gòu)和代碼。
灰盒測試:介于白盒測試和黑盒測試之間。
從是否執(zhí)行程序的角度來看,軟件測試可以劃分為以下幾類。

靜態(tài)測試:測試時不執(zhí)行被測試軟件。
動態(tài)測試:測試時執(zhí)行被測試軟件。
按軟件開發(fā)過程的階段劃分,軟件測試可以劃分為以下幾類。

單元測試:測試軟件的單元模塊(單元模塊指某個功能、某個類等)。
集成測試:將各個“單元”集成到一起測試是否能正確運(yùn)行。
系統(tǒng)測試:測試軟件是否符合系統(tǒng)中的各項(xiàng)需求。
驗(yàn)收測試:類似系統(tǒng)測試,但由用戶執(zhí)行。
按測試的具體目標(biāo)進(jìn)行劃分,軟件測試可以劃分為以下幾類。

功能測試:測試軟件是否符合功能性需求,通常采用黑盒測試方法。
性能測試:測試軟件在各種狀態(tài)下的性能,找出性能瓶頸。
安全測試:測試該軟件防止非法入侵的能力。
回歸測試:在軟件被修正或運(yùn)行環(huán)境發(fā)生變化后進(jìn)行重新測試。
兼容性測試:測試該軟件與其他軟件、硬件的兼容能力。
安裝測試:測試軟件的安裝、卸載、升級是否正常。
各種軟件測試書籍對前面3種劃分方式介紹得很多,但在實(shí)際工作中,更習(xí)慣將測試按具體目標(biāo)進(jìn)行劃分。

1.1.2 自動化測試簡介
軟件測試一般是由測試人員執(zhí)行的,如果由機(jī)器來代替人執(zhí)行軟件測試,那么這種測試就叫自動化測試。例如,由計(jì)算機(jī)代替人來單擊被測試軟件的界面,執(zhí)行一系列操作并進(jìn)行驗(yàn)證。
在各種測試中,都可以引入自動化測試。

通過執(zhí)行自動化測試,可以節(jié)省大量的人力、時間或硬件等資源,同時也能大大提高測試效率。
當(dāng)然,這聽起來很好,但如果要由機(jī)器代替人來執(zhí)行軟件測試,就得開發(fā)相應(yīng)的自動化測試代碼。開發(fā)自動化測試代碼也是需要人力、時間或硬件等資源的。因此,在資源有限的情況下,必須對軟件開發(fā)過程進(jìn)行分析,觀察哪些地方適合使用自動化測試。使用自動化測試通常需要同時滿足以下條件。
(1)軟件需求變動不頻繁。

測試腳本的穩(wěn)定性決定了自動化測試的維護(hù)成本。如果軟件需求變動過于頻繁,測試人員需要根據(jù)變動的需求來更新測試用例以及相關(guān)的測試腳本,而腳本的維護(hù)本身就是一個代碼開發(fā)的過程,需要修改和調(diào)試,必要的時候還要修改自動化測試的框架,如果所花費(fèi)的成本不低于利用其節(jié)省的測試成本,那么自動化測試便是失敗的。
項(xiàng)目中的某些模塊相對穩(wěn)定,而某些模塊需求變動性很大。可以對相對穩(wěn)定的模塊進(jìn)行自動化測試,而變動較大的仍采用手工測試。

(2)項(xiàng)目周期足夠長。

自動化測試的過程包括自動化測試需求的確定、自動化測試框架的設(shè)計(jì)、測試腳本的編寫和調(diào)試等,這個過程本身就是一個測試軟件的開發(fā)過程,需要較長的時間來完成。如果項(xiàng)目的周期比較短,沒有足夠的時間去支持這樣一個過程,那么自動化測試便也無從談起。
(3)自動化測試腳本可重復(fù)使用。

如果費(fèi)盡心思開發(fā)了一套近乎完美的自動化測試腳本,但是腳本的重復(fù)使用率很低,致使其間所耗費(fèi)的成本大于所創(chuàng)造的經(jīng)濟(jì)價(jià)值,自動化測試便成為了測試人員的練手之作,而并非是真正可產(chǎn)生效益的測試手段了。

另外,在手工測試無法完成,需要投入大量時間與人力時也需要考慮引入自動化測試,例如性能測試、配置測試、大數(shù)據(jù)量輸入測試等。

至于自動化測試的開發(fā)過程,與軟件開發(fā)過程從本質(zhì)上來講是一樣的,這將在第6章中介紹。

1.1.3 Selenium簡介
Selenium是一系列基于Web的自動化測試工具。它提供了一系列測試函數(shù),用于支持Web自動化測試。這些函數(shù)非常靈活,它們能夠通過多種方式定位界面元素,并可以將預(yù)期結(jié)果與系統(tǒng)實(shí)際表現(xiàn)進(jìn)行比較。

作為一款強(qiáng)大的測試工具,Selenium具有以下幾個特性。

(1)可對多瀏覽器進(jìn)行測試,如IE、Firefox、Safari、Chrome、Android手機(jī)瀏覽器等。

(2)支持多種語言,例如Java、C#、Python、Ruby、PHP等。

(3)跨平臺,例如Windows、Lunix、iOS、Android等。

(4)開源免費(fèi)。

下面舉個例子來說明Selenium的使用,假設(shè)將要開始對京東商城的用戶登錄進(jìn)行手動測試,測試步驟如下。

(1)進(jìn)入京東用戶登錄頁面https://passport.360buy.com/new/login.aspx,如圖1-1所示。




(2)輸入用戶名和密碼,單擊“登錄”按鈕。輸入過程中分別按不輸入用戶名,輸入錯誤的用戶名,不輸入密碼,輸入錯誤的密碼,輸入正確的用戶名和密碼的順序進(jìn)行測試。

(3)檢查登錄后的狀態(tài)是否符合預(yù)期結(jié)果。

這看上去是一個很簡單的操作,但下面進(jìn)行一個極端的假設(shè):假設(shè)在測試時,需要在6個瀏覽器上都測試通過(如IE、Firefox、Safari、Chrome、Android、iPhone),每天都有8個項(xiàng)目上線,而登錄功能屬于冒煙測試檢查點(diǎn),那么登錄功能也同樣得檢查8次。那么算上各個瀏覽器的測試,每天就得將登錄執(zhí)行6×8=48遍,而且每遍都要包含以下幾種檢查:不輸入用戶名,輸入錯誤的用戶名,不輸入密碼,輸入錯誤的密碼,最后輸入正確的用戶名和密碼。一個看似簡單的操作一天要執(zhí)行這么多次(還沒有算上其他的功能),會讓測試人員感覺很煩。

如果使用Selenium,一切就好辦了,只需編寫少量代碼,就可以實(shí)現(xiàn)以下功能。

(1)計(jì)算機(jī)自動打開瀏覽器并進(jìn)入京東用戶登錄頁面https://passport.360buy.com/new/login.aspx。

(2)計(jì)算機(jī)自動輸入用戶名和密碼,并單擊“登錄”按鈕。分別按不輸入用戶名,輸入錯誤的用戶名,不輸入密碼,輸入錯誤的密碼,輸入正確的用戶名和密碼的順序進(jìn)行測試。

(3)計(jì)算機(jī)自動檢查登錄后的提示文字是否為預(yù)期結(jié)果,然后自動輸出測試報(bào)告。

(4)計(jì)算機(jī)自動切換到另一個瀏覽器,重復(fù)執(zhí)行(1)~(3)步,直到每個瀏覽器都執(zhí)行完畢。

以后執(zhí)行的時候只需要執(zhí)行Selenium代碼即可,無需測試人員費(fèi)神,看上去是不是要輕松多了?

1.Selenium工具組
Selenium由以下幾個工具組成,每一種工具都扮演著獨(dú)特的角色。

Selenium IDE。Selenium IDE是一個用于構(gòu)建腳本的初級工具。它是一個Firefox插件,擁有一個易于使用的界面。Selenium IDE擁有錄制功能,能夠記錄用戶執(zhí)行的操作,并將其導(dǎo)出為可重復(fù)使用的腳本(支持多種編程語言),然后用于執(zhí)行測試。
Selenium 1。Selenium 1(Selenium-RC)是Selenium 最主要的測試工具之一,它所具有的某些功能即使是新版的Selenium 2也無法支持。它能夠通過多種語言(Java、JavaScript、Ruby、PHP、Python、Perl和 C#)編寫測試代碼,同時能支持幾乎所有瀏覽器的測試。
Selenium 2。Selenium 2(WebDriver)作為最新版的Selenium工具,代表未來Selenium的發(fā)展方向。這套全新的自動化測試工具提供了許多功能,包括一套組織性更好、面向?qū)ο蟮腁PI,并克服了在之前Selenium 1版本中測試的局限性。
可以通過很少的修改就將Selenium 1的代碼移植到Selenium 2。同時,Selenium 2也提供了向前兼容Selenium 1的接口。

Selenium Grid。Selenium Grid能夠讓Selenium 1的測試在多個不同的環(huán)境中運(yùn)行,也能讓測試并行執(zhí)行。也就是說,各個測試能夠在同一時間、不同機(jī)器上運(yùn)行。這有兩個好處。首先,如果擁有一套大規(guī)模的測試或執(zhí)行緩慢的測試,可以通過Selenium Grid將測試在同一時間、不同機(jī)器上運(yùn)行,從而大幅提高性能;其次,如果測試必須在多個環(huán)境中運(yùn)行,那么Selenium Grid具有的“同一時間、不同機(jī)器”的特性也能夠輕松做到這一點(diǎn)。不管怎么樣,Selenium Grid都能夠大幅提高測試的效率。
2.選擇合適的Selenium工具
大多數(shù)用戶都是從Selenium IDE開始的。如果沒有編程經(jīng)驗(yàn),可以通過Selenium IDE來快速熟悉Selenium的命令。使用IDE,可以快速創(chuàng)建簡單的測試,有時甚至只需花幾分鐘的時間。

然而,并不建議所有的自動化測試都使用Selenium IDE。為了有效地使用Selnium,需要使用Selenium 1或Selenium 2,并配合使用其中一種編程語言,自己創(chuàng)建并運(yùn)行測試。

雖然,Selenium 2是Selenium未來的發(fā)展方向,但Selenium 1和Selenium 2各有優(yōu)劣,這需要用戶進(jìn)行判斷。另外,Selenium 1和Selenium 2可以互相轉(zhuǎn)換。

Selenium Grid一般用于分布式測試和集群測試,需要在多臺機(jī)器同時執(zhí)行測試時,可以選擇使用該工具。

本文僅用于學(xué)習(xí)和交流目的,不代表異步社區(qū)觀點(diǎn)。非商業(yè)轉(zhuǎn)載請注明作譯者、出處,并保留本文的原始鏈接。

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的《Selenium自动化测试指南》—第1章1.1节自动化测试基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费看女生裸体视频 | a级黄色在线观看 | 男生吃小头头的视频 | 9.1成人看片免费版 日韩经典在线 | 国模私拍在线观看 | www.五月天婷婷 | 久久靠逼视频 | 黄网站在线播放 | 午夜窝窝 | 精品欧美日韩 | 91网在线播放 | 国产麻豆一精品一av一免费 | 欧美成人精品 | 精东影业一区二区三区 | 羞羞答答一区 | 天堂av网手机版 | 日本不卡不卡 | 亚洲爽爆| 私人午夜影院 | 梦梦电影免费高清在线观看 | 精品国产午夜福利在线观看 | 国产乱强伦一区二区三区 | 成人无码一区二区三区 | 国产精品久久久毛片 | 国产超碰在线 | 国产中文字幕在线免费观看 | 精品乱码久久久久久中文字幕 | 黄污视频在线播放 | 永久免费av在线 | 国产精品高潮视频 | 天天综合网久久综合网 | 91 在线视频| 日本免费a视频 | 亚洲天堂中文字幕在线观看 | 三上悠亚中文字幕在线播放 | av中文在线播放 | 超碰人人干| 免费成年人视频在线观看 | 精品在线一区二区三区 | 欧美精彩视频 | 91深夜视频 | 国产乱码精品一区二区三区五月婷 | 人人免费操 | 波多野结衣亚洲一区 | 嫩草导航 | 少妇激情偷人三级 | 夜夜骑夜夜操 | 欧美专区日韩专区 | 国产人成一区二区三区影院 | 亚洲乱强伦 | 99热国内精品 | h网站在线播放 | 日韩一级免费视频 | 91一区二区三区四区 | 高清免费av| 在线国产视频 | 色七七桃花影院 | 尤物综合网| 2021久久| av在线网址大全 | 一级做a爱 | 91成人短视频在线观看 | 韩国毛片视频 | 亚洲国产中文字幕在线观看 | 高清一区二区三区四区五区 | 日本视频网址 | 看中国毛片 | 无套内谢少妇毛片 | 爱啪啪导航| 免费观看一区二区三区毛片 | 亚洲欧美视频在线播放 | 黄色高清在线观看 | 精品国产乱码久久久久久久软件 | 97人人看| jizz日本少妇| 草色噜噜噜av在线观看香蕉 | 青青草综合视频 | 无码人妻久久一区二区三区不卡 | 中国一级大黄大黄大色毛片 | 欧美日韩一区二区视频观看 | 国产一区二区在线免费观看视频 | 亚洲精品ww | 在线免费视频观看 | 日本国产一区 | 亚洲精品国产精品乱码 | 公交上高潮的丁芷晴 | 青青操免费在线视频 | a级片一级片 | 欧美草比视频 | 国产精品永久久久久久久久久 | 中文天堂在线视频 | 午夜不卡在线观看 | 日韩精品视频一区二区 | 美女少妇一区二区 | 91九色在线观看 | 五月色婷婷综合 | 亚洲熟女综合色一区二区三区 | 国产日韩欧美视频在线 | 国产免费av网 |