<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)發(fā)中開(kāi)展自動(dòng)化測試的經(jīng)驗

            發(fā)布: 2011-1-21 09:14 | 作者: 不詳 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng) | 查看: 124次 | 進(jìn)入軟件測試論壇討論

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

              Tags: 敏捷測試, 自動(dòng)化測試, 軟件測試

              DSL與自動(dòng)化測試 – 用Python實(shí)現簡(jiǎn)單的DSL

              二.03, 2010 in python, 自動(dòng)化測試 2 Comments

              自動(dòng)化測試,一個(gè)在測試領(lǐng)域中被廣為熟知,也是被談?wù)撟疃嗟母拍钪。DSL (Domain Specific Language),一種高度抽象,用于某個(gè)特定領(lǐng)域下編程語(yǔ)言。軟件測試在大多數情況下都是對某個(gè)特定行業(yè)的軟件系統進(jìn)行測試,所以這兩者應該可以很好的結合起來(lái),事實(shí)上也是這樣的,QTP里面的keyword view,其實(shí)就是DSL的一個(gè)實(shí)現。DSL一般可以分為兩個(gè)大的類(lèi)型,分別是External DSL 和 Internal DSL (引用自Martin Fowler)。External DSL 一般來(lái)說(shuō)是跟其實(shí)現語(yǔ)言不一樣的 DSL,常見(jiàn)的External DSL 有:SQL和XML配置文件;而Internal DSL 一般來(lái)說(shuō)就是該DSL使用某個(gè)現成的編程語(yǔ)言(就是所謂的host language),然后對host language進(jìn)行一些改造而成。 我們在測試中會(huì )遇到很多問(wèn)題,其中一些問(wèn)題,幾乎是所有公司所有團隊都會(huì )遇到的,例如測試覆蓋率不夠,測試的時(shí)間不夠等等。面對這些問(wèn)題,自動(dòng)化測試自然而然地成為解決這些問(wèn)題的首選方法。但是自動(dòng)化測試真的就是銀彈麼?不見(jiàn)得!以前曾經(jīng)在A(yíng)SP.NET QA 的博客中給他們留言,請教過(guò)關(guān)于自動(dòng)化測試的事情,我記得其中有一個(gè)回復是說(shuō),在某個(gè)release中過(guò)度地使用自動(dòng)化測試,一切東西都想實(shí)現自動(dòng)化測試,而忽略了產(chǎn)品本身的功能、特性的關(guān)注,結果就是超高的自動(dòng)化測試覆蓋率,但是很差的產(chǎn)品質(zhì)量。大家都去實(shí)現自動(dòng)化測試了,誰(shuí)來(lái)做功能點(diǎn)的覆蓋呢?某些領(lǐng)域的專(zhuān)家(SME),他們可能對測試技術(shù)是一無(wú)所知的,要把這些領(lǐng)域專(zhuān)家和測試實(shí)施結合起來(lái),DSL就是一個(gè)比較好的橋梁。 我在工作中遇到的問(wèn)題是,我需要測試一個(gè)類(lèi)似UV(獨立用戶(hù)訪(fǎng)問(wèn)數)統計的系統,統計UV的方法其實(shí)就是根據_uid cookie的值來(lái)判斷這個(gè)用戶(hù)在某段時(shí)間內訪(fǎng)問(wèn)過(guò)我們的系統多少次,訪(fǎng)問(wèn)了哪些站點(diǎn),進(jìn)行了什么樣的行為。其中有2個(gè)地方比較麻煩,第一就是在測試過(guò)程中要不斷地拷貝cookie,這樣拷來(lái)拷去兩三次以后很容易就混亂,出錯;第二就是需要記錄訪(fǎng)問(wèn)哪些站點(diǎn),這些站點(diǎn)都只是ID,也是需要不斷地修改請求,測試時(shí)間長(cháng)了也是很容易出錯。所以我就打算在原來(lái)的測試工具基礎上,實(shí)現一個(gè)簡(jiǎn)單的Internal DSL。先看成品: @tc def uniq_inventory_case01(): test= testTool() test.user(’a').view(’asset55100002′).anetwork(’55100′).onsite(’site55100503′).snetwork(’55100′).dnetwork(’55100′).times(1).go() test.user(’b').view(’asset55100002′).anetwork(’55100′).onsite(’site55100503′).snetwork(’55100′).dnetwork(’55100′).times(2).go() test.user(’b').view(’asset55100002′).anetwork(’55100′).onsite(’site55100504_noad’).snetwork(’55100′).dnetwork(’55100′).times(4).go() 實(shí)例化一個(gè)testTool對象,然后就是指定哪個(gè)用戶(hù):user(‘a(chǎn)’)或者user(‘b’),看的視頻的ID:view(‘a(chǎn)sset55100002′),這個(gè)視頻屬于哪個(gè)CRO呢?anetwork(’55100′);放在哪個(gè)網(wǎng)站呢?onsite(‘site55100503′);網(wǎng)站是誰(shuí)的呢?snetwork(’55100′);誰(shuí)是分發(fā)者呢?dnetwork(’55100′);看了多少次呢?times(4);最后一個(gè)有點(diǎn)兒丑陋的go()。 像這樣子一句話(huà)里面N個(gè)方法連著(zhù)用,就叫Method Chaining,Method Chaining通?梢宰尨a變得更加人性化,讀起來(lái)更加容易。但是使用Method Chaining通常會(huì )遇到一個(gè)問(wèn)題,就是很難判斷就是到了哪個(gè)方法才是終結呢?是不是有些方法的調用是可選的,有些是必選的呢?其中一個(gè)解決方法就是我用到的,放一個(gè).go()方法在最后,作為終結方法。要實(shí)現Method Chaining,其實(shí)只需要頂一個(gè)類(lèi),對于需要做連接的方法,最后都返回這個(gè)類(lèi)的實(shí)例。例如: def view(self, assetid): if assetid: self.asset_id = assetid return self def anetwork(self, networkid): if [...]

              Tags: DSL, python, 自動(dòng)化測試

              自動(dòng)化測試中的sleep

              三.16, 2009 in 自動(dòng)化測試 2 Comments

              最近在修改公司現有的一個(gè)自動(dòng)化測試框架,里面用了很多time.sleep()方法,看著(zhù)不是很爽,為什么我覺(jué)得sleep方法在自動(dòng)化測試中不應該過(guò)多的使用呢,我甚至覺(jué)得應該盡可能避免sleep方法的使用,sleep可以作為增加自動(dòng)化測試穩定性的手段,但是不能依賴(lài)sleep來(lái)讓自動(dòng)化系統穩定。 舉個(gè)例子,如果一個(gè)UI的自動(dòng)化測試,需要等待某個(gè)頁(yè)面load完成以后才進(jìn)行操作,那么需要對那個(gè)頁(yè)面是否已經(jīng)Load完成進(jìn)行判斷,而不應該sleep(x),x是一個(gè)magic number,有時(shí)候1、2秒就足以,有時(shí)候它卻不知道有多大,因為已經(jīng)超時(shí)了!那如果我們在check頁(yè)面狀態(tài)之前做一個(gè)短時(shí)間的sleep,那么在某些場(chǎng)合下可以增加這個(gè)自動(dòng)化測試的穩定性,但是最終整個(gè)自動(dòng)化測試的腳本是不會(huì )依賴(lài)于這個(gè)sleep的語(yǔ)句來(lái)達到穩定的。 在做自動(dòng)化測試的時(shí)候,最常見(jiàn)的兩種判斷就是1. 某程序已經(jīng)成功啟動(dòng),某頁(yè)面已經(jīng)加載完畢。 2. 某程序已經(jīng)正常關(guān)閉,某服務(wù)已經(jīng)順利停止。 回到實(shí)際的工作,我要判斷被測的程序是否已經(jīng)正常啟動(dòng),可以用系統提供的一些工具,或者調用一些接口,例如SNMP命令,或者是調用一下Lua腳本等,如果他們都返回我們期望的數據,那么可以認為程序已經(jīng)成功啟動(dòng)了。反之,如果前面的這些命令出錯了,那么我也可以認為程序已經(jīng)是關(guān)閉了的。 要實(shí)現自動(dòng)化測試,就必須要讓測試代碼每時(shí)每刻都掌握著(zhù)被測系統的狀態(tài),sleep方法會(huì )讓自動(dòng)化測試腳本的行為變得詭異。

              Tags: 自動(dòng)化測試

              四.26, 2009 in .NET, 自動(dòng)化測試 Leave a Comment

              自己動(dòng)手創(chuàng )建Web測試驗證規則 ”Web測試”是由一系列 HTTP 請求組成,通過(guò)發(fā)出 HTTP 請求在協(xié)議層工作的測試類(lèi)型。在VSTS中自帶了若干個(gè)預先定義好的驗證規則,例如在返回的頁(yè)面上尋找某些字符,返回的文檔中是否包含某些Tag,等等。前一段時(shí)間在測試一個(gè)安全過(guò)濾器,這個(gè)過(guò)濾器的基本功能就是過(guò)濾用戶(hù)輸入中的一些有可能構成安全隱患的內容,例如

            延伸閱讀

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

            22/2<12

            關(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備2023014753號-2
            技術(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>