<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網易首頁 > 網易號 > 正文 申請入駐

      測試開發人員如何進行局部探索性測試?一張圖告訴你

      0
      分享至

      我們都知道全局探索性測試的漫游測試法,也知道局部探索性測試可以從用戶輸入、狀態、代碼路徑、用戶數據和執行環境測試著手點。

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



      簡單回顧

      在進行具體的案例講解前,我們先簡單回顧下局部探索性測試的用戶輸入、狀態、代碼路徑、用戶數據和執行環境測試方法。

      一張圖說明一切。



      圖1局部探索性測試測試要點總結

      具體案例講解

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

      比對代碼改動,尋找測試要點!

      隨著功能的改進或者故障的修復,總會伴隨代碼的改動。因此,我們可以從代碼改動點出發尋找測試要點。

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



      圖2 elasticsearch開源代碼提交記錄:修改遠程集群設置的authorization為credentials

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

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

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

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

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

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

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



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

      注意覆蓋代碼中的分支!

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



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

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

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



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

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

      3)異常都捕獲到沒?

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



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

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

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

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



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

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

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



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

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

      6)正則表達式呢?

      正則表達式是很多測試人員頭疼的一點,因為人工解析不太順暢。在此可以給大家推薦一個很好的解析器網址https://regexper.com/#%5Ba-zA-Z_0-9%5D%7B3%2C%7D。如下圖所示,將正則表達式輸入,就可以解析。



      圖9 regexper。com正則表達式解析網站

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

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

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

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

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



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

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

      3.總結

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

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

      最后:在我的V:atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。

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

      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.

      相關推薦
      熱點推薦
      一人一方,定制免疫!中國首款mRNA癌癥疫苗落地,11大癌種可申請

      一人一方,定制免疫!中國首款mRNA癌癥疫苗落地,11大癌種可申請

      無癌家園i
      2026-05-09 15:12:40
      43歲身材還這么“滿”?王心凌的身材到底是怎么保持的?

      43歲身材還這么“滿”?王心凌的身材到底是怎么保持的?

      馬拉松跑步健身
      2026-05-04 19:32:40
      60年代,馮鞏在幼兒園的照片,人家這長相,小時候都不怕丟

      60年代,馮鞏在幼兒園的照片,人家這長相,小時候都不怕丟

      喜文多見01
      2026-05-10 07:00:29
      俄羅斯在敘利亞重建海軍基地,烏克蘭取消打擊紅場閱兵背后玄機

      俄羅斯在敘利亞重建海軍基地,烏克蘭取消打擊紅場閱兵背后玄機

      史政先鋒
      2026-05-09 10:50:10
      陳翔六點半“吳媽”去世,球球證實,死因曝光,生命最后瘦到脫相

      陳翔六點半“吳媽”去世,球球證實,死因曝光,生命最后瘦到脫相

      叨嘮
      2026-05-09 19:41:34
      人口凈流出第一!戶籍人口第一大省,為何留不住人?

      人口凈流出第一!戶籍人口第一大省,為何留不住人?

      城市財經
      2026-05-09 11:51:11
      獨取2分!王楚欽將功勞讓給隊友:梁靖崑林詩棟都燃盡了 我很感動

      獨取2分!王楚欽將功勞讓給隊友:梁靖崑林詩棟都燃盡了 我很感動

      風過鄉
      2026-05-10 06:27:13
      貔貅認主不看財富,這四個生肖千萬別碰,戴了反而會破財

      貔貅認主不看財富,這四個生肖千萬別碰,戴了反而會破財

      紙鳶奇譚
      2026-04-13 16:06:54
      巴基斯坦戰略專家:這三場戰爭已表明,中國才是世界最強超級大國

      巴基斯坦戰略專家:這三場戰爭已表明,中國才是世界最強超級大國

      農夫史記
      2026-05-05 20:42:36
      多項研究顯示:性生活頻率過低,男女容易早衰且患癌風險增高!

      多項研究顯示:性生活頻率過低,男女容易早衰且患癌風險增高!

      燈錦年
      2026-05-05 21:55:51
      手機突然收到陌生驗證碼千萬別慌!內行忠告:立刻打開飛行模式

      手機突然收到陌生驗證碼千萬別慌!內行忠告:立刻打開飛行模式

      Thurman在昆明
      2026-05-09 05:11:35
      “他倆都把對方坑慘了,還甩不掉”

      “他倆都把對方坑慘了,還甩不掉”

      觀察者網
      2026-05-09 18:53:06
      “斷崖式”下跌37%,黃金首飾賣不動了

      “斷崖式”下跌37%,黃金首飾賣不動了

      新浪財經
      2026-05-09 19:19:21
      侯友宜正式向大陸攤牌:將統一模式強加于臺灣人,主流民意不接受

      侯友宜正式向大陸攤牌:將統一模式強加于臺灣人,主流民意不接受

      杰絲聊古今
      2026-05-06 14:10:21
      躺槍,“中國燒烤店是天價世界杯首個受害者”話題登上熱搜

      躺槍,“中國燒烤店是天價世界杯首個受害者”話題登上熱搜

      懂球帝
      2026-05-09 19:45:20
      上海海港、山東泰山全部拿下!青島海牛的目標不是保級?

      上海海港、山東泰山全部拿下!青島海牛的目標不是保級?

      何揎室內設計
      2026-05-10 08:54:15
      西方終于服了?德媒:中國正在像當年的美國一樣,悄悄接管世界

      西方終于服了?德媒:中國正在像當年的美國一樣,悄悄接管世界

      奇葩游戲醬
      2026-05-08 14:16:40
      科學家首次發現:動脈粥樣斑塊竟能完全消退!不過需滿足4個條件

      科學家首次發現:動脈粥樣斑塊竟能完全消退!不過需滿足4個條件

      39健康網
      2026-05-09 21:11:38
      王皓為何舍不得梁靖崑?五大原因曝光,教練組也很無奈

      王皓為何舍不得梁靖崑?五大原因曝光,教練組也很無奈

      老瑋是個手藝人
      2026-05-09 11:03:18
      “4只皮皮蝦1035元”店主事發次日病逝,年僅43歲;家人稱其有基礎病,事發前已腦出血,店鋪收到多起威脅電話,不打算繼續開業

      “4只皮皮蝦1035元”店主事發次日病逝,年僅43歲;家人稱其有基礎病,事發前已腦出血,店鋪收到多起威脅電話,不打算繼續開業

      揚子晚報
      2026-05-08 12:46:41
      2026-05-10 09:32:49
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1567文章數 13263關注度
      往期回顧 全部

      科技要聞

      美國政府強力下場 蘋果英特爾達成代工協議

      頭條要聞

      美軍對伊朗多個目標發動打擊 伊朗革命衛隊深夜警告

      頭條要聞

      美軍對伊朗多個目標發動打擊 伊朗革命衛隊深夜警告

      體育要聞

      成立128年后,這支升班馬首奪頂級聯賽冠軍

      娛樂要聞

      50歲趙薇臉頰凹陷滄桑得認不出!

      財經要聞

      多地號召,公職人員帶頭繳納物業費

      汽車要聞

      軸距加長/智駕拉滿 阿維塔07L定位大五座SUV

      態度原創

      本地
      游戲
      旅游
      教育
      公開課

      本地新聞

      用蘇繡的方式,打開江西婺源

      Windows 11 PC上的Xbox模式不支持多顯示器

      旅游要聞

      早安!花開好市火熱進行,周末來赴一場花漾約會吧

      教育要聞

      26高考選專業,普通家庭該避開哪些坑?

      公開課

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

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 精品无码国产不卡在线观看| 国产日韩欧美一区二区| 国产大陆xxxx做受视频| 国产偷国产偷亚洲清高app| 中文字幕亚洲综合久久| 日韩av激情| 成人无码A区在线观看视频| 国产精品久久码一区二区| 亚洲无线码一区在线观看| 欧美日韩国产第一社区| 国产精品午夜波多野结衣性色| 乱人伦??国语| 日本亚洲精品色婷婷在线影院| 久久99精品视频| 欧美色逼| 亚洲午夜福利院在线观看| 亚洲清纯自偷自拍另类专区| 宅宅午夜无码一区二区三区| 少妇人妻丰满做爰xxx | 97人妻视频妓女网| 在线无码中文字幕一区| 午夜成人性爽爽免费视频| 久久久人妻| 国产精品区免费视频| 中文字幕第四页| 亚洲日韩中文在线精品第一| 免费av深夜在线观看| 国产I熟女l国产.熟女视频| 亚洲国产成人精品无码一区二区| 色综合久久无码五十路人妻| 人妻在线无码一区二区三区| 色综合久久久久综合体桃花网| 欧美亚一区| 亚洲男人的天堂在线观看| 99ri国产在线观看| 亚洲国产欧美在线人成app| 人妻另类 专区 欧美 制服| 国产精品一区二区中文| 成人做爰A片免费看奶头| 久久不见久久见免费影院www日本 亚洲综合精品一区二区三区 | 中文字幕在线网址|