? ? ? ?我一開(kāi)始接觸測(cè)試工作的時(shí)候掺出,測(cè)試的產(chǎn)品是一個(gè)地圖導(dǎo)航產(chǎn)品看杭。當(dāng)時(shí)主要是執(zhí)行別人寫(xiě)的測(cè)試用例,我測(cè)試的主要是HMI掉冶,地圖顯示以及導(dǎo)航提醒這一塊的功能,剛開(kāi)始執(zhí)行用例的時(shí)候只知道按照用例執(zhí)行脐雪,大部分用例都可以直接執(zhí)行厌小,但是有些用例看起來(lái)我就不知道怎么去執(zhí)行,比如規(guī)劃一條帶有環(huán)島的路線战秋,然后導(dǎo)航召锈,聽(tīng)取進(jìn)環(huán)島以及出環(huán)島的語(yǔ)音提醒。規(guī)劃一條線路很簡(jiǎn)單获询,可以我在辦公室,如果模擬導(dǎo)航呢拐袜?完全是一頭霧水吉嚣,當(dāng)時(shí)詢問(wèn)我的導(dǎo)師,我的導(dǎo)師教我使用了一種工具運(yùn)行一個(gè)腳本就可以執(zhí)行該用例蹬铺,當(dāng)時(shí)還質(zhì)疑這種測(cè)試方法真的靠譜嗎尝哆?測(cè)試結(jié)果可靠嗎?當(dāng)然在后面的實(shí)習(xí)中甜攀,慢慢也了解了測(cè)試的產(chǎn)品秋泄,也了解了那個(gè)工具的原理后,我漸漸的也接受了這一種測(cè)試的方法规阀。
? ? ? 其實(shí)很多時(shí)候恒序,特別是新入門(mén)的測(cè)試,經(jīng)常會(huì)遇到一些現(xiàn)實(shí)中難以遇到的測(cè)試用例谁撼,比如什么弱網(wǎng)環(huán)境歧胁,連續(xù)運(yùn)行10小時(shí),游戲裝備的掉落概率等等,起色很多難以測(cè)試的場(chǎng)景主要原因是以下幾點(diǎn):
1喊巍、現(xiàn)實(shí)環(huán)境問(wèn)題屠缭,現(xiàn)實(shí)中極少或者很難遇到的場(chǎng)景
2、人力問(wèn)題崭参,測(cè)試場(chǎng)景或許涉及上萬(wàn)人的測(cè)試場(chǎng)景
3呵曹、時(shí)間問(wèn)題,時(shí)間這東西人還是很難去把握的
? ? ? 是不是遇到一些不容易測(cè)試的場(chǎng)景何暮,那么就放棄這些場(chǎng)景的測(cè)試呢奄喂?當(dāng)然不是,既然測(cè)試時(shí)考慮到了這些場(chǎng)景郭卫,那么這些就有必要進(jìn)行測(cè)試砍聊。那么我們需要做的當(dāng)然就是解決這些問(wèn)題,通過(guò)一些現(xiàn)有的工具或者開(kāi)發(fā)人員的協(xié)助贰军,其實(shí)沒(méi)有什么測(cè)試場(chǎng)景是無(wú)法測(cè)試的玻蝌,現(xiàn)在我來(lái)說(shuō)說(shuō)我的一些思路吧。如果我遇到這些難以測(cè)試的場(chǎng)景我會(huì)如何做词疼。
步驟1俯树、明確我要測(cè)試的對(duì)象
步驟2、將測(cè)試對(duì)象進(jìn)行拆分
步驟3贰盗、針對(duì)拆分后的點(diǎn)逐個(gè)測(cè)試
? ? ? ?舉個(gè)例子许饿,如果遇到一個(gè)弱網(wǎng)環(huán)境的測(cè)試用例,那么我們就可以先來(lái)分析我們的測(cè)試對(duì)象舵盈。既然要測(cè)試弱網(wǎng)環(huán)境陋率,比如是需要測(cè)試一些網(wǎng)絡(luò)相關(guān)的請(qǐng)求,不可能連網(wǎng)絡(luò)請(qǐng)求都沒(méi)有就要我測(cè)試弱網(wǎng)環(huán)境秽晚。既然有網(wǎng)絡(luò)請(qǐng)求瓦糟,就可以明確我們需要測(cè)試的網(wǎng)絡(luò)請(qǐng)求的API有哪些。如個(gè)需要測(cè)試的是APP弱網(wǎng)環(huán)境啟動(dòng)的用例赴蝇,那么啟動(dòng)時(shí)會(huì)有哪些網(wǎng)絡(luò)請(qǐng)求菩浙,這個(gè)是測(cè)試人員比如需要知道的,比如請(qǐng)求用戶登錄信息句伶,一些初始化的信息等劲蜻,有的網(wǎng)絡(luò)請(qǐng)求API可能是獨(dú)立功能的,有些可能是相關(guān)聯(lián)的考余,那么就需要所有啟動(dòng)時(shí)的API請(qǐng)求都列出來(lái)先嬉,這樣我們就可以吧這條測(cè)試用例細(xì)化成,針對(duì)每一個(gè)API超時(shí)或者丟包的測(cè)試楚堤。這么一樣通過(guò)我們平時(shí)使用的抓包工具就可以實(shí)現(xiàn)該場(chǎng)景的測(cè)試了坝初。
? ? ? ?之前我們測(cè)試時(shí)遇到這么一個(gè)功能:城市新聞tab的獲取浸剩。如果定位到一些制定的城市,服務(wù)器會(huì)返回給我們那個(gè)城市的Tab鳄袍,比如莫斯科绢要。當(dāng)然我們不可能真的去莫斯科測(cè)試。于是我們也先明確我的測(cè)試點(diǎn)拗小,需要測(cè)試的點(diǎn)是 1重罪、手機(jī)APP將位置坐標(biāo)傳給服務(wù)器,服務(wù)器返回給我城市Tab的數(shù)據(jù)哀九。2剿配、服務(wù)器返回Tab數(shù)據(jù)后客戶端能正常顯示。第一個(gè)點(diǎn)需要測(cè)試的是服務(wù)器的功能阅束,第二個(gè)點(diǎn)需要測(cè)試的是客戶端的功能呼胚。拆分后我們就可以逐個(gè)的測(cè)試,先測(cè)試第一個(gè)點(diǎn)的辦法息裸,可以修改API上傳時(shí)的坐標(biāo)參數(shù)蝇更,讓服務(wù)器強(qiáng)制返回我固定的城市數(shù)據(jù),測(cè)試第二的點(diǎn)的時(shí)候既可以使用第一個(gè)測(cè)試點(diǎn)的辦法呼盆,當(dāng)然也可以直接修改API返回的結(jié)果年扩。
是不是,很多時(shí)候吧測(cè)試的功能點(diǎn)拆分之后访圃,會(huì)找到很多合適的辦法去執(zhí)行測(cè)試厨幻,而不會(huì)一頭霧水。當(dāng)然有的時(shí)候也會(huì)遇到一些拆分后也難以實(shí)現(xiàn)的測(cè)試腿时。
? ? ? ?以前測(cè)試一個(gè)項(xiàng)目的時(shí)候况脆,有這么一個(gè)功能,小汽車(chē)TCU電源電壓監(jiān)控的一個(gè)功能批糟,當(dāng)電壓過(guò)高時(shí)會(huì)會(huì)給用戶提示漠另。當(dāng)時(shí)也把功能拆分、1電壓監(jiān)視跃赚,實(shí)時(shí)監(jiān)視電壓,2電壓到12v時(shí)會(huì)發(fā)送消息給控制臺(tái) 性湿,3控制臺(tái)轉(zhuǎn)發(fā)消息給用戶纬傲。其中2點(diǎn)和3點(diǎn)都很容易去測(cè)試,比較模擬系統(tǒng)直接發(fā)消息給控制臺(tái)肤频,測(cè)試過(guò)很多遍叹括。但是電壓監(jiān)視時(shí)調(diào)整電壓到12v這個(gè)操作很危險(xiǎn)。比如當(dāng)時(shí)測(cè)試的TCU就是一塊集成的板子宵荒,不是量產(chǎn)的汁雷,設(shè)備極少净嘀,電壓過(guò)高很容易燒電路,真的如果調(diào)到12v板子燒了就浪費(fèi)一個(gè)測(cè)試設(shè)備侠讯。那么這個(gè)時(shí)候如何測(cè)試呢挖藏?當(dāng)時(shí)我們一起討論一個(gè)方案,就是調(diào)整閾值厢漩,文檔規(guī)定12v屬于高電壓膜眠,我們覺(jué)得危險(xiǎn),我們是否可以將12v分別換成8v 9v 10v去測(cè)試溜嗜。這樣一來(lái)測(cè)試的場(chǎng)景更全面了宵膨,甚至可以保護(hù)當(dāng)前的測(cè)試設(shè)備。比較我們只需要測(cè)試電源系統(tǒng)實(shí)時(shí)監(jiān)聽(tīng)電壓的功能炸宵,并且高壓時(shí)會(huì)發(fā)送消息辟躏。針對(duì)高壓的定義也是電源系統(tǒng)的一個(gè)功能,這樣測(cè)試也必然將測(cè)試點(diǎn)覆蓋全了土全。
? ? ? ? 其實(shí)很多測(cè)試的時(shí)候捎琐,都會(huì)遇到很多問(wèn)題,并且就算我們吧我們的測(cè)試對(duì)象拆分到我們覺(jué)得無(wú)法再拆的時(shí)候涯曲,但是和開(kāi)發(fā)人員吧功能邏輯再多整理整理之后野哭,還會(huì)發(fā)現(xiàn)功能都是可以拆成很多小的測(cè)試點(diǎn)的。當(dāng)然我們不是做單元測(cè)試幻件,做的是集成測(cè)試拨黔。但是我們測(cè)試時(shí)有時(shí)也需要利用到一些單元測(cè)試的方法去幫助我們執(zhí)行一些難以執(zhí)行的測(cè)試。