<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ā)人員如何進行局部探索性測試?一張圖告訴你

      0
      分享至

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

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



      簡單回顧

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

      一張圖說明一切。



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

      具體案例講解

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

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

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

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



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

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

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

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

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

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

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

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



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

      注意覆蓋代碼中的分支!

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



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

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

      如上圖所示,試試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)生。而針對異常的捕獲往往是代碼中預先定義好的,但如果異常不在期望中呢?是否能夠正常打印異常和捕獲異常?



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

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

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

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



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

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

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



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

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

      6)正則表達式呢?

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



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

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

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

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

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

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



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

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

      3.總結(jié)

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

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

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

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

      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.

      相關推薦
      熱點推薦
      甜炸了!汪小菲又偷偷偷拍馬筱梅和寶寶,這一幕藏不住的幸福!

      甜炸了!汪小菲又偷偷偷拍馬筱梅和寶寶,這一幕藏不住的幸福!

      樂悠悠娛樂
      2026-02-28 15:19:07
      一旦戰(zhàn)爭爆發(fā)中國或?qū)⒈粐ィ瑢χ袊?,最危險的不只戰(zhàn)爭

      一旦戰(zhàn)爭爆發(fā)中國或?qū)⒈粐ィ瑢χ袊?,最危險的不只戰(zhàn)爭

      來科點譜
      2026-01-23 11:04:18
      江西女子用公驢器官泡酒,三個月后給丈夫喝,不料發(fā)生意外

      江西女子用公驢器官泡酒,三個月后給丈夫喝,不料發(fā)生意外

      古怪奇談錄
      2025-06-28 13:49:02
      “我們看到導彈飛過去了!”中東廣東企業(yè)迅速啟動應急預案

      “我們看到導彈飛過去了!”中東廣東企業(yè)迅速啟動應急預案

      南方都市報
      2026-02-28 19:28:26
      伊朗局勢如何影響金價 專家稱未來48小時決定金價走勢

      伊朗局勢如何影響金價 專家稱未來48小時決定金價走勢

      財聯(lián)社
      2026-02-28 19:03:05
      豪宅成交創(chuàng)歷史新高!香港上調(diào)交易印花稅,業(yè)內(nèi)稱沖擊有限

      豪宅成交創(chuàng)歷史新高!香港上調(diào)交易印花稅,業(yè)內(nèi)稱沖擊有限

      國際金融報
      2026-02-27 21:34:02
      春天“牛仔褲”新穿法火了,搭配這幾件上衣,簡約時髦

      春天“牛仔褲”新穿法火了,搭配這幾件上衣,簡約時髦

      何有強
      2026-02-27 21:58:10
      謝賢擔心事終發(fā)生,張柏芝給口無遮攔CoCo上了一課

      謝賢擔心事終發(fā)生,張柏芝給口無遮攔CoCo上了一課

      老好人的憤怒
      2026-02-28 10:26:39
      隨著孫穎莎4-2,王曼昱4-2,新加坡大滿貫女單4強出爐,對陣如下

      隨著孫穎莎4-2,王曼昱4-2,新加坡大滿貫女單4強出爐,對陣如下

      侃球熊弟
      2026-02-28 21:13:23
      WTT大滿貫!女單4強對陣出爐,國乒2人出局,孫穎莎迎大挑戰(zhàn)

      WTT大滿貫!女單4強對陣出爐,國乒2人出局,孫穎莎迎大挑戰(zhàn)

      查爾菲的筆記
      2026-02-28 19:09:53
      這次荷蘭沒話說了!中方正式宣布:更換國內(nèi)供應商,從此不再合作

      這次荷蘭沒話說了!中方正式宣布:更換國內(nèi)供應商,從此不再合作

      曉劗就是我
      2026-02-26 15:50:07
      A股:下周穩(wěn)了!證監(jiān)會“發(fā)大招利好”,這幾個板塊將直接起飛!

      A股:下周穩(wěn)了!證監(jiān)會“發(fā)大招利好”,這幾個板塊將直接起飛!

      云鵬敘事
      2026-02-28 13:04:17
      外媒:初步報告稱伊朗革命衛(wèi)隊損失慘重,多名革命衛(wèi)隊成員死傷

      外媒:初步報告稱伊朗革命衛(wèi)隊損失慘重,多名革命衛(wèi)隊成員死傷

      中國網(wǎng)
      2026-02-28 16:09:08
      TOP14位身高170以上的女神,有顏有燈有演技

      TOP14位身高170以上的女神,有顏有燈有演技

      素然追光
      2026-01-02 02:45:02
      小米上架米家燃氣灶3猛火版,到手價899元

      小米上架米家燃氣灶3猛火版,到手價899元

      ZAEKE知客
      2026-02-27 12:41:13
      朝鮮閱兵式現(xiàn)場大將僅剩5人!戰(zhàn)略軍直接被裁?

      朝鮮閱兵式現(xiàn)場大將僅剩5人!戰(zhàn)略軍直接被裁?

      IN朝鮮
      2026-02-28 10:45:32
      美媒:大陸攻臺時間確定,臺官員:要想臺灣回歸,必須滿足三條件

      美媒:大陸攻臺時間確定,臺官員:要想臺灣回歸,必須滿足三條件

      快看張同學
      2026-02-27 17:13:59
      第1現(xiàn)場|美以襲擊造成51名伊朗學生死亡,哈梅內(nèi)伊遭襲住所曝光

      第1現(xiàn)場|美以襲擊造成51名伊朗學生死亡,哈梅內(nèi)伊遭襲住所曝光

      澎湃新聞
      2026-02-28 22:44:27
      AI會在所有事情上超越我們!3800億估值公司CEO警告:海嘯將至人類卻假裝沒看到

      AI會在所有事情上超越我們!3800億估值公司CEO警告:海嘯將至人類卻假裝沒看到

      知識圈
      2026-02-27 16:57:06
      蔣家后人含淚召開發(fā)布會,請求遷靈回大陸,兩句話讓全場沉默

      蔣家后人含淚召開發(fā)布會,請求遷靈回大陸,兩句話讓全場沉默

      老范談史
      2026-02-27 19:55:01
      2026-02-28 23:12:49
      51Testing軟件測試網(wǎng) incentive-icons
      51Testing軟件測試網(wǎng)
      中國軟件測試人的精神家園
      1528文章數(shù) 13252關注度
      往期回顧 全部

      科技要聞

      狂攬1100億美元!OpenAI再創(chuàng)融資神話

      頭條要聞

      美以襲擊伊朗 華人緊急逃離德黑蘭:沒想到來得這么快

      頭條要聞

      美以襲擊伊朗 華人緊急逃離德黑蘭:沒想到來得這么快

      體育要聞

      球隊主力全報銷?頂風擺爛演都不演了

      娛樂要聞

      周杰倫兒子正面照曝光,與父親好像

      財經(jīng)要聞

      沖突爆發(fā) 市場變天?

      汽車要聞

      嵐圖泰山黑武士版3月上市 搭載華為四激光智駕方案

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

      藝術
      數(shù)碼
      旅游
      健康
      軍事航空

      藝術要聞

      就是這個畫風,美的我有點兒接受不了!

      數(shù)碼要聞

      達爾優(yōu)推出聽界A3/Pro無線游戲耳機新品,199~229元

      旅游要聞

      美人梅迎春綻放 5.5米“骨里紅”與4.5米垂枝梅打造新景觀

      轉(zhuǎn)頭就暈的耳石癥,能開車上班嗎?

      軍事要聞

      美國以色列聯(lián)合襲擊伊朗 實時戰(zhàn)況

      無障礙瀏覽 進入關懷版