<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            軟件測試中使用開(kāi)源工具SeleniumRC進(jìn)行功能測試

            發(fā)布: 2011-1-11 08:54 | 作者: 網(wǎng)絡(luò )轉載 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 340次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

            軟件測試中使用開(kāi)源工具SeleniumRC進(jìn)行功能測試

            Functional testing (功能測試),也稱(chēng)為behavioral testing(行為測試),根據產(chǎn)品特征、操作描述和用戶(hù)方案,測試一個(gè)產(chǎn)品的特性和可操作行為以確定它們滿(mǎn)足設計需求。本地化軟件的功能測試,用于驗證應用程序或網(wǎng)站對目標用戶(hù)能正確工作。使用適當的平臺、瀏覽器測試腳本,以保證目標用戶(hù)的體驗將足夠好,就像應用程序是專(zhuān)門(mén)為該市場(chǎng)開(kāi)發(fā)的一樣。

              功能測試也叫黑盒子測試或數據驅動(dòng)測試,只需考慮各個(gè)功能,不需要考慮整個(gè)軟件的內部結構及代碼.一般從軟件產(chǎn)品的界面、架構出發(fā),按照需求編寫(xiě)出來(lái)的測試用例,輸入數據在預期結果和實(shí)際結果之間進(jìn)行評測,進(jìn)而提出更加使產(chǎn)品達到用戶(hù)使用的要求。

              以上是屬于程序軟件類(lèi)的測試,下面介紹應用電子技術(shù)方面的測試

              印刷電路板,又稱(chēng)印制電路板,印刷線(xiàn)路板,常使用英文縮寫(xiě)PCB(Printed circuit board),是重要的電子部件,是電子元件的支撐體,是電子元器件線(xiàn)路連接的提供者。由于它是采用電子印刷技術(shù)制作的,故被稱(chēng)為“印刷”電路板。

              在印制電路板出現之前,電子元件之間的互連都是依靠電線(xiàn)直接連接而組成完整的線(xiàn)路,F在,電路面包板只是作為有效的實(shí)驗工具而存在,而印刷電路板在電子工業(yè)中已經(jīng)成了占據了絕對統治的地位。

              20世紀初,人們?yōu)榱撕?jiǎn)化電子機器的制作,減少電子零件間的配線(xiàn),降低制作成本等優(yōu)點(diǎn),于是開(kāi)始鉆研以印刷的方式取代配線(xiàn)的方法。三十年間,不斷有工程師提出在絕緣的基板上加以金屬導體作配線(xiàn)。而最成功的是1925年,美國的Charles Ducas 在絕緣的基板上印刷出線(xiàn)路圖案,再以電鍍的方式,成功建立導體作配線(xiàn)。[1]

              直至1936年,奧地利人保羅·愛(ài)斯勒(Paul Eisler)在英國發(fā)表了箔膜技術(shù)[1],他在一個(gè)收音機裝置內采用了印刷電路板;而在日本,宮本喜之助以噴附配線(xiàn)法“メタリコン法吹著(zhù)配線(xiàn)方法(特許119384號)”成功申請專(zhuān)利。[2]而兩者中Paul Eisler 的方法與現今的印刷電路板最為相似,這類(lèi)做法稱(chēng)為減去法,是把不需要的金屬除去;而Charles Ducas、宮本喜之助的做法是只加上所需的配線(xiàn),稱(chēng)為加成法。雖然如此,但因為當時(shí)的電子零件發(fā)熱量大,兩者的基板也難以配合使用[1],以致未有正式的實(shí)用作,不過(guò)也使印刷電路技術(shù)更進(jìn)一步。

              1941年,美國在滑石上漆上銅膏作配線(xiàn),以制作近接信管。

              1943年,美國人將該技術(shù)大量使用于軍用收音機內。

              1947年,環(huán)氧樹(shù)脂開(kāi)始用作制造基板。同時(shí)NBS開(kāi)始研究以印刷電路技術(shù)形成線(xiàn)圈、電容器、電阻器等制造技術(shù)。

              1948年,美國正式認可這個(gè)發(fā)明用于商業(yè)用途。

              自20世紀50年代起,發(fā)熱量較低的晶體管大量取代了真空管的地位,印刷電路版技術(shù)才開(kāi)始被廣泛采用。而當時(shí)以蝕刻箔膜技術(shù)為主流[1]。

              1950年,日本使用玻璃基板上以銀漆作配線(xiàn);和以酚醛樹(shù)脂制的紙質(zhì)酚醛基板(CCL)上以銅箔作配線(xiàn)。[1]

              1951年,聚酰亞胺的出現,便樹(shù)脂的耐熱性再進(jìn)一步,也制造了聚亞酰胺基板。[1]

              1953年,Motorola開(kāi)發(fā)出電鍍貫穿孔法的雙面板。這方法也應用到后期的多層電路板上。[1]

              印刷電路板廣泛被使用10年后的60年代,其技術(shù)也日益成熟。而自從Motorola的雙面板面世,多層印刷電路板開(kāi)始出現,使配線(xiàn)與基板面積之比更為提高。

              1960年,V. Dahlgreen以印有電路的金屬箔膜貼在熱可塑性的塑膠中,造出軟性印刷電路板。[1]

              1961年,美國的Hazeltine Corporation參考了電鍍貫穿孔法,制作出多層板。[1]

              1967年,發(fā)表了增層法之一的“Plated-up technology”。[1][3]

              1969年,FD-R以聚酰亞胺制造了軟性印刷電路板。[1]

              1979年,Pactel發(fā)表了增層法之一的“Pactel法”。[1]

              1984年,NTT開(kāi)發(fā)了薄膜回路的“Copper Polyimide法”。[1]

              1988年,西門(mén)子公司開(kāi)發(fā)了Microwiring Substrate的增層印刷電路板。[1]

              1990年,IBM開(kāi)發(fā)了“表面增層線(xiàn)路”(Surface Laminar Circuit,SLC)的增層印刷電路板。[1]

              1995年,松下電器開(kāi)發(fā)了ALIVH的增層印刷電路板。[1]

              1996年,東芝開(kāi)發(fā)了B2it的增層印刷電路板。[1]

              就在眾多的增層印刷電路板方案被提出的1990年代末期,增層印刷電路板也正式大量地被實(shí)用化,直至現在。

              為大型、高密度的印刷電路板裝配(PCBA, printed circuit board assembly)發(fā)展一個(gè)穩健的測試策略是重要的,以保證與設計的符合與功能。除了這些復雜裝配的建立與測試之外,單單投入在電子零件中的金錢(qián)可能是很高的 - 當一個(gè)單元到最后測試時(shí)可能達到25,000美元。由于這樣的高成本,查找與修理裝配的問(wèn)題現在比其過(guò)去甚至是更為重要的步驟。今天更復雜的裝配大約18平方英寸,18層;在頂面和底面有2900多個(gè)元件;含有6000個(gè)電路節點(diǎn);有超過(guò)20000個(gè)焊接點(diǎn)需要測試。

              在朗訊加速的制造工廠(chǎng)(N. Andover, MA),制造和測試藝術(shù)級的PCBA和完整的傳送系統。超過(guò)5000節點(diǎn)數的裝配對我們是一個(gè)關(guān)注,因為它們已經(jīng)接近我們現有的在線(xiàn)測試(ICT, in circuit test)設備的資源極限(圖一)。我們現在制造大約800種不同的PCBA或“節點(diǎn)”。在這800種節點(diǎn)中,大約20種在5000~6000個(gè)節點(diǎn)范圍?墒,這個(gè)數迅速增長(cháng)。

              新的開(kāi)發(fā)項目要求更加復雜、更大的PCBA和更緊密的包裝。這些要求挑戰我們建造和測試這些單元的能力。更進(jìn)一步,具有更小元件和更高節點(diǎn)數的更大電路板可能將會(huì )繼續。例如,現在正在畫(huà)電路板圖的一個(gè)設計,有大約116000個(gè)節點(diǎn)、超過(guò)5100個(gè)元件和超過(guò)37800個(gè)要求測試或確認的焊接點(diǎn)。這個(gè)單元還有BGA在頂面與底面,BGA是緊接著(zhù)的。使用傳統的針床測試這個(gè)尺寸和復雜性的板,ICT一種方法是不可能的。

              在制造工藝,特別是在測試中,不斷增加的PCBA復雜性和密度不是一個(gè)新的問(wèn)題。意識到的增加ICT測試夾具內的測試針數量不是要走的方向,我們開(kāi)始觀(guān)察可代替的電路確認方法?吹矫堪偃f(wàn)探針不接觸的數量,我們發(fā)現在5000個(gè)節點(diǎn)時(shí),許多發(fā)現的錯誤(少于31)可能是由于探針接觸問(wèn)題而不是實(shí)際制造的缺陷(表一)。因此,我們著(zhù)手將測試針的數量減少,而不是上升。盡管如此,我們制造工藝的品質(zhì)還是評估到整個(gè)PCBA。我們決定使用傳統的ICT與X射線(xiàn)分層法相結合是一個(gè)可行的解決方案。

            什么是 Selenium?

            Selenium 是 ThoughtWorks 專(zhuān)門(mén)為 Web 應用程序編寫(xiě)的一個(gè)驗收測試工具。據 Selenium 主頁(yè)所說(shuō),與其他測試工具相比,使用 Selenium 的最大好處是:

            Selenium 測試直接在瀏覽器中運行,就像真實(shí)用戶(hù)所做的一樣。Selenium 測試可以在 Windows、Linux 和 MacintoshAnd 上的 Internet Explorer、Mozilla 和 Firefox 中運行。其他測試工具都不能覆蓋如此多的平臺。

            使用 Selenium 和在瀏覽器中運行測試還有很多其他好處。下面是主要的兩大好處:

            • 通過(guò)編寫(xiě)模仿用戶(hù)操作的 Selenium 測試腳本,可以從終端用戶(hù)的角度來(lái)測試應用程序。
            • 通過(guò)在不同瀏覽器中運行測試,更容易發(fā)現瀏覽器的不兼容性。

            Selenium 的核心,也稱(chēng) browser bot,是用 JavaScript 編寫(xiě)的。這使得測試腳本可以在受支持的瀏覽器中運行。browser bot 負責執行從測試腳本接收到的命令,測試腳本要么是用 HTML 的表布局編寫(xiě)的,要么是使用一種受支持的編程語(yǔ)言編寫(xiě)的。

            在下面的情況下,可以選擇SeleniumRC進(jìn)行功能測試。

            • condition statements
            • iteration
            • logging and reporting of test results
            • error handling, particularly unexpected errors
            • database testing
            • test case grouping
            • re-execution of failed tests
            • test case dependency
            • screenshot capture of test failures

            首先要下載SeleniumRC,不用安裝,解壓即可,可以看到這樣幾個(gè)目錄,下圖示:

            selenium-server-1.0.1目錄,是服務(wù)器端,他可以接受測試程序指令,并將測試結果返回測試程序。
            在測試前必須先啟動(dòng)他,啟動(dòng)過(guò)程:開(kāi)始-運行-cmd-cd <服務(wù)器端目錄>-java -jar selenium-server.jar
            (服務(wù)器端其實(shí)就是個(gè)Jar文件)

             

            然后就可以進(jìn)行客戶(hù)端,本文用C#來(lái)進(jìn)行測試,首先建立一個(gè)C#類(lèi)庫工程,添加引用selenium-dotnet-client-driver-1.0.1目錄下的所有DLL,具體如下圖示。

            下面,新建類(lèi)SeleniumTest,具體代碼如下:

             

            代碼
            1 [TestFixture]
            2 public class SeleniumTest
            3 {
            4 private ISelenium selenium;
            5 private StringBuilder verificationErrors;
            6
            7 [SetUp]
            8 public void SetupTest()
            9 {
            10 selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://localhost:2896/WebTestSite/");
            11 selenium.Start();
            12
            13 verificationErrors = new StringBuilder();
            14 }
            15
            16 [TearDown]
            17 public void TeardownTest()
            18 {
            19 try
            20 {
            21 selenium.Stop();
            22 }
            23 catch (Exception)
            24 {
            25 // Ignore errors if unable to close the browser
            26   }
            27 Assert.AreEqual("", verificationErrors.ToString());
            28 }
            29
            30 [Test]
            31 public void TheSeleniumTest()
            32 {
            33 selenium.Open("/WebTestSite/");
            34 selenium.Type("TextBox1", "qeq");
            35 selenium.Type("TextBox2", "qwe");
            36 selenium.Click("Button1");
            37
            38 //判斷是否出現alert("fail")
            39   Assert.AreEqual("fail", selenium.GetAlert());
            40
            41 selenium.Type("TextBox1", "123");
            42 selenium.Type("TextBox2", "123");
            43 selenium.Click("Button1");
            44 Assert.AreEqual("fail", selenium.GetAlert());
            45
            46 //點(diǎn)擊鏈接
            47   selenium.Click("link=2");
            48 //等待
            49   selenium.WaitForPageToLoad("30000");
            50 selenium.Click("link=3");
            51 selenium.WaitForPageToLoad("30000");
            52
            53 }
            54 [Test]
            55 public void TestTitle()
            56 {
            57 selenium.Open("/WebTestSite/**.aspx");
            58 Assert.AreEqual("yourtitle", selenium.GetTitle());
            59
            60 }
            61 }

             

            這樣,就建好了,可以打開(kāi)NUit進(jìn)行測試,也可以直接寫(xiě)個(gè)main進(jìn)行測試。

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: 瀏覽器 軟件測試 應用程序 用戶(hù) 黑盒子


            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>