1. 河豚號(hào) > 生活百科 >

白盒測試與黑盒測試最主要的區(qū)別,以后再也不會(huì)搞混淆了

 

什么是黑盒測試和白盒測試?

 

什么是黑盒測試和白盒測試?

任何工程產(chǎn)品(注意是任何工程產(chǎn)品)都可以使用以下兩種方法之一進(jìn)行測試。

黑盒測試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查。

軟件的黑盒測試意味著測試要在軟件的接口處進(jìn)行。這種方法是把測試對(duì)象看做一個(gè)黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數(shù)據(jù)驅(qū)動(dòng)測試。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:

1、是否有不正確或遺漏的功能?2、在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?3、是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問錯(cuò)誤?4、性能上是否能夠滿足要求?5、是否有初始化或終止性錯(cuò)誤?

黑盒測試方法主要有等價(jià)類劃分、邊值分析、因—果圖、錯(cuò)誤推測等

軟件的白盒測試是對(duì)軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測試對(duì)象看做一個(gè)打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對(duì)程序所有邏輯路徑進(jìn)行測試。通過在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。“白盒”法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測試。“白盒”法是窮舉路徑測試。在使用這一方案時(shí),測試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測試數(shù)據(jù)。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試。白盒測試主要是想對(duì)程序模塊進(jìn)行如下檢查:

1、對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測試一遍。2、對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。3、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。4、測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。

以上事實(shí)說明,軟件測試有一個(gè)致命的缺陷,即測試的不完全、不徹底性。由于任何程序只能進(jìn)行少量(相對(duì)于窮舉的巨大數(shù)量而言)的有限的測試,在未發(fā)現(xiàn)錯(cuò)誤時(shí),不能說明程序中沒有錯(cuò)誤。

測試方案:

1:熟悉被測功能,需要從策劃的角度來了解功能需求,也同時(shí)需要以玩家的角度來思考這個(gè)功能對(duì)玩家是否有必要。2:設(shè)計(jì)測試方案的時(shí)候需要多考慮各種異常情況,例如是否存在被玩家刷獎(jiǎng)勵(lì)的情況,因?yàn)橥?guī)則上設(shè)計(jì)的漏洞才是游戲最致命的傷害。3:設(shè)計(jì)測試方案的時(shí)候是否考慮自己測試是出于黑盒測試還是其他方式,如果是灰盒測試,估計(jì)還需要跟技術(shù)上的同事了解清楚代碼的實(shí)現(xiàn),看是否有漏洞。4:如果測試的只是大系統(tǒng),需要考慮性能測試,例如當(dāng)人數(shù)達(dá)到一定程度對(duì)系統(tǒng)的影響等。設(shè)計(jì)測試方案是一條很長遠(yuǎn)的路,即使是有好多年測試經(jīng)驗(yàn)的人也在摸索,需要慢慢積累。

如何對(duì)手機(jī)游戲進(jìn)行優(yōu)化?

一般分為內(nèi)存優(yōu)化幀數(shù)優(yōu)化還有體積優(yōu)化

幀數(shù)優(yōu)化可以考慮對(duì)一個(gè)message loop中的邏輯運(yùn)算進(jìn)行優(yōu)化,比如可以考慮A*的剪枝。

使用工具對(duì)資源進(jìn)行打包,使用TexturePacker等工具把多張資源合成一張圖片。采用png壓縮工具,在打包圖片之前對(duì)每張圖片進(jìn)行壓縮,降低圖片質(zhì)量。針對(duì)不同的平臺(tái)使用特定的壓縮格式的圖片如果項(xiàng)目中幀序列占的比較多,那么可以采用降幀的方式來優(yōu)化??s放圖片,將原來圖片縮小為原來的70% ~ %80,再對(duì)圖像進(jìn)行放大采用編輯器,將大圖轉(zhuǎn)化為拼接,那么就可以利用地圖編輯器、動(dòng)作編輯器等從而減少體積,降低內(nèi)存的使用

如何在對(duì)游戲的“手感”進(jìn)行改進(jìn):

游戲手感一般指的是打擊感,那么我就在打擊到一個(gè)游戲?qū)ο髸r(shí),游戲?qū)ο笠a(chǎn)生擊退的效果,產(chǎn)生該對(duì)象被打擊的感覺。時(shí)間控制要恰當(dāng),要讓某個(gè)對(duì)象(比如火球,拳頭)打擊到另一個(gè)游戲?qū)ο蟮臅r(shí)候,才產(chǎn)生擊退效果,這就需要進(jìn)行使用消息機(jī)制和回調(diào)來解決。

如何在數(shù)據(jù)庫中存儲(chǔ)一個(gè)人的所有裝備?

建立一個(gè)人物ID和裝備ID的關(guān)系表。

將人物的所有裝備的id序列化為一個(gè)JSON字符串存儲(chǔ)為人物的一個(gè)字段。

這兩個(gè)最大的區(qū)別是在修改裝備時(shí),第一個(gè)只會(huì)影響一條記錄,當(dāng)時(shí)第二個(gè)會(huì)影響所有裝備,一旦出現(xiàn)bug還讓玩家損失所有裝備。兩者各有利弊,根據(jù)使用場景自己權(quán)衡。

網(wǎng)易游戲的產(chǎn)品

PC端

夢幻西游2 天下3 精靈傳說 新大話西游2

代理

魔獸世界 爐石傳說

手游

夢幻西游 大話西游

slogan

游戲它不只是娛樂,你得到的也遠(yuǎn)不止快樂

手游排行榜

我想說的是,網(wǎng)易游戲取得這樣的成績,可以說是必然,也可以說是偶然。

必然的是因?yàn)檫@兩款游戲強(qiáng)大的群眾基礎(chǔ)和運(yùn)營超過十年的豐富經(jīng)驗(yàn)。大話西游是超過夢幻西游更久的游戲。反正我小學(xué)的時(shí)候已經(jīng)有人在玩這個(gè)游戲了。夢幻西游呢,國產(chǎn)網(wǎng)游的帶頭羊,鼎盛時(shí)期各項(xiàng)數(shù)據(jù)一直刷榜首,在線游戲玩家?guī)装偃f之多。雖然現(xiàn)在這兩個(gè)游戲因?yàn)楦鞣N原因已經(jīng)處于蕭條的衰落期,都在走下坡路,但是它們都是從02、03年開始就活躍在網(wǎng)游玩家群體,因?yàn)槭鼙姀V、玩家認(rèn)可度高、技術(shù)比較成熟等,是國內(nèi)網(wǎng)游界的標(biāo)志性代表作,在跨度近十年的網(wǎng)游飛速發(fā)展的時(shí)期里作為旗艦,影響了很大批次的國內(nèi)網(wǎng)游的制作和成長,更加可以說是影響了80、90兩代熱衷于網(wǎng)游的人的一段青春。直到現(xiàn)在,要是聊起網(wǎng)游,還是可以在人群里聽到“嗌,我也玩了很久夢幻大話哎!”擁有超過十年的游戲運(yùn)營時(shí)間可以用來攢經(jīng)驗(yàn),這兩個(gè)游戲的運(yùn)行團(tuán)隊(duì)從中可以堆積起一個(gè)龐大的數(shù)據(jù)庫和堅(jiān)實(shí)的運(yùn)營平臺(tái),他們深知玩家需要的是什么,市場需要的是什么,游戲需要的是什么,熟悉游戲運(yùn)營的每個(gè)環(huán)節(jié),能準(zhǔn)確根據(jù)各種反饋數(shù)據(jù)來調(diào)整更新的內(nèi)容。只要把手游市場的模式弄清楚,后期宣傳好的話,這兩個(gè)游戲不火都對(duì)不起我們十年青春。以上是必然。

偶然呢?我個(gè)人認(rèn)為,手游是否能取得成功,關(guān)鍵在于他們吸引新玩家能做到什么程度。其實(shí),端游的衰敗,很大程度是因?yàn)閷?duì)新玩家的吸引力變小了,可以說是游戲老化了。因?yàn)槲覜]玩過手游,我無法對(duì)手游本身作評(píng)價(jià),我說說我看到的。我身邊幾乎玩過端游的夢幻老玩家都多多少少玩了一段時(shí)間的手游。評(píng)價(jià)是比較好的,對(duì)端游鼎盛時(shí)期的還原程度比較高,畫面比較精細(xì)趣致,玩起來比較流暢。其實(shí)呢,在這個(gè)版本推出之前,夢幻就出過一個(gè)版本的手游,但是它很大程度是為端游服務(wù)的,手游獲得的物品和獎(jiǎng)勵(lì)可以通過端游兌現(xiàn),而且可以用于擴(kuò)大端游收益,基本上是沒有非端游玩家參與進(jìn)來的。但是,應(yīng)該是從做這個(gè)舊手游,網(wǎng)易的手游研發(fā)團(tuán)隊(duì)得到了很大的提升,摸清楚了手游的運(yùn)轉(zhuǎn)和構(gòu)建,為現(xiàn)在新版本的推出打下良好的基礎(chǔ)。在我所知道的沒接觸過端游的手游版玩家中,有為了泡妞的男生(說明手游的玩家交流系統(tǒng)做的不錯(cuò),玩家互動(dòng)一直是夢幻做得好的地方),有覺得可愛才下載的萌妹子(畫面做的加分也是很重要的),有被朋友拉近坑的新人(還是老玩家效應(yīng)的延伸啊)。。?;蛟S,手游發(fā)展的勢頭這樣延續(xù)下去,即使端游失敗了,夢幻會(huì)以另外一種形式繼續(xù)存在于我們的世界中吧。離開夢幻是很多人很無奈的事情,但是在我看來也算是一種成長。能看到它換了一副軀殼,還是跟我一起成長著,還是很欣慰和高興的。

冒煙測試和回歸測試的區(qū)別:

冒煙測試是自由測試的一種。冒煙測試(smoketest)在測試中發(fā)現(xiàn)問題,找到了一個(gè)Bug,然后開發(fā)人員會(huì)來修復(fù)這個(gè)Bug。這時(shí)想知道這次修復(fù)是否真的解決了程序的Bug,或者是否會(huì)對(duì)其它模塊造成影響,就需要針對(duì)此問題進(jìn)行專門測試,這個(gè)過程就被稱為SmokeTest。在很多情況下,做SmokeTest是開發(fā)人員在試圖解決一個(gè)問題的時(shí)候,造成了其它功能模塊一系列的連鎖反應(yīng),原因可能是只集中考慮了一開始的那個(gè)問題,而忽略其它的問題,這就可能引起了新的Bug。SmokeTest優(yōu)點(diǎn)是節(jié)省測試時(shí)間,防止build失敗。缺點(diǎn)是覆蓋率還是比較低。 回歸測試是指修改了舊代碼后,重新進(jìn)行測試以確認(rèn)修改沒有引入新的錯(cuò)誤或?qū)е缕渌a產(chǎn)生錯(cuò)誤。自動(dòng)回歸測試將大幅降低系統(tǒng)測試、維護(hù)升級(jí)等階段的成本?;貧w測試作為軟件生命周期的一個(gè)組成部分,在整個(gè)軟件測試過程中占有很大的工作量比重,軟件開發(fā)的各個(gè)階段都會(huì)進(jìn)行多次回歸測試。在漸進(jìn)和快速迭代開發(fā)中,新版本的連續(xù)發(fā)布使回歸測試進(jìn)行的更加頻繁,而在極端編程方法中,更是要求每天都進(jìn)行若干次回歸測試。因此,通過選擇正確的回歸測試策略來改進(jìn)回歸測試的效率和有效性是非常有意義的。

本文由網(wǎng)上采集發(fā)布,不代表我們立場,轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zltfw.cn/shbk/38205.html

聯(lián)系我們

在線咨詢:點(diǎn)擊這里給我發(fā)消息

微信號(hào):15705946153

工作日:9:30-18:30,節(jié)假日休息