<ruby id="rxdll"></ruby><strike id="rxdll"></strike>

    <rp id="rxdll"></rp>
      <del id="rxdll"><meter id="rxdll"></meter></del>
      <pre id="rxdll"><font id="rxdll"></font></pre>
        <pre id="rxdll"></pre>
      <p id="rxdll"><thead id="rxdll"></thead></p><dl id="rxdll"><progress id="rxdll"><form id="rxdll"></form></progress></dl>

      <ol id="rxdll"><thead id="rxdll"><track id="rxdll"></track></thead></ol>
      <i id="rxdll"><dfn id="rxdll"></dfn></i>
      <font id="rxdll"><meter id="rxdll"></meter></font>

        <mark id="rxdll"><dfn id="rxdll"></dfn></mark>
        • 軟件測試技術
        • 軟件測試博客
        • 軟件測試視頻
        • 開源軟件測試技術
        • 軟件測試論壇
        • 軟件測試沙龍
        • 軟件測試資料下載
        • 軟件測試雜志
        • 軟件測試人才招聘
          暫時沒有公告

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

        軟件測試中使用開源工具SeleniumRC進行功能測試

        發布: 2011-1-11 08:54 | 作者: 網絡轉載 | 來源: 領測軟件測試網采編 | 查看: 340次 | 進入軟件測試論壇討論

        領測軟件測試網

        軟件測試中使用開源工具SeleniumRC進行功能測試

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

          功能測試也叫黑盒子測試或數據驅動測試,只需考慮各個功能,不需要考慮整個軟件的內部結構及代碼.一般從軟件產品的界面、架構出發,按照需求編寫出來的測試用例,輸入數據在預期結果和實際結果之間進行評測,進而提出更加使產品達到用戶使用的要求。

          以上是屬于程序軟件類的測試,下面介紹應用電子技術方面的測試

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

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

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

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

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

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

          1947年,環氧樹脂開始用作制造基板。同時NBS開始研究以印刷電路技術形成線圈、電容器、電阻器等制造技術。

          1948年,美國正式認可這個發明用于商業用途。

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

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

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

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

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

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

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

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

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

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

          1984年,NTT開發了薄膜回路的“Copper Polyimide法”。[1]

          1988年,西門子公司開發了Microwiring Substrate的增層印刷電路板。[1]

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

          1995年,松下電器開發了ALIVH的增層印刷電路板。[1]

          1996年,東芝開發了B2it的增層印刷電路板。[1]

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

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

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

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

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

        什么是 Selenium?

        Selenium 是 ThoughtWorks 專門為 Web 應用程序編寫的一個驗收測試工具。據 Selenium 主頁所說,與其他測試工具相比,使用 Selenium 的最大好處是:

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

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

        • 通過編寫模仿用戶操作的 Selenium 測試腳本,可以從終端用戶的角度來測試應用程序。
        • 通過在不同瀏覽器中運行測試,更容易發現瀏覽器的不兼容性。

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

        在下面的情況下,可以選擇SeleniumRC進行功能測試。

        • 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,不用安裝,解壓即可,可以看到這樣幾個目錄,下圖示:

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

         

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

        下面,新建類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 //點擊鏈接
        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 }

         

        這樣,就建好了,可以打開NUit進行測試,也可以直接寫個main進行測試。

        延伸閱讀

        文章來源于領測軟件測試網 http://www.k11sc111.com/

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


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

        軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

        国产女主播精品_国产片婬乱18一级毛片视频_国产午夜激无码av毛片不卡_国产精品欧美久久久天天影院
          <ruby id="rxdll"></ruby><strike id="rxdll"></strike>

          <rp id="rxdll"></rp>
            <del id="rxdll"><meter id="rxdll"></meter></del>
            <pre id="rxdll"><font id="rxdll"></font></pre>
              <pre id="rxdll"></pre>
            <p id="rxdll"><thead id="rxdll"></thead></p><dl id="rxdll"><progress id="rxdll"><form id="rxdll"></form></progress></dl>

            <ol id="rxdll"><thead id="rxdll"><track id="rxdll"></track></thead></ol>
            <i id="rxdll"><dfn id="rxdll"></dfn></i>
            <font id="rxdll"><meter id="rxdll"></meter></font>

              <mark id="rxdll"><dfn id="rxdll"></dfn></mark>