其實問題找出來之後,改起來特別容易,他們只需要在縮放那裡做一個簡單的判斷,判斷一下如果目標的值太大了,那麼就會把這個目標值設定成一個最大值。
突然間程文好像明白了,為什麼有的程式的設定要有一個最大的值了。
可能和這個是一樣的,如果不設定最大的值,那麼一旦過了某個值,系統就會出來一些預料不到的問題,會影響系統的穩定性。
開改好了這個bug,自己測試也沒有什麼問題了。
在微信群裡訊息
【程文,你再測試一下,現在我們已經改好了。】
【好的】
程文回道,他在心裡想到,開們的動作還是挺快的,就這麼一會兒的工夫就已經改好了。
又跑了一遍他的程式碼,過了一會兒,就跑完了,這一次這裡沒有什麼問題了,所以很快就完成了。
不像剛才有問題那會兒,遲遲得不到響應,往往是一個請求,過了好大一會兒,時間都過了程文設定的最大時時間,程式這才返回了一個時。
“看來,這個灰盒測試還是有用的,不過這也是我自己的問題,黑盒其實也能現這個問題,只是我沒有用那麼大的值去測試過。”
雖然bug已經修改好了,但是程文覺得有必要進行一次覆盤,來總結一下這次的收穫。
看了看測試用例,程文現他的測試用例上是寫明瞭,要測試這個東西的,只是他自己並沒有測試這個最大值。
“看來邊界值一定不能大意,以後自己一定要更加用心,不能因為有了系統就失去了思考的能力,如果靜下心來仔細的思考思考,是可以現這裡為什麼有問題的。”
“群裡說的事情是你造成的?”邢雅凡問道。
“是的。”
“你用的是灰盒測試?”
“對。”
“真的是縮放那裡有問題?”
“是的。”
邢雅凡……
“你就不能多說幾個字?”
“雖然我們沒有打賭,但是我說這裡有問題,果然有問題吧,要不你晚上請我吃飯?”
邢雅凡……
“算了,你還是一個字,兩個字的說吧。”
“你給我講講那裡有什麼問題吧,如果給我講明白了,我晚上就請你吃飯。”邢雅凡用晚飯來誘惑程文。
“其實也沒有什麼,那個縮放那裡他們忘了設定最大的比例了,如果你寫一個比如說要把圖片縮放成*大小的,那麼機器就會不堪重負,變得越來越慢。”
“處理一個請求就已經很慢了,我寫的灰盒測試程式碼有時時間,到了時時間會重試,如果再重試一下,你想想會有什麼結果?”
程文覺得有必要讓邢雅凡自己學會自己獨立思考,不能什麼都讓他說了,這是在引導著她進行思考。
“如果剛才的還沒有處理完,那麼機器一定會佔用一些資源,如果這時又有和剛才一樣的請求,或者比剛才還消耗資源的請求過來了,那麼系統處理起來就會更慢了。
你是用寫的程式來跑的,所以一會兒還會再來一個,伺服器會變得越來越慢,越來越卡。
越往後伺服器會越卡,最終會在很短的時間內,機器負載升的特別高,最後什麼都處理不了,甚至那些正常的不耗什麼資源的請求也處理不了。”