首先:這篇文章不是我寫的,而是波波大佬分享的脖苏,我只做記錄
技術(shù)篇:
知識面覆蓋:
1程拭、開發(fā)更新了一個存儲過程,安排你進(jìn)行測試棍潘,你打算如何開展工作恃鞋?
--既然是更新,說明原來就有這個存儲過程亦歉,先去比較原來的存儲過程和更新后的存儲過程恤浪,具體更新了什么內(nèi)容,評估對原功能的影響肴楷。了解清楚以后水由,再設(shè)計用例進(jìn)行測試驗證。
2赛蔫、數(shù)據(jù)庫增加了讀寫分離砂客,安排你進(jìn)行測試,你打算如何開展工作呵恢?
--首先讀寫分離的原理鞠值,是區(qū)分主庫和從庫,一般從庫負(fù)責(zé)處理查詢的語句渗钉,主庫負(fù)責(zé)增刪改彤恶,并且在修改完數(shù)據(jù)后會同步數(shù)據(jù)到從庫。先去了解系統(tǒng)采用的讀寫分離策略是怎樣的晌姚,哪些表用到了讀寫分離粤剧,然后監(jiān)控主庫和從庫,設(shè)計案例檢查增刪查改功能是不是正確調(diào)用了主庫和從庫挥唠,另外需要注意主庫同步數(shù)據(jù)到從庫的響應(yīng)時間會不會太長抵恋。從庫還能作為備用庫,作用是當(dāng)主庫掛掉后宝磨,能立即切換到從庫工作弧关,防止數(shù)據(jù)丟失,設(shè)計用例也應(yīng)該覆蓋把主機(jī)停止服務(wù)后唤锉,能自動切換到從庫使用世囊,增刪查改功能是否都正常。
(這里需要特別注意一下窿祥,當(dāng)主從數(shù)據(jù)不一致時應(yīng)該怎么處理株憾,系統(tǒng)有沒有對應(yīng)的處理手段)
3、網(wǎng)關(guān)分發(fā)策略更新了,安排你進(jìn)行測試嗤瞎,你打算如何開展工作墙歪?
--先去了解分發(fā)策略改成了什么模式的,一般的分發(fā)策略有輪詢和權(quán)重兩種方式贝奇,還有保持會話的設(shè)置虹菲,當(dāng)設(shè)置了保持會話后,那么在session不過期的狀態(tài)下掉瞳,請求都會分發(fā)到同一個網(wǎng)關(guān)上毕源,再分發(fā)到服務(wù)器。根據(jù)更新后的分發(fā)策略陕习,設(shè)計用例進(jìn)行驗證霎褐,分發(fā)的結(jié)果是否符合預(yù)期。HTTP協(xié)議的話測試工具可以使用一般的接口調(diào)試工具fiddler衡查、postman瘩欺、soapUI等,發(fā)生請求后統(tǒng)計數(shù)據(jù)是否符合預(yù)期拌牲,還可以使用apache bench俱饿、loadrunner、JMeter等性能測試工具進(jìn)行輔助測試塌忽,提高測試效率拍埠;
4、接口加密算法升級了土居,安排你進(jìn)行測試枣购,你打算如何開展工作?
--首先擦耀,加密絕對是為了安全性考慮棉圈,先去了解加密算法具體是怎樣的,使用的算法眷蜓,是否能達(dá)到安全性方面的要求分瘾,如果加密算法比較簡單容易偽造,則向開發(fā)提出自己的看法和建議吁系。然后根據(jù)加密的算法設(shè)計案例驗證德召,需要關(guān)注當(dāng)加密的數(shù)據(jù)被修改后,服務(wù)端要能正常攔截汽纤。
5上岗、有外部接入了咱們的系統(tǒng),接口聯(lián)調(diào)交給你負(fù)責(zé)蕴坪,你打算如何開展工作肴掷?
--了解需求,明確聯(lián)調(diào)的接口是哪些,找開發(fā)拿到相關(guān)接口文檔呆瞻,如果有加密的數(shù)據(jù)滞造,需要把加密算法也了解清楚,然后根據(jù)接口文檔和對方進(jìn)行數(shù)據(jù)聯(lián)調(diào)栋烤。評估配合測試的周期,聯(lián)調(diào)的過程挺狰,特別注意當(dāng)傳參的內(nèi)容明郭,超出接口文檔定義范圍后,服務(wù)能正常攔截丰泊,返回的報文里應(yīng)當(dāng)包含傳參不合法的具體內(nèi)容薯定。另外涉及到公司安全性方面的內(nèi)容要嚴(yán)格保密,不能對外開放瞳购。
6话侄、接口使用的是多協(xié)議的,你說一下怎么做接口測試学赛?
--先了解清楚具體用到哪些協(xié)議年堆,現(xiàn)在接口調(diào)試工具也有很多選擇了,postman盏浇、fiddler变丧、soapUI、包括loadrunner和JMeter都能用來做接口調(diào)試绢掰。如果使用到的協(xié)議里痒蓬,有現(xiàn)成的工具可以使用的話會使用現(xiàn)成的工具,如果沒有滴劲,我在了解清楚以后也可以查一下用什么工具可以支撐到這個測試攻晒,如果查了資料沒有工具可支撐,則會向開發(fā)建議班挖,讓開發(fā)幫忙寫個demo支撐這個測試鲁捏,測試過程中也會優(yōu)先覆蓋測試開發(fā)demo的傳參字段到后臺的時候是不是和接口文檔對應(yīng)上的,避免demo本身存在缺陷的現(xiàn)象聪姿。工具問題解決后碴萧,多協(xié)議的接口測試就和單http協(xié)議沒區(qū)別了。
問題排查:
1末购、調(diào)試接口的時候破喻,發(fā)現(xiàn)接口返回404/405/415/500的狀態(tài)碼,說一些這些狀態(tài)碼可能是什么原因?qū)е碌模?br>
--常見的http狀態(tài)盟榴,404是URL這個地址不存在曹质,極少數(shù)情況看下是這個URL地址需要帶特殊的參數(shù)才能訪問否則返回404的狀態(tài);405是請求的method不對,如post和get寫反了羽德;415則是接口不支持的媒體類型几莽,一般是content-type不正確導(dǎo)致;500屬于服務(wù)器內(nèi)部處理錯誤返回的宅静,可能是服務(wù)端本身有問題章蚣,但很多時候都是由于自己在調(diào)試接口的時候,傳參的body沒有符合接口文檔導(dǎo)致的處理出錯姨夹,是需要重點關(guān)注的錯誤纤垂。
2、服務(wù)器使用了集群磷账,發(fā)現(xiàn)在測試過程中峭沦,訪問一些頁面偶爾會返回404,你會怎么定位404是什么原因造成的逃糟?
--404吼鱼,幾乎都是資源找不到導(dǎo)致的,因為使用了集群绰咽,偶爾只是偶爾返回菇肃,說明大部分是能請求到資源的,定位可以直接去檢查每臺應(yīng)用服務(wù)器取募,檢查所有服務(wù)器所有的包是不是一樣的巷送。如果發(fā)現(xiàn)某個應(yīng)用服務(wù)器的包不一樣,則停止其它應(yīng)用矛辕,只保留一臺應(yīng)用服務(wù)器笑跛,確定這個包有問題。
3聊品、有顧客投訴飞蹂,說公司的H5頁面上,看到了一些外部的貸款的廣告翻屈。但是我們技術(shù)部的同事陈哑,都排查了頁面說沒有投放過外部廣告,而且公司內(nèi)部人員使用過程中也沒有看到過外部廣告伸眶,你認(rèn)為顧客看到廣告是什么原因造成的惊窖?
--從現(xiàn)象看,可能是DNS劫持厘贼,也可能是http劫持界酒,還有可能是公司頁面接入了一些統(tǒng)計服務(wù),請求統(tǒng)計服務(wù)器應(yīng)答的時候嵌入了廣告嘴秸。一方便毁欣,讓運營人員和客服向顧客解釋庇谆,這些廣告都不是我們公司投放的,請不要點擊凭疮,這些廣告可能是由于ta使用的網(wǎng)絡(luò)服務(wù)劫持被注入了廣告導(dǎo)致饭耳,我們公司的技術(shù)部門已經(jīng)在處理了。然后盡快定位問題执解,使用公司外部網(wǎng)絡(luò)訪問寞肖,看能否重現(xiàn),抓包檢查頁面的廣告具體內(nèi)容是什么衰腌,根據(jù)經(jīng)驗逝淹,DNS劫持和http劫持,都可以通過將協(xié)議升級為https的方式杜絕桶唐。
加分題:
1、公司是做電商的茉兰,顧客訪問量越來越大尤泽,顧客訪問頁面的響應(yīng)時間越來越長,目前定位到原因是由于顧客訪問量大的時候规脸,頁面上的很多圖片坯约、JS、CSS等靜態(tài)內(nèi)容占用帶寬大莫鸭,主要瓶頸在服務(wù)器帶寬上面闹丐,你有什么優(yōu)化的建議?
--因為這些都屬于靜態(tài)資源被因,可以考慮緩存和壓縮機(jī)制卿拴,當(dāng)客戶端已緩存的內(nèi)容,在向服務(wù)器發(fā)送請求的時候梨与,服務(wù)器能判斷客戶端的資源沒有更新堕花,可以繼續(xù)讀取本地的內(nèi)容(返回304),當(dāng)本地的資源與服務(wù)器不一致時粥鞋,才從服務(wù)器中拉取新資源覆蓋本地缘挽,常見的處理方式是增加時間戳判斷資源是否過期;另外訪問量確實大的話呻粹,還可以考慮使用CDN服務(wù)壕曼,但是需要花費金錢增加運營開銷,看實際情況是否需要使用等浊。
2腮郊、你在測試過程中,發(fā)現(xiàn)公司的登錄接口筹燕,傳輸?shù)氖敲艽a明文伴榔,你會怎么建議公司提高安全性方面的內(nèi)容纹蝴;
--我會根據(jù)不同的系統(tǒng)不同的建議。如果是OA這種公司內(nèi)部人員使用的東西踪少,我覺得直接使用MD5對密碼進(jìn)行一次加密就足夠了塘安。如果是給顧客外部人員使用的,我會建議使用再增加一些混合加密算法援奢,如MD5(timestamp+參數(shù)+密鑰)兼犯,如果是涉及金融系統(tǒng),那么對數(shù)據(jù)安全性要求會更高集漾,除了混合加密切黔,還需要對傳參的數(shù)據(jù)進(jìn)行嚴(yán)格保護(hù),我會建議將傳參的整個body進(jìn)行加密具篇,如先進(jìn)行urlencode編碼纬霞,再進(jìn)行base64,然后再使用AES驱显、MD5混合加密方式完成诗芜,另外還建議使用更安全的https協(xié)議。在設(shè)置賬號密碼埃疫、支付位密碼的接口伏恐,也需要增加密碼復(fù)雜程度增加安全,如登錄密碼要求至少含有英文+數(shù)字栓霜,長度必須設(shè)置8位以上翠桦,涉及到資金的支付密碼還必須包含英文大小寫和數(shù)字,否則不允許設(shè)置胳蛮。另外防止公司數(shù)據(jù)庫泄密造成用戶密碼泄露销凑,保存的數(shù)據(jù)庫的密碼也應(yīng)該通過加密后存入到數(shù)據(jù)庫,生產(chǎn)環(huán)境數(shù)據(jù)庫只允許指定人訪問密碼表仅炊,測試環(huán)境的數(shù)據(jù)庫密碼全部脫敏處理闻鉴,降低泄密的風(fēng)險。
3茂洒、現(xiàn)在測試部有20人孟岛,目前全部都是功能測試,身為測試主管的你督勺,發(fā)現(xiàn)測試部有80%的資源是用在回歸測試上渠羞,只有20%的工時用在測試新功能上面,你打算怎么優(yōu)化測試部的工作智哀。
--其實這個是大多數(shù)項目的現(xiàn)狀次询,80%的資源在回歸功能測試上,只有20%資源測試新功能瓷叫。首先是人員的合理安排屯吊,保證現(xiàn)有任務(wù)能滿足的前提下送巡,評估能否引入自動化測試,畢竟20人的測試團(tuán)隊已經(jīng)不是小部門了盒卸,然后再根據(jù)項目特點骗爆,決定引入的自動化測試工具和確定框架。在引入方面蔽介,我會優(yōu)先考慮從團(tuán)隊里抽有自動化測試經(jīng)驗的人來搭建環(huán)境摘投,沒有則招聘專業(yè)的自動化測試人員來擔(dān)任負(fù)責(zé)人,環(huán)境能跑起來以后虹蓄,再通過點帶面的方式犀呼,將工具在測試組里培訓(xùn)開展,提升測試部的技能和辦公效率薇组。如果招聘不到的話外臂,我認(rèn)為身為測試主管,有必要優(yōu)化測試人員的合理分配律胀,并且自身也有必要去了解一下新技術(shù)宋光,給測試部成員一個學(xué)習(xí)分享晉升的平臺,能讓測試部更好地為公司提供質(zhì)量保障累铅。
![NLVV8QM3]3NZ)U8EB9S3@C1.jpg](http://upload-images.jianshu.io/upload_images/2228269-62e31c4e7a7d6814.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![WD6FM4R_8GPQ(HCAX7RS)W.jpg
![0B8E3R$81A{%(D%I@%D0~Q.jpg