1,什么是回歸測(cè)試
回歸測(cè)試是指修改了舊代碼后,重新進(jìn)行測(cè)試以確認(rèn)修改沒有引入新的錯(cuò)誤或?qū)е缕渌a產(chǎn)生錯(cuò)誤魂毁。自動(dòng)回歸測(cè)試將大幅降低系統(tǒng)測(cè)試、維護(hù)升級(jí)等階段的成本出嘹。
回歸測(cè)試作為軟件生命周期的一個(gè)組成部分席楚,在整個(gè)軟件測(cè)試過程中占有很大的工作量比重,軟件開發(fā)的各個(gè)階段都會(huì)進(jìn)行多次回歸測(cè)試
2税稼,在測(cè)試中發(fā)現(xiàn)了一個(gè)bug烦秩,但是開發(fā)經(jīng)理認(rèn)為這不是一個(gè)bug,你應(yīng)該怎樣解決郎仆?
首先只祠,將問題提交到缺陷管理庫(kù)里面進(jìn)行備案。
然后扰肌,要獲取判斷的依據(jù)和標(biāo)準(zhǔn):
根據(jù)需求說明書抛寝、產(chǎn)品說明、設(shè)計(jì)文檔等曙旭,確認(rèn)實(shí)際結(jié)果是否與計(jì)劃有不一致的地方盗舰,提供缺陷是否確認(rèn)的直接依據(jù);
如果沒有文檔依據(jù)桂躏,可以根據(jù)類似軟件的一般特性來說明是否存在不一致的地方钻趋,來確認(rèn)是否是缺陷;
根據(jù)用戶的一般使用習(xí)慣剂习,來確認(rèn)是否是缺陷蛮位;
與設(shè)計(jì)人員较沪、開發(fā)人員和客戶代表等相關(guān)人員探討,確認(rèn)是否是缺陷失仁;
合理的論述购对,向測(cè)試經(jīng)理說明自己的判斷的理由,注意客觀陶因、嚴(yán)謹(jǐn)骡苞,不參雜個(gè)人情緒。
等待測(cè)試經(jīng)理做出最終決定楷扬,如果仍然存在爭(zhēng)議解幽,可以通過公司政策所提供的渠道,向上級(jí)反映烘苹,并有上級(jí)做出決定躲株。
3,當(dāng)開發(fā)人員說不是BUG時(shí)镣衡,你如何應(yīng)付霜定?
開發(fā)人員說不是bug,有2種情況廊鸥,一是需求沒有確定望浩,所以我可以這么做,這個(gè)時(shí)候可以找來產(chǎn)品經(jīng)理進(jìn)行確認(rèn)惰说,需不需要改動(dòng)磨德,3方商量確定好后再看要不要改。二是這種情況不可能發(fā)生吆视,所以不需要修改典挑,這個(gè)時(shí)候,我可以先盡可能的說出是BUG的依據(jù)是什么啦吧?如果被用戶發(fā)現(xiàn)或出了問題您觉,會(huì)有什么不良結(jié)果?程序員可能會(huì)給你很多理由授滓,你可以對(duì)他的解釋進(jìn)行反駁琳水。如果還是不行,那我可以給這個(gè)問題提出來,跟開發(fā)經(jīng)理和測(cè)試經(jīng)理進(jìn)行確認(rèn),如果要修改就改,如果不要修改就不改褒墨。其實(shí)有些真的不是bug炫刷,我也只是建議的方式寫進(jìn)TD中,如果開發(fā)人員不修改也沒有大問題郁妈。如果確定是bug的話浑玛,一定要堅(jiān)持自己的立場(chǎng),讓問題得到最后的確認(rèn)噩咪。
4顾彰,測(cè)試流程极阅、測(cè)試的生命周期
首先,我們?cè)谡綔y(cè)試之前會(huì)有三次評(píng)審涨享,需求評(píng)審筋搏、設(shè)計(jì)評(píng)審、用例評(píng)審厕隧。
需求評(píng)審是由產(chǎn)品發(fā)起的奔脐,主要看需求是否能實(shí)現(xiàn),分析功能點(diǎn)完善需求吁讨。
在需求評(píng)審后髓迎, 我們就可以制定好測(cè)試計(jì)劃,根據(jù)功能點(diǎn)寫測(cè)試用例建丧,寫的差不多的時(shí)候排龄,參與由開發(fā)發(fā)起的設(shè)計(jì)評(píng)審,開發(fā)提開發(fā)思路看和需求有無偏差翎朱,設(shè)計(jì)中遇到的問題提出橄维,
同時(shí),我們也可以把在設(shè)計(jì)用例時(shí)遇到的問題提出來并解決拴曲。
設(shè)計(jì)評(píng)審后争舞,編寫接口測(cè)試腳本并執(zhí)行測(cè)試。
用例評(píng)審疗韵,提出用例思路兑障,完善用例,把設(shè)計(jì)用例時(shí)遇到的問題解決蕉汪。
冒煙測(cè)試,功能測(cè)試逞怨,主接口測(cè)試者疤,跑用例(有BUG提BUG,驗(yàn)證BUG)叠赦。
專項(xiàng)測(cè)試(弱網(wǎng)測(cè)試驹马、手機(jī)適配、前端耗時(shí))除秀。
UAT測(cè)試(驗(yàn)收測(cè)試糯累,由提需求的產(chǎn)品進(jìn)行驗(yàn)收測(cè)試)。
回歸測(cè)試
5册踩,測(cè)試計(jì)劃包含:
寫用例的時(shí)間泳姐、用例評(píng)審的時(shí)間、接口測(cè)試時(shí)間暂吉、冒煙測(cè)試時(shí)間胖秒、功能測(cè)試時(shí)間缎患、專項(xiàng)測(cè)試時(shí)間、回歸測(cè)試時(shí)間阎肝、產(chǎn)品發(fā)布時(shí)間
6挤渔,怎么把控測(cè)試進(jìn)度:
在需求評(píng)審后會(huì)制定測(cè)試計(jì)劃,根據(jù)測(cè)試計(jì)劃對(duì)每個(gè)階段有預(yù)估的時(shí)間风题,時(shí)間有偏差的話就調(diào)整測(cè)試計(jì)劃
7判导,測(cè)試報(bào)告:
需求文檔鏈接、設(shè)計(jì)文檔鏈接沛硅、用例文檔鏈接或附件骡楼、測(cè)試計(jì)劃、專項(xiàng)測(cè)試結(jié)果稽鞭、測(cè)試環(huán)境使用數(shù)據(jù)鸟整、測(cè)試中的問題及解決思路
8,在測(cè)試中發(fā)現(xiàn)BUG怎么處理:
首先復(fù)現(xiàn)朦蕴,看是必現(xiàn)的BUG篮条,還是偶現(xiàn)的BUG,再BUG定位吩抓,并定位截圖找出原因涉茧,然后去禪道提BUG單,并指定相關(guān)開發(fā)人員疹娶,用即時(shí)工具通知一下伴栓。
開發(fā)修改BUG后驗(yàn)證BUG是否修復(fù),通過就關(guān)閉雨饺,不通過重新打開钳垮。
9,BUG不承認(rèn)怎么處理:
證據(jù)拿出额港,發(fā)郵件并抄送領(lǐng)導(dǎo)
BUG不需要處理:
設(shè)計(jì)如此饺窿,BUG單匯總郵件告知開發(fā)人員和相關(guān)領(lǐng)導(dǎo)
BUG暫時(shí)不解決:
匯總BUG單,標(biāo)明原因移斩,再把BUG單狀態(tài)改掉(延期)
10肚医,接口自動(dòng)化框架:
我們是基于java語音做接口自動(dòng)化的,用的工具是idea向瓷,還有其他的一些基礎(chǔ)配置JDK肠套、maven、和git猖任,做自動(dòng)化要用到的框架有testNG你稚、fastjson、httpclient還有關(guān)于美化測(cè)試報(bào)告的Allure。
11入宦,怎么做接口自動(dòng)化:
首先結(jié)合接口規(guī)范和swagger將請(qǐng)求和響應(yīng)報(bào)文轉(zhuǎn)成javabean,正式寫自動(dòng)化代碼是先給請(qǐng)求的javabean設(shè)值哺徊,再將請(qǐng)求javabean轉(zhuǎn)成轉(zhuǎn)成json格式,再調(diào)用httpclient方法去發(fā)送請(qǐng)求并接受響應(yīng)乾闰,
再將響應(yīng)轉(zhuǎn)成響應(yīng)javabean后做斷言
12落追,注冊(cè),登錄的測(cè)試用例涯肩,大概有哪些轿钠?
輸入已注冊(cè)的用戶名和正確的密碼,驗(yàn)證是否登錄成功病苗;
輸入已注冊(cè)的用戶名和不正確的密碼疗垛,驗(yàn)證是否登錄失敗,并且提示信息正確硫朦;
輸入未注冊(cè)的用戶名和任意密碼贷腕,驗(yàn)證是否登錄失敗,并且提示信息正確咬展;
用戶名和密碼兩者都為空泽裳,驗(yàn)證是否登錄失敗,并且提示信息正確破婆;
用戶名和密碼兩者之一為空涮总,驗(yàn)證是否登錄失敗,并且提示信息正確祷舀;
如果登錄功能啟用了驗(yàn)證碼功能瀑梗,在用戶名和密碼正確的前提下,輸入正確的驗(yàn)證碼裳扯,驗(yàn)證是否登錄成功抛丽;
如果登錄功能啟用了驗(yàn)證碼功能,在用戶名和密碼正確的前提下嚎朽,輸入錯(cuò)誤的驗(yàn)證碼铺纽,驗(yàn)證是否登錄失敗,并且提示信息正確
用戶名和密碼是否大小寫敏感哟忍;
頁(yè)面上的密碼框是否加密顯示;
后臺(tái)系統(tǒng)創(chuàng)建的用戶第一次登錄成功時(shí)陷寝,是否提示修改密碼锅很;
忘記用戶名和忘記密碼的功能是否可用;
前端頁(yè)面是否根據(jù)設(shè)計(jì)要求限制用戶名和密碼長(zhǎng)度凤跑;
如果登錄功能需要驗(yàn)證碼爆安,點(diǎn)擊驗(yàn)證碼圖片是否可以更換驗(yàn)證碼,更換后的驗(yàn)證碼是否可用仔引;
刷新頁(yè)面是否會(huì)刷新驗(yàn)證碼扔仓;
如果驗(yàn)證碼具有時(shí)效性褐奥,需要分別驗(yàn)證時(shí)效內(nèi)和時(shí)效外驗(yàn)證碼的有效性;
用戶登錄成功但是會(huì)話超時(shí)后翘簇,繼續(xù)操作是否會(huì)重定向到用戶登錄界面撬码;
不同級(jí)別的用戶,比如管理員用戶和普通用戶版保,登錄系統(tǒng)后的權(quán)限是否正確呜笑;
頁(yè)面默認(rèn)焦點(diǎn)是否定位在用戶名的輸入框中;
快捷鍵 Tab 和 Enter 等彻犁,是否可以正常使用叫胁。
用戶密碼后臺(tái)存儲(chǔ)是否加密;
用戶密碼在網(wǎng)絡(luò)傳輸過程中是否加密汞幢;
密碼是否具有有效期驼鹅,密碼有效期到期后,是否提示需要修改密碼森篷;
不登錄的情況下输钩,在瀏覽器中直接輸入登錄后的 URL 地址,驗(yàn)證是否會(huì)重新定向到用戶登錄界面疾宏;
密碼輸入框是否不支持復(fù)制和粘貼张足;
密碼輸入框內(nèi)輸入的密碼是否都可以在頁(yè)面源碼模式下被查看;
用戶名和密碼的輸入框中分別輸入典型的“SQL 注入攻擊”字符串坎藐,驗(yàn)證系統(tǒng)的返回頁(yè)面为牍;
用戶名和密碼的輸入框中分別輸入典型的“XSS 跨站腳本攻擊”字符串,驗(yàn)證系統(tǒng)行為是否被篡改岩馍;
連續(xù)多次登錄失敗情況下碉咆,系統(tǒng)是否會(huì)阻止后續(xù)的嘗試以應(yīng)對(duì)暴力破解;
同一用戶在同一終端的多種瀏覽器上登錄蛀恩,驗(yàn)證登錄功能的互斥性是否符合設(shè)計(jì)預(yù)期疫铜;
同一用戶先后在多臺(tái)終端的瀏覽器上登錄,驗(yàn)證登錄是否具有互斥性双谆。
不同瀏覽器下壳咕,驗(yàn)證登錄頁(yè)面的顯示以及功能正確性;
相同瀏覽器的不同版本下顽馋,驗(yàn)證登錄頁(yè)面的顯示以及功能正確性谓厘;
不同移動(dòng)設(shè)備終端的不同瀏覽器下,驗(yàn)證登錄頁(yè)面的顯示以及功能正確性寸谜;
不同分辨率的界面下竟稳,驗(yàn)證登錄頁(yè)面的顯示以及功能正確性。
以下是我根據(jù)自己在測(cè)試過程中所遇到的問題及發(fā)揮了一些自己的想象所做的補(bǔ)充(主要針對(duì)APP登錄測(cè)試):
1、登錄失敗后二次登錄
(1)輸入正確的用戶名他爸,不輸入密碼聂宾,點(diǎn)擊登錄;登錄失敗后诊笤,再次輸入正確的密碼登錄并觀察登錄情況
(2)輸入正確的用戶名和錯(cuò)誤的密碼登錄失敗后系谐,再次輸入正確的密碼登錄并觀察登錄情況
(3)輸入未注冊(cè)的用戶和任意密碼登錄失敗后,再次輸入正確的用戶名和密碼盏混,觀察登錄情況
2蔚鸥、修改密碼后
(1)修改完密碼后是否重定向到登錄界面
(2)修改完密碼后,分別使用原密碼和新密碼登錄
(3)在其他終端修改密碼后许赃,本終端是否自動(dòng)下線止喷?下線后,使用原密碼能否繼續(xù)登錄混聊?
3弹谁、退出登錄
(1)退出登錄是否有記住賬號(hào)或記住密碼功能
(2)退出登錄后,再次輸入密碼登錄
4句喜、數(shù)據(jù)同步
(1)第一次登錄時(shí)预愤,數(shù)據(jù)的同步情況,如個(gè)人頭像咳胃,好友列表等
(2)本終端切換其他賬號(hào)登錄后植康,數(shù)據(jù)的同步情況,日志記錄情況展懈,如:用戶文件夾是否自動(dòng)創(chuàng)建
5销睁、賬號(hào)互踢
(1)不同頁(yè)面下被踢,如:后臺(tái)運(yùn)行時(shí)被踢存崖,進(jìn)入前臺(tái)查看反應(yīng)冻记;前臺(tái)運(yùn)行時(shí)一級(jí)、二級(jí)頁(yè)面下被踢能否提示正確并重 定向到登錄界面
(2)本終端被踢下線后點(diǎn)擊登錄能否再次登錄
6来惧、密碼錯(cuò)誤限制次數(shù)
(1)密碼輸入錯(cuò)誤是否有最大次數(shù)限制冗栗?分別測(cè)試最大值-1、最大值供搀、最大值+1時(shí)的輸錯(cuò)密碼情況
(2)超過最大次數(shù)限制后隅居,是否采取強(qiáng)制手段限制登錄或?qū)~號(hào)暫時(shí)凍結(jié)處理
(3)超過最大次數(shù)限制后羡洛,分別輸入正確的密碼和錯(cuò)誤的密碼再次登錄
7阎抒、安全性
(1)本終端用戶已登錄,在其他終端嘗試登錄本用戶賬號(hào)登錄失敗時(shí)微饥、本終端是否有賬號(hào)異常操作的安全提示
(2)輸入密碼時(shí)是否有安全鍵盤模式挡闰?點(diǎn)擊密碼輸入框是否能調(diào)起安全鍵盤?(參考各大手機(jī)銀行APP)
8、網(wǎng)絡(luò)相關(guān)
(1)無網(wǎng)絡(luò)模式下登錄摄悯,是否給出“網(wǎng)絡(luò)未連接”或“網(wǎng)絡(luò)異吃藜荆”的提示及提示是否正確
(2)第一次登錄請(qǐng)求超時(shí)后(服務(wù)器出問題,隨后恢復(fù)正常)奢驯,再次請(qǐng)求登錄能否登錄成功
(3)第一次無網(wǎng)絡(luò)情況下登錄失敗后申钩,再次連接網(wǎng)絡(luò)并登錄
(4)正在登錄過程中,遇到網(wǎng)絡(luò)切換瘪阁,如(4G切換到WiFi環(huán)境時(shí))能否正常登錄
9撒遣、其他
(1)已登錄的用戶,殺死APP進(jìn)程后管跺,再次打開APP是否依然為已登錄狀態(tài)