小明的軟體測試故事系列:第一篇之Json導致的事故總結

博為峰網校發表於2022-08-23

第一篇 Json導致的事故總結

人物簡介:

小明,男,25歲,一個普通的不能再普通的大學畢業生,剛剛參加工作兩年,在某網際網路公司擔任測試工程師一職。與其他剛畢業的同學一樣,愛好看電影、聽音樂、爬山……還有倒騰電子數碼產品。人生格言是:"我不敢肯定,但是我和勝利有個約定",目前最大的願望是:揮灑青春,紮根北京。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~

大熊,男,32歲,資深測試工程師,在某網際網路公司從事測試工作長達8年之久,是小明的Leader。為人嚴肅認真,平時上班總是板著臉,同事從未見他笑過。愛好不詳、婚姻狀況不詳,因為體重180斤再加上臉比較黑,所以人送外號"大熊"。

今天的故事是這樣的….

大熊:小明,今天有個測試任務你測一下。

小明:什麼任務?

大熊:瀏覽器搜尋欄推薦列表的測試任務。

功能需求:當使用者滑鼠點選搜尋欄時,搜尋欄會向搜尋伺服器請求最熱門搜尋詞,伺服器返回內容後,瀏覽器將內容以下拉選單的方式展示出來。

小明:好的。

三天後,該功能測試完畢上線了……

大熊:小明,你給我過來!(四川話口音)

小明:老大,什麼事?

大熊:剛接到反饋,線上使用者只要開啟搜尋欄就會主程式崩潰,你是怎麼測的!

小明:我那天測的時候沒有這個問題啊。

大熊:你當時都測試了哪些用例?

小明:不就是點選搜尋欄能夠彈出下拉選單嘛,另外還測試了:

返回條目的個數;

點選下拉選單內容能夠跳轉到對應搜尋結果;

切換別的搜尋引擎不會有下拉選單;

伺服器返回的內容是中文、英文、數字的時候,下拉選單內容也是對應的內容。

伺服器返回的資料超長的情況。

大熊:伺服器返回的資料格式是什麼?有沒有測試格式異常?

小明:伺服器返回的資料格式是 json 格式,沒有測試格式異常。格式異常這種情況測它有意義嗎?怎麼可能會出現返回的資料異常啊,這個伺服器都是我們公司自己的伺服器。

大熊什麼話都沒說,讓小明先去查明崩潰原因。

不久之後,小明瞭解到了崩潰原因,原來是:

正常情況下:

出現問題時:因為搜尋伺服器出現了異常,返回給瀏覽器的資料格式不是json,而是一段html,而瀏覽器仍然當做json去解析,所以發生了異常崩潰了。

小明:老大,我知道錯了,Json格式異常也需要測。

大熊強忍胸中的怒火,在電腦上開啟了一份檔案,那是一份很長的事故列表,其中的內容是這樣寫的:

2013年10月,一款叫做桌面助手程式在獲取天氣預報資料時,由於伺服器返回的json格式資料異常,導致桌面助手頻繁崩潰。該問題造成了比較大的影響,Leader被罰1000元,測試團隊上下做了深刻的反省和總結。

2012年3月,瀏覽器升級程式在下載一個升級策略.dll檔案時 ,該檔案在傳輸過程中被江西運營商加入了一段html的廣告,導致升級程式載入.dll檔案時異常,造成江西一帶使用者無法升級。

2010年11月,公司大BOSS川總反饋,在搜狗瀏覽器搜尋欄輸入雙引號,瀏覽器崩潰。崩潰原因是返回的資料因為雙引號未轉義原因,將json資料格式配對破壞,導致解析失敗崩潰。事後測試組Leader和測試人員被當季度罰績效考核不合格。

……

看到這份列表,小明半天沒有說出話來。

大熊問到:你從這件事得到了什麼總結?

小明思考片刻,理了理頭緒,娓娓道來:

測試客戶端時,要考慮伺服器出現異常情況時,不會對客戶端造成影響,例如伺服器502掛掉了。

測試功能時要了解到網路傳輸過程中的資料格式,除了使用等價類、邊界值考慮常見的中英文數字等資料之外,還要對資料格式異常進行測試,例如:json資料缺少{;xml資料缺少<等情況

接第2點,還要考慮返回的資料為空。

測試功能時還要考慮到網路傳輸過程中的異常情況,如斷網、直接拔網線等。

大熊點點頭,繼續問道:如何構造這些異常情況呢?

小明:不知道….

大熊:用Fiddler攔截請求,具體用法去查知識庫!另外,本季度PM成績從B開始,以示懲罰。

後來,該事故的處罰結果為:大熊作為Leader連帶罰款1000元,小明季度獎金取消。

最後:

可以到我的個人V:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的影片學習教程免費分享!其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。

這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2911664/,如需轉載,請註明出處,否則將追究法律責任。

相關文章