• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

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

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

    上位機軟件自動化測試經驗總結[1]

    發布: 2010-1-18 10:30 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 36次 | 進入軟件測試論壇討論

    領測軟件測試網

      編碼方法有3種,一種是直錄,一種是手工編,還有一種是混編。直錄的長處是速度快而不便,缺點是它發生的新對象不會存到共享對象庫,腳真絕對負擔。手工編的長處是代碼清楚簡約,可讀性更好,缺點是絕對費事,編碼速度稍慢;炀幨侵钢匾扇∈止ぞ幋a方法,在人機交互龐雜時用直錄進步效力,實現腳本后再運用手工編碼簡化腳本。咱們采取的就是混編方法。假如運用描寫性編程,那就必須要完全運用手工編碼了。

      在主動化測試中,函數庫起到很大作用。在QC的主動化名目中,恰當的編目函數庫,將名目無關的函數放在公共的函數庫中,將名目有關的函數放在名目根目錄下。咱們此次名目編寫了少量的自定義函數,重要有兩類:一類是起到簡化主腳本代碼的作用,使測試腳本看起來更加簡約,例如InitCom,FreeCom 函數等(用于進行串口的初始化);一類是起到檢討點的作用,例如CheckDb,Check_Object_SelectedText函數等(檢討點函數)。咱們這次的主動化測試名目,很少去用工具自帶的檢討點。QTP本身蘊含一些檢討點,然而有局限性,有些須要直錄發生的圖片的支撐,有些須要對象庫的支撐,不利于手工編碼,也很不簡約。通過間接調用檢討點函數,就能很不便的檢討軟件功用的希冀后果,不依靠對象庫,也不依靠圖片。

      代碼的配置治理沒有做,這是缺點,間接后果是關于測試代碼形成的版本歷史無法追溯。這跟公司運用的CVS有關。事實上運用QC+QTP的架構后,咱們的版本掌握依靠QC所支撐的配管工具,其中微軟的VSS開源的Subversion是對比知名的2個,然而這些都不能和CVS兼容。

      2。3 無法辨認的對象

      名目中對比順手的是碰到對象無法辨認,或許辨認程度不夠好。對象無法辨認示意盤算機對該對象無所不知,也就無法正常的操作對象或許獲取該對象的運行時屬性,觸及到該對象的功用就無法驗證它的希冀值。對象無法辨認有兩種起因形成,一種是測試工具本身的插件就不支撐辨認該對象,另一種是因為將要辨認的對象放在容器里邊而這種容器本身不能辨認。舉例來說:測試工具可以辨認VB中的Label控件,然而當Label控件擱置在PictureBox中,就無法辨認了。起因:QTP的VB插件不能辨認PictureBox,因為它這個插件本身就不支撐該對象;PictureBox是個容器,將Label放在其中就有了嵌套關系,工具就不能間接定位和辨認到Label了。關于類似PictureBox這樣的對象,個別沒有方法正常的辨認,所幸的是主動化測試的檢討點個別不會對容器做檢討;關于擱置在容器中的本來可以辨認的對象,可以采取遍歷函數來對全部Form進行遍歷,找到稱號和開發稱號雷同的,而后再返回所須要的屬性值。

      對象辨認程度不夠好,個別指該對象的一切屬性值不能惟肯定義這個對象。測試工具針對這種缺點供給了一個處理計劃,就是在對象描寫中有一個描寫地位的屬性 Ordinal Identifiers。這個屬性值肯定了類似對象在窗體中涌現的次序,從而可以讓測試工具惟一辨認。然而當某個類似對象脫離界面時,窗體中的一切類似對象就會從新排序,用之前的對象描寫辨認的是一個其余的類似對象。這種缺點招致測試運行與界面的相干性進步,但目前沒有更好的處理方法。在VS系列軟件中,左側菜單欄就存在這種缺點。

      2。4 測試復用

      主動化測試名目開發歷程中,尤其要注重復用。測試復用有2種方法:第一種是通過函數復用使得測試腳本簡約,并且為將來其余上位軟件的測試供給效勞;第二種是測試案例的復用,包含Test的復用和Action的復用。一個Test可以蘊含多個Action,假如這個Test有特別性,無法復用,就讓 Action可以復用。做用每個Action的時分,要注重它的原子性。舉例:在做流程測試的時分,實踐上有很多的Action在不同的流程測試中都被蘊含,此時Action就可以被設計成可復用的。然而不能簡樸的將Action置成可復用就算完結,肯定要注重它的原子性。流程測試中每個Action都觸及到串口,假如要讓Action任務,就要在這個Action的掃尾初始化串口,在掃尾開釋串口。這樣當Action被其余流程引用的時分,它能力正常的運行并且不會形成串口的抵觸。

      2。5 對象的性命期

      在手工編制腳本的歷程中,會碰到這樣一種狀況:在腳本掃尾定義了一切在腳本中要運用的對象變量,運用這些變量操作對象。然而在測試運行時,測試工具忽然提醒找不到這個對象,測試被中斷,而軟件窗體還在那開著,對象并沒有被遮擋和消逝。為什么會涌現這種怪異的景象呢?本來在測試運行歷程中,蘊含對象的窗體被封閉過一次而被從新關上,變量指向的原有對象消逝了,新窗體的對象盡管屬性和本來截然不同,然而變量所代表的對象卻并不是以后窗體的對象。在這種狀況下,只要從新定義對象變量,能力夠操作以后窗體對象。咱們可以說,對象的性命期在對象被封閉后完結。

    延伸閱讀

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

    22/2<12

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

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

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>