<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

      測試開發(fā)人員如何進(jìn)行局部探索性測試?一張圖告訴你

      0
      分享至

      我們都知道全局探索性測試的漫游測試法,也知道局部探索性測試可以從用戶輸入、狀態(tài)、代碼路徑、用戶數(shù)據(jù)和執(zhí)行環(huán)境測試著手點(diǎn)。

      那么,如果我們能夠獲取開發(fā)代碼,我們怎么從代碼入手,進(jìn)行具體的局部探索性測試呢?



      簡單回顧

      在進(jìn)行具體的案例講解前,我們先簡單回顧下局部探索性測試的用戶輸入、狀態(tài)、代碼路徑、用戶數(shù)據(jù)和執(zhí)行環(huán)境測試方法。

      一張圖說明一切。



      圖1局部探索性測試測試要點(diǎn)總結(jié)

      具體案例講解

      本文從代碼層入手,分享如何進(jìn)行局部探索性測試。值得注意的是,接下來的敘述沒有優(yōu)先級和重要性排序,單純是某些測試要點(diǎn)的啟發(fā)。

      比對代碼改動,尋找測試要點(diǎn)!

      隨著功能的改進(jìn)或者故障的修復(fù),總會伴隨代碼的改動。因此,我們可以從代碼改動點(diǎn)出發(fā)尋找測試要點(diǎn)。

      在此,需要大家問自己幾個問題:開發(fā)人員為什么要這樣改?這樣改有什么意義?



      圖2 elasticsearch開源代碼提交記錄:修改遠(yuǎn)程集群設(shè)置的authorization為credentials

      由上圖2所示,為elasticsearch開源代碼某次提交記錄(修改遠(yuǎn)程集群設(shè)置的authorization為credentials)。如果我們獲取到這樣一份代碼,我們要怎么尋找測試要點(diǎn)呢?!

      對于代碼修改的原因和意義,開發(fā)人員在代碼提交記錄中已經(jīng)聲明:credentials名字更精確。而且從提交記錄中,我們還可以看到有許多地方涉及的authorization被修改。因此,我們很容易就能想到一個測試要點(diǎn):authorization名字修改是否覆蓋完全?!

      我們再來看一個樣例。如下圖所示,為elasticsearch的PreviewTransformAction.java某次代碼變動。

      從提交記錄說明可以看到變動原因:目前我們按順序序列化轉(zhuǎn)換預(yù)覽文檔。

      然而,當(dāng)我們在另一端讀取它們時,我們將其反序列化為散列映射,失去順序。因此,排序時序列化毫無意義。但是在集成測試時,writeMapWithConsistentOrder的使用總使得集成測試失敗,因此將其改為無功能影響的writeGenericMap。

      由此我們一眼可以得出最重要的一個信息:功能不影響。

      所以,對此次變更,我們應(yīng)首要進(jìn)行功能回歸測試,確保已有功能正常。那還有沒有其它測試要點(diǎn)呢?試試writeGenericMap是否真的是無順序轉(zhuǎn)換?



      圖3 elasticsearch開源代碼提交記錄:修改writeMapWithConsistentOrder方法調(diào)用為為writeGenericMap調(diào)用

      注意覆蓋代碼中的分支!

      開發(fā)代碼中經(jīng)常會有if…else、switch…case等分支,可是當(dāng)我們從外部進(jìn)行場景測試或功能測試時很少能覆蓋完全代碼中的分支,從而可能忽視某些故障。因此,可以從代碼層面出發(fā),尋找或構(gòu)造能夠觸發(fā)代碼某個分支的場景。



      圖4 elasticsearch的ElasticsearchException.java某部分代碼1

      如上圖4所示,為ElasticsearchException.java某部分代碼。該代碼使用了if…else分支結(jié)構(gòu),面對這樣的代碼,我們是不是首先就會想:如何進(jìn)入不同分支?進(jìn)入不同分支后會有什么樣的效果?

      如上圖所示,試試elasticsearchException不為null呢?再試試id!=127呢?更或者,試試傳入的id為null呢?



      圖5 elasticsearch的ElasticsearchException.java某部分代碼2

      如圖5所示,switch…case分支,想想:測試場景中覆蓋完了所有case分支嗎?如果沒有,如何構(gòu)造場景走到這些分支,尤其是default分支?

      3)異常都捕獲到?jīng)]?

      我們在測試過程中,經(jīng)常由于環(huán)境或其他原因的影響造成一些異常的產(chǎn)生。而針對異常的捕獲往往是代碼中預(yù)先定義好的,但如果異常不在期望中呢?是否能夠正常打印異常和捕獲異常?



      圖6 elasticsearch的ExceptionsHelper。。java某部分代碼

      如圖6所示,是try…catch…finally結(jié)構(gòu),但沒有catch分支。假如formatStackTrace功能異常呢?能夠捕獲異常嗎?試試。又或者ExceptionsHelper。maybeError(throwable)不存在呢?會是什么樣的效果,試試。

      4)不同的return返回值嘗試過沒?

      如題所述,試試不同的返回值對調(diào)用者的影響。看看是否調(diào)用方都能夠正確處理或響應(yīng)。如下圖7所示,試試不同case分支下的返回值,尤其是不常見用的返回值,如PARTIAL、INCOMPATIBLE等。



      圖7elasticsearch的SnapshotState。java某部分代碼

      5)如果變量不在定義的集合范圍內(nèi)呢?

      代碼中我們難免會定義一些列表或集合,會聲明列表或集合元素的類型。那么,如果某個變量不在定義的類型范圍內(nèi)呢,要使用列表或集合的功能處理這個變量,會怎么樣?



      圖8 elasticsearch的SnapshotsInProgress。java某部分代碼

      如上圖8所示,定義返回類型為List,如果返回值的類型不是list或者列表中的值不是String呢?想想。

      6)正則表達(dá)式呢?

      正則表達(dá)式是很多測試人員頭疼的一點(diǎn),因?yàn)槿斯そ馕霾惶槙场T诖丝梢越o大家推薦一個很好的解析器網(wǎng)址https://regexper.com/#%5Ba-zA-Z_0-9%5D%7B3%2C%7D。如下圖所示,將正則表達(dá)式輸入,就可以解析。



      圖9 regexper。com正則表達(dá)式解析網(wǎng)站

      假如針對[a-zA-Z_0-9]{3,}這樣的正則表達(dá)式,試試輸入變量為345呢?會有什么樣的效果?

      7)代碼中有沒有寫死的變量?

      比如常見的引用ip、port等,是否被固定了?比如有沒有用到sleep?被寫死的變量會導(dǎo)致代碼更改時容易忽略,而產(chǎn)生異常。而sleep 10s這樣的寫法會導(dǎo)致性能下降。試試有沒有這樣的問題?

      8)每一條路徑走完沒有?

      在這里可以給大家推薦一個好用的工具visustin(www.aivosto.com),可以解析代碼路徑,可視化輸出。支持java,jsp,python等多種語言。



      圖10 visustin軟件解析代碼路徑樣例圖

      如上圖所示,在visustin的幫助下,我們可以方便地看出每條路徑。試試遍歷所有路徑?

      3.總結(jié)

      探索性測試的核心在于啟發(fā)性思維。本文結(jié)合具體樣例,簡單講述了如何從代碼層面入手,開始局部探索性測試。并簡單介紹了兩個有用的工具regexper.com網(wǎng)站和visustin軟件,它們可以幫助我們解析正則表達(dá)式和可視化代碼路徑。工欲善其事必先利其器,希望這兩個軟件也能幫助到你。

      探索性測試是一門值得研究和探討的課題,尤其是對于測試人員來說,對于專業(yè)能力的提升和個人職業(yè)的發(fā)展都有幫助。希望能有更多的同行加入探討和研究。

      最后:在我的V:atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測試工程師面試寶典文檔資料。以及相對應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進(jìn)階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。

      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關(guān)推薦
      熱點(diǎn)推薦
      王楚欽4-3達(dá)科,誰注意賽后?王楚欽致謝全場,王皓握拳怒吼慶祝

      王楚欽4-3達(dá)科,誰注意賽后?王楚欽致謝全場,王皓握拳怒吼慶祝

      籃球資訊達(dá)人
      2026-04-04 20:23:25
      985大學(xué)原校長、上海市原副市長,任新職!

      985大學(xué)原校長、上海市原副市長,任新職!

      雙一流高校
      2026-04-05 00:11:20
      國家杰青、長江學(xué)者!武漢大學(xué)基礎(chǔ)醫(yī)學(xué)院原院長、二級教授李紅良,任贛南醫(yī)科大學(xué)副校長

      國家杰青、長江學(xué)者!武漢大學(xué)基礎(chǔ)醫(yī)學(xué)院原院長、二級教授李紅良,任贛南醫(yī)科大學(xué)副校長

      雙一流高校
      2026-04-05 00:10:45
      黑鷹墜落,特朗普又贏了

      黑鷹墜落,特朗普又贏了

      無忌財談
      2026-04-04 11:52:38
      突然變天!中澳航班大面積取消、票價暴漲!真正的危機(jī)才剛剛開始…

      突然變天!中澳航班大面積取消、票價暴漲!真正的危機(jī)才剛剛開始…

      澳洲紅領(lǐng)巾
      2026-04-04 12:33:04
      獨(dú)家供應(yīng)商談張雪:當(dāng)年他獨(dú)自造車在QQ上賣,先收錢后制造,奪冠比我想象的更早

      獨(dú)家供應(yīng)商談張雪:當(dāng)年他獨(dú)自造車在QQ上賣,先收錢后制造,奪冠比我想象的更早

      極目新聞
      2026-04-04 10:39:03
      中超:上海海港2-1絕殺玉昆,積分“轉(zhuǎn)正”,王燊超替補(bǔ)獻(xiàn)絕殺

      中超:上海海港2-1絕殺玉昆,積分“轉(zhuǎn)正”,王燊超替補(bǔ)獻(xiàn)絕殺

      燒體壇
      2026-04-04 21:45:05
      斯諾克最新戰(zhàn)報!希金斯啞火僅8分,趙心童大逆轉(zhuǎn),半決賽連贏3局

      斯諾克最新戰(zhàn)報!希金斯啞火僅8分,趙心童大逆轉(zhuǎn),半決賽連贏3局

      劉姚堯的文字城堡
      2026-04-04 21:02:56
      澳門世界杯捷報:4強(qiáng)全出爐,衛(wèi)冕冠軍4:3晉級,王楚欽壓力陡增

      澳門世界杯捷報:4強(qiáng)全出爐,衛(wèi)冕冠軍4:3晉級,王楚欽壓力陡增

      順靜自然
      2026-04-04 16:47:33
      國務(wù)院明確叫停!電動車不許隨意查扣,亂查亂罰堅決禁止

      國務(wù)院明確叫停!電動車不許隨意查扣,亂查亂罰堅決禁止

      金哥說新能源車
      2026-04-05 00:10:25
      不邀請中國參加G7峰會 馬克龍為何改主意了?

      不邀請中國參加G7峰會 馬克龍為何改主意了?

      看看新聞Knews
      2026-04-04 17:51:02
      安徽失聯(lián)女童最新線索!手機(jī)被扔在地溝,家屬的疑慮,恐怕要成真

      安徽失聯(lián)女童最新線索!手機(jī)被扔在地溝,家屬的疑慮,恐怕要成真

      奇思妙想草葉君
      2026-04-04 23:39:57
      北美觀察丨美F-15被擊落 伊朗戰(zhàn)爭的代價正在累積

      北美觀察丨美F-15被擊落 伊朗戰(zhàn)爭的代價正在累積

      國際在線
      2026-04-04 10:53:03
      開始瘋狂拋售黃金!

      開始瘋狂拋售黃金!

      販財局
      2026-04-04 21:16:51
      伊朗發(fā)出最后通牒!俄通告全球?qū)?zhàn),法國上將:中估計也要到了

      伊朗發(fā)出最后通牒!俄通告全球?qū)?zhàn),法國上將:中估計也要到了

      明天見灌裝冰塊
      2026-04-04 08:27:48
      廣東一女子被搶后開車撞向劫匪,致一人死亡,終審被判正當(dāng)防衛(wèi)無罪

      廣東一女子被搶后開車撞向劫匪,致一人死亡,終審被判正當(dāng)防衛(wèi)無罪

      臺州交通廣播
      2026-04-04 10:17:55
      東北知名設(shè)計院脫衣團(tuán)建,真騷氣!

      東北知名設(shè)計院脫衣團(tuán)建,真騷氣!

      黯泉
      2026-04-04 22:43:42
      俄全國支付系統(tǒng)中斷,俄軍陣亡創(chuàng)新高,蘇-30戰(zhàn)機(jī)墜毀,仍幻想美逼烏割讓領(lǐng)土 | 狼叔看世界

      俄全國支付系統(tǒng)中斷,俄軍陣亡創(chuàng)新高,蘇-30戰(zhàn)機(jī)墜毀,仍幻想美逼烏割讓領(lǐng)土 | 狼叔看世界

      狼叔看世界
      2026-04-04 10:04:06
      10-1碾壓晉級!趙心童9連鞭希金斯

      10-1碾壓晉級!趙心童9連鞭希金斯

      時局瞭望
      2026-04-05 03:00:00
      臺灣餐飲業(yè)勞工平均月薪僅為3.9萬新臺幣,專家嘆“連存錢都難”

      臺灣餐飲業(yè)勞工平均月薪僅為3.9萬新臺幣,專家嘆“連存錢都難”

      海峽導(dǎo)報社
      2026-04-04 10:01:02
      2026-04-05 04:20:49
      51Testing軟件測試網(wǎng) incentive-icons
      51Testing軟件測試網(wǎng)
      中國軟件測試人的精神家園
      1549文章數(shù) 13258關(guān)注度
      往期回顧 全部

      科技要聞

      內(nèi)存一年漲四倍!國產(chǎn)手機(jī)廠商集體漲價

      頭條要聞

      伊朗發(fā)動第七輪導(dǎo)彈襲擊 耶路撒冷攔截導(dǎo)彈升空

      頭條要聞

      伊朗發(fā)動第七輪導(dǎo)彈襲擊 耶路撒冷攔截導(dǎo)彈升空

      體育要聞

      剎不住的泰格·伍茲,口袋里的兩粒藥丸

      娛樂要聞

      Q女士反擊,否認(rèn)逼宋寧峰張婉婷離婚

      財經(jīng)要聞

      中微董事長,給半導(dǎo)體潑點(diǎn)冷水

      汽車要聞

      17萬級海豹07EV 不僅續(xù)航長還有9分鐘滿電的快樂

      態(tài)度原創(chuàng)

      游戲
      房產(chǎn)
      藝術(shù)
      旅游
      公開課

      好玩還上頭!創(chuàng)新與傳統(tǒng)并存的戰(zhàn)棋黑馬《永鈴回響》值不值得玩?

      房產(chǎn)要聞

      小陽春全面啟動!現(xiàn)房,才是這波行情里最穩(wěn)的上車票

      藝術(shù)要聞

      你絕對不能錯過的夢幻性感攝影作品!

      旅游要聞

      櫻郵聯(lián)動!郵輪游客赴顧村公園賞櫻,解鎖“一票雙享”新玩法

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進(jìn)入關(guān)懷版