第四十章 紅的發(fā)黑
在開(kāi)始測(cè)試的時(shí)候,程文左側(cè)依然出現(xiàn)了一個(gè)半透明的屏幕。
上面有一個(gè)和他寫(xiě)的一模一樣的測(cè)試用例,和之前一樣被標(biāo)記了紅色和綠色。
程文測(cè)試的功能,和寫(xiě)測(cè)試用例的地方是一樣的,也是下載功能。
他們的這個(gè)項(xiàng)目是分為了上傳和下載。
上傳指的是,用客戶端或者其它終端把一些特定格式的圖片傳上來(lái)。
支持的格式就是常用的那些——gif、jpeg、bmp、png、webp。
上傳還好,只要這個(gè)系統(tǒng)能穩(wěn)定的運(yùn)行,能支持上述的這些格式就好。
當(dāng)然了在上傳的過(guò)程中,也是支持一些特性,比如自動(dòng)旋轉(zhuǎn)(可以把圖片放正)、縮放(可縮放到指定大小,有的圖片的位置是對(duì)圖片的大小有要求的)、壓縮(可以優(yōu)化圖片的存儲(chǔ)空間)……
還有圖片的大小也是有規(guī)定的,不能超過(guò)一個(gè)具體的值,比如20M。
不過(guò)這還好,但是訪問(wèn)功能或者說(shuō)是下載功能,這部分功能就很難測(cè)試了。
下載的時(shí)候也有縮放,在圖片的地址加一個(gè)長(zhǎng)和寬,這樣返回的圖片的大小應(yīng)該是指定的那個(gè)大小。
縮放又分為兩種,一種是按照比例縮放,如果大小不匹配,會(huì)保全圖片,這樣會(huì)有用別的顏色來(lái)填充,至于填充的顏色不同,又可以把這縮放分成好幾種。
最常見(jiàn)的有單純的固定色來(lái)填充,或者用根據(jù)圖片的內(nèi)容智能填充,這個(gè)會(huì)取圖片本身的一個(gè)顏色,做一個(gè)漸變。
還有一種縮放是不要留邊的,這種是會(huì)把圖片先按照比例縮放到指定的大小,然后把長(zhǎng)的那個(gè)一邊給裁剪了。
還有一種縮放是變形縮放,不過(guò)這個(gè)不太常用,畢竟變形了的圖片會(huì)失真,這個(gè)不會(huì)有填充也不會(huì)裁掉圖片本身的一些內(nèi)容。
還有的是裁剪,這個(gè)一般是用于圖片本身特別大,這個(gè)功能可以把圖片裁剪的小一些,可以設(shè)定一個(gè)從哪個(gè)位置裁剪,它不縮放圖片本身的大小。
還有針對(duì)人臉的裁剪,如果圖片里面有人臉,要優(yōu)先保證人臉不會(huì)被裁掉,并且盡量是把人臉安排到中間的位置。
還有轉(zhuǎn)換圖片的格式,比如原來(lái)的圖片是png,但是訪問(wèn)的時(shí)候輸入的擴(kuò)展名卻是另一個(gè),比如說(shuō)是webp,右鍵另存為的時(shí)候圖片的擴(kuò)展名應(yīng)該就是webp。
再或者是一個(gè)gif動(dòng)圖,如果把擴(kuò)展名改成jpg,那么就應(yīng)該是只保留了第一幀和裁剪有點(diǎn)像。
還有對(duì)gif進(jìn)行的幀的裁剪,比如一個(gè)gif有300幀的內(nèi)容,可以只裁剪第一幀,就相當(dāng)于是一個(gè)靜態(tài)圖片了,還可以指定比如裁剪20幀,或者其它一些其它數(shù)值的幀數(shù)。
還有的是對(duì)圖片進(jìn)行圓角處理,可以是簡(jiǎn)單的把四個(gè)角給圓形處理一下,也可以是把整個(gè)圖片都進(jìn)行圓形處理。
它們都有對(duì)應(yīng)的適應(yīng)場(chǎng)景。
還可以對(duì)圖片進(jìn)行壓縮,可以選擇不能的壓縮比。
不得不說(shuō)他們這次開(kāi)發(fā)的產(chǎn)品質(zhì)量還是不錯(cuò)的,程文也只從半透明的玻璃上看到了三處bug,但是有一處特別顯眼。
那個(gè)紅的都有點(diǎn)發(fā)黑了,小蟲(chóng)子的數(shù)量,也是程文自從得到系統(tǒng)以來(lái),從來(lái)沒(méi)有見(jiàn)到過(guò)的多。
“既然這個(gè)這么厲害,那我就先把其它簡(jiǎn)單問(wèn)題的給找到,這個(gè)留到最后?!背涛娜绱讼氲健?p> 那個(gè)紅的都發(fā)黑的bug是處于縮放分支。
程文測(cè)試了好幾遍,那幾個(gè)縮放的功能都好著呢,沒(méi)有什么問(wèn)題。
也不知道為什么會(huì)那么紅。
最后正在程文一籌莫展的時(shí)候,才想起來(lái)了系統(tǒng)布置這次任務(wù)時(shí)候的詳情。
程文又看了一眼任務(wù)。
【幫助商業(yè)化團(tuán)隊(duì)進(jìn)行測(cè)試,任務(wù)要求在進(jìn)行黑盒測(cè)試的同時(shí)也要進(jìn)行灰盒測(cè)試。任務(wù)完成獎(jiǎng)勵(lì):1.定向技能點(diǎn)+50;2.自由技能點(diǎn)+50;3.人民幣+200元;4.鍵帽+5;】
系統(tǒng)在發(fā)布其它任務(wù)的時(shí)候,從來(lái)沒(méi)有說(shuō)過(guò)指定要用什么技術(shù),但是這次是個(gè)例外。
它居然明確指定了要用到灰盒測(cè)試。
任務(wù)一定是有所指向的,不會(huì)無(wú)緣無(wú)故就來(lái)這么一出。
“所以如果我猜得沒(méi)錯(cuò)的話,這個(gè)bug是要灰盒測(cè)試才能測(cè)試出來(lái),或者說(shuō)是用灰盒技術(shù)可以很容易的測(cè)試出來(lái)。
而人工黑盒的測(cè)試,不太容易發(fā)現(xiàn)這個(gè)問(wèn)題。”
程文的智商突然在線了。
“可是灰盒測(cè)試是要有編程經(jīng)驗(yàn)的?!?p> 今天上午的時(shí)候系統(tǒng)曾經(jīng)發(fā)布了一個(gè)每日任務(wù),但是今天開(kāi)始的時(shí)候程文并沒(méi)有從姚紹那里要到,有什么能測(cè)試的項(xiàng)目。
所以他想了一個(gè)辦法,自己寫(xiě)程序,自己來(lái)測(cè)試,也不知道這算不算是系統(tǒng)的一個(gè)bug。
當(dāng)時(shí)程文選擇的是php,當(dāng)他找到了全部的bug的時(shí)候,系統(tǒng)還額外的給了他一個(gè)附加獎(jiǎng)勵(lì)——定向技能點(diǎn)+50。
“我怎么感覺(jué),我的人生的道路都被人給設(shè)計(jì)好了,我只需要按照它設(shè)計(jì)好的走就好了?!背涛脑趦?nèi)心深處突然冒出來(lái)了這個(gè)想法。
可惜的是那個(gè)獎(jiǎng)勵(lì)只有50個(gè)技能點(diǎn),所以程文的php編程經(jīng)驗(yàn)還在初級(jí)階段。
程文看了一下自己的屬性還有從系統(tǒng)那里得到的好東西:
【鍵帽:79個(gè)
減負(fù)背包:1
黑盒技能:513
找錯(cuò)文字技能:20
自由經(jīng)驗(yàn):380
基礎(chǔ)擊鍵能力:6.5
力量:+20千克
php技能:50
】
這也就是一個(gè)初級(jí)的php工程師,人家從培訓(xùn)機(jī)構(gòu)出來(lái)的人應(yīng)該都比這個(gè)水平高吧!
現(xiàn)在社會(huì)上還是有不少的php培訓(xùn)機(jī)構(gòu),很多人在學(xué)校沒(méi)有學(xué)習(xí)到什么知識(shí),他們會(huì)去培訓(xùn)機(jī)構(gòu)再繼續(xù)深造一下。
也不是說(shuō)培訓(xùn)機(jī)構(gòu)講的東西就不好,只是很多人沒(méi)有什么基礎(chǔ),所以大部分人去那里學(xué)到的東西比較少。
甚至有的培訓(xùn)機(jī)構(gòu),會(huì)在最后一個(gè)環(huán)節(jié)教人怎么面試,其實(shí)這個(gè)沒(méi)有什么,但是他們會(huì)教人怎么包裝自己,把本來(lái)沒(méi)有的經(jīng)歷都給包裝上去,還有的會(huì)學(xué)歷造假,簡(jiǎn)歷造假。
這如果誰(shuí)面試的時(shí)候一不注意給通過(guò)了,那可就真的丟人了。
程文現(xiàn)在的程度,連他們都比不上,不過(guò)程文并沒(méi)有學(xué)歷造假。
程文相信再有幾天的時(shí)間,他就會(huì)成為一個(gè)中級(jí),甚至很快就有可能成為一個(gè)高級(jí)工程師,到時(shí)他一定比培訓(xùn)機(jī)構(gòu)走出來(lái)的大部分人強(qiáng)。
還有一個(gè)辦法是程文不想用到的。