學(xué)習(xí)啦 > 知識(shí)大全 > 方法百科 > 讀書(shū)技巧 > 軟件測(cè)試的學(xué)習(xí)方法

軟件測(cè)試的學(xué)習(xí)方法

時(shí)間: 朝燕820 分享

軟件測(cè)試的學(xué)習(xí)方法

  軟件測(cè)試就是利用測(cè)試工具按照測(cè)試方案和流程對(duì)產(chǎn)品進(jìn)行功能和性能測(cè)試,那么如何學(xué)習(xí)軟件測(cè)試呢?別走開(kāi),接下來(lái),學(xué)習(xí)啦小編就和大家分享軟件測(cè)試的學(xué)習(xí)方法,希望對(duì)大家有幫助!

  軟件測(cè)試的學(xué)習(xí)方法:

  一、抓包工具各自的特點(diǎn):

  1、httpwatch

  特點(diǎn):嵌入瀏覽器的抓包工具,結(jié)合瀏覽器使用界面清晰,方便易用,且提供自動(dòng)化api,打開(kāi)--錄制--保存結(jié)果文件;但只能查看抓取的信息,不能自定義修改;

  2、fiddler

  特點(diǎn):客戶端抓包工具,通過(guò)代理方式獲取瀏覽器信息,且支持自定義請(qǐng)求(composer),自定義服務(wù)器返回等;但界面不太直觀,且只能抓取http協(xié)議;

  3、firebug

  特點(diǎn):fixfox自帶的插件,與httpwatch功能非常相似,且支持控制跟蹤審查元素,可以修改控件名字等,功能十分強(qiáng)大,抓包只是firebug其中很小一個(gè)功能;

  4、科來(lái)

  特點(diǎn):此工具直接監(jiān)視網(wǎng)卡,既能抓還能修改,抓取內(nèi)容更多更詳細(xì),不僅僅支持http協(xié)議,還支持tcp/udp/ftp/pop3等協(xié)議,適合對(duì)協(xié)議要求相對(duì)較高的抓包活動(dòng);

  二、闡述操作系統(tǒng)中的系統(tǒng)調(diào)用、中斷、上下文切換這三個(gè)概念的含義

  系統(tǒng)調(diào)用:

  在操作系統(tǒng)上如果想要運(yùn)行你的程序,就得靠自己從面向底層硬件的代碼編起,但這件事太枯燥,且不是每個(gè)人都能做到,這樣操作系統(tǒng)就替我們做這些事情,把硬件封裝,統(tǒng)一提供一套接口,這些接口就是系統(tǒng)調(diào)用;

  系統(tǒng)調(diào)用把應(yīng)用程序的請(qǐng)求傳給內(nèi)核,當(dāng)操作系統(tǒng)接收到系統(tǒng)調(diào)用請(qǐng)求后,會(huì)讓處理器進(jìn)入內(nèi)核模式,調(diào)用相應(yīng)的內(nèi)核函數(shù)完成所需的處理,當(dāng)處理完成后,操作系統(tǒng)會(huì)讓處理器返回用戶模式,來(lái)執(zhí)行用戶代碼,提高了我們寫(xiě)程序的效率,所以系統(tǒng)調(diào)用此時(shí)充當(dāng)?shù)慕巧褪且粋€(gè)接口,外面由用戶程序調(diào)用,內(nèi)部連接內(nèi)核的其他部分,共同實(shí)現(xiàn)用戶的請(qǐng)求;

  上下文:

  上下文簡(jiǎn)單來(lái)說(shuō)就是一個(gè)環(huán)境,相對(duì)于進(jìn)程而言,就是進(jìn)程執(zhí)行時(shí)的環(huán)境,具體來(lái)說(shuō)就是各個(gè)變量和數(shù)據(jù),包括進(jìn)程打開(kāi)的文件,內(nèi)存信息等;當(dāng)發(fā)生進(jìn)程調(diào)度時(shí),導(dǎo)致進(jìn)程切換時(shí),進(jìn)程的運(yùn)行環(huán)境也應(yīng)及時(shí)切換,CPU切換到另外一個(gè)進(jìn)程需要保存當(dāng)前進(jìn)程的狀態(tài)并恢復(fù)另一個(gè)進(jìn)程的狀態(tài):當(dāng)前運(yùn)行任務(wù)轉(zhuǎn)為就緒狀態(tài),另一個(gè)被選定的就緒任務(wù)成為當(dāng)前任務(wù),上下文切換包括保存當(dāng)前任務(wù)的運(yùn)行環(huán)境,恢復(fù)將要運(yùn)行任務(wù)的運(yùn)行環(huán)境;上下文切換就是這樣一個(gè)過(guò)程,他允許CPU記錄并恢復(fù)各種正在運(yùn)行程序的狀態(tài),使它能夠完成切換操作;

  通常在三種情況下可能會(huì)發(fā)生上下文切換:中斷處理,多任務(wù)處理,用戶態(tài)切換;

  中斷:

  中斷是為了設(shè)備與CPU之間的通信,是實(shí)現(xiàn)多道程序設(shè)計(jì)的必要條件,是CPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件作出一種反應(yīng),CPU暫停正在執(zhí)行的程序,保留現(xiàn)場(chǎng)后自動(dòng)轉(zhuǎn)去處理相應(yīng)的事件,處理完該事件后,到適當(dāng)?shù)臅r(shí)候返回?cái)帱c(diǎn),繼續(xù)完成被打斷的程序;例如:讀盤(pán),讀一半,盤(pán)有問(wèn)題,無(wú)法讀了,產(chǎn)生中斷,解決后,程序恢復(fù),軟件錯(cuò)誤也會(huì)中斷;特點(diǎn):中斷是隨機(jī)的,可恢復(fù)的,自動(dòng)進(jìn)行處理的;

  三、操作系統(tǒng)中的進(jìn)程的概念和進(jìn)程都有哪些狀態(tài)

  進(jìn)程是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ),是一次程序的執(zhí)行,是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)發(fā)生的活動(dòng);程序是一個(gè)沒(méi)有生命的實(shí)體,只有處理器賦予程序生命時(shí),它才能成為一個(gè)活動(dòng)的實(shí)體,我們稱其為進(jìn)程。

  進(jìn)程狀態(tài):

  就緒狀態(tài):進(jìn)程已獲取處理器外的所需資源,等待分配處理器資源,只要分配了處理器進(jìn)程就可執(zhí)行。

  運(yùn)行狀態(tài):進(jìn)程占用處理器資源;

  阻塞狀態(tài):由于進(jìn)程等待某種條件(如I/O操作或進(jìn)程同步),在條件滿足之前無(wú)法繼續(xù)執(zhí)行

  四、 DNS根服務(wù)器的概念是什么?

  當(dāng)客戶端通過(guò)瀏覽器訪問(wèn)網(wǎng)站時(shí)候,輸入的是域名需要把域名轉(zhuǎn)化為網(wǎng)絡(luò)識(shí)別的ip地址(即DNS解析),首先會(huì)查找本地域名緩存,如果不存在,向上一級(jí)當(dāng)?shù)豂SP的DNS查找,比如你用的聯(lián)通網(wǎng)絡(luò),會(huì)去查找聯(lián)通的本地緩存,如果仍然查不到,繼續(xù)上一級(jí),最終到根目錄服務(wù)器,其實(shí)根目錄服務(wù)器并沒(méi)有具體的域名對(duì)應(yīng)信息,但他可以告訴你去哪臺(tái)服務(wù)器去找,直到最終找到為止;

  至于全球的13組根域名服務(wù)器,1個(gè)為主根服務(wù)器,放置在美國(guó)。其余12個(gè)均為輔根服務(wù)器,其中9個(gè)放置在美國(guó),歐洲2個(gè),位于英國(guó)和瑞典,亞洲1個(gè),位于日本,由互聯(lián)網(wǎng)域名與號(hào)碼分配機(jī)構(gòu)ICANN統(tǒng)一管理。

  五、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)一般分幾層,具體叫什么?

  分三層,接入層,匯聚層,核心層;

  六、性能測(cè)試的概念是什么?負(fù)載測(cè)試、壓力測(cè)試、配置測(cè)試呢?

  性能測(cè)試:在一定的負(fù)載情況下,系統(tǒng)的相應(yīng)時(shí)間等特性是否滿足特定的性能需求;

  負(fù)載測(cè)試:通過(guò)測(cè)試系統(tǒng)在資源超負(fù)荷情況下的表現(xiàn),以發(fā)現(xiàn)設(shè)計(jì)上的錯(cuò)誤或驗(yàn)證系統(tǒng)的負(fù)載能力;Linux系統(tǒng)中通過(guò)top命令查看,load average:第一分鐘內(nèi)平均負(fù)載(待處理的線程數(shù)),第五分鐘內(nèi)平均負(fù)載,第十五分鐘內(nèi)平均負(fù)載;業(yè)界定義值超過(guò)cpu核數(shù)的4倍,這個(gè)時(shí)候負(fù)載就重了;

  壓力測(cè)試:指被測(cè)系統(tǒng)在一定資源(CPU/內(nèi)存)飽和的情況下,系統(tǒng)的運(yùn)行情況;與負(fù)載測(cè)試的區(qū)別是沒(méi)有超負(fù)荷,在性能允許的范圍內(nèi)測(cè)試;

  可靠性測(cè)試:被測(cè)系統(tǒng)在一定負(fù)載情況下長(zhǎng)時(shí)間運(yùn)行下運(yùn)行情況;

  配置測(cè)試:通過(guò)調(diào)整被測(cè)試系統(tǒng)軟硬件的不同配置,找到一個(gè)最合適被測(cè)系統(tǒng)的配置或者獲得被測(cè)系統(tǒng)在不同配置下的運(yùn)行情況;比如配置線程數(shù),由于系統(tǒng)本身的特性,比如上下文切換影響性能的考慮,并不是越多越好,而多少合適,是通過(guò)配置測(cè)試實(shí)驗(yàn)出哪個(gè)配置性能最好;

  七、 用自己的話描述TPS、PV、UV的基本含義

  TPS:每秒事務(wù)數(shù),單位時(shí)間內(nèi)被系統(tǒng)處理的事務(wù)數(shù)量,這里的事務(wù)只指一個(gè)動(dòng)作;

  PV:訪問(wèn)一個(gè)URL產(chǎn)生一個(gè)PV,不管此用戶是同一個(gè)還是多個(gè),只要點(diǎn)擊了URL就有一個(gè)PV,即頁(yè)面訪問(wèn)量;

  UV:獨(dú)立用戶訪問(wèn)量,單個(gè)用戶訪問(wèn)站點(diǎn)的所有頁(yè)面,此用戶可以產(chǎn)生多個(gè)PV,但算一個(gè)UV;日志分析中一般通過(guò)user-agent和IP來(lái)判斷是否是一個(gè)用戶;

  八、并發(fā)用戶數(shù)和在線用戶數(shù)的區(qū)別是什么?

  并發(fā)用戶數(shù):多個(gè)用戶同時(shí)操作,會(huì)對(duì)系統(tǒng)造成負(fù)載;

  在線用戶數(shù):系統(tǒng)在線人數(shù),包括操作的人數(shù)和只登陸不操作(對(duì)系統(tǒng)不會(huì)造成負(fù)載)的用戶;

  九、用自己的話描述選擇性能測(cè)試工具需要關(guān)注哪些方面

  1、從成本上考慮,包括工具成本和學(xué)習(xí)成本,工具成本是工具是否開(kāi)源,因?yàn)橘?gòu)買(mǎi)工具也是很花錢(qián)的,不是每個(gè)公司都可以支撐得了。學(xué)習(xí)成本就是在職人員是否具備使用這個(gè)工具的能力,相應(yīng)的語(yǔ)言編寫(xiě)能力等,如果沒(méi)有需要花費(fèi)多久時(shí)間去學(xué)習(xí)等等,這都需要成本的;選擇成本要在可接受范圍內(nèi)去選擇工具;

  2、通信協(xié)議的考慮,性能測(cè)試工具都是基于協(xié)議的,如果被測(cè)系統(tǒng)是基于標(biāo)準(zhǔn)的TCP/IP協(xié)議,那可以有很多工具選擇,如SMTP/FTP/HTTP等可以選擇相應(yīng)的工具;如果被測(cè)系統(tǒng)是基于自有協(xié)議的,性能測(cè)試工具可能不支持,那就需要自己想辦法去實(shí)現(xiàn);

  3、生命力,選擇性能測(cè)試工具需要考慮他的活力,軟件更新周期,市場(chǎng)占有率等,就是發(fā)展前途如何,可以持久使用,避免不必要的損失;

  4、跨平臺(tái) ,類(lèi)似于JAVA的跨平臺(tái)能力,適合更多平臺(tái)的客戶;

  軟件測(cè)試的原則:

  1.軟件開(kāi)發(fā)人員即程序員應(yīng)當(dāng)避免測(cè)試自己的程序不管是程序員還是開(kāi)發(fā)小組都應(yīng)當(dāng)避免測(cè)試自己的程序或者本組開(kāi)發(fā)的功能模塊。若條件允許,應(yīng)當(dāng)由獨(dú)立于開(kāi)發(fā)組和客戶的第三方測(cè)試組或測(cè)試機(jī)構(gòu)來(lái)進(jìn)行軟件測(cè)試。但這并不是說(shuō)程序員不能測(cè)試自己的程序,而且更加鼓勵(lì)程序員進(jìn)行調(diào)試,因?yàn)闇y(cè)試由別人來(lái)進(jìn)行會(huì)更加有效、客觀,并且容易成功,而允許程序員自己調(diào)試也會(huì)更加有效和針對(duì)性?! ?/p>

  2. 應(yīng)盡早地和不斷地進(jìn)行軟件測(cè)試

  應(yīng)當(dāng)把軟件測(cè)試貫穿到整個(gè)軟件開(kāi)發(fā)的過(guò)程中,而不應(yīng)該把軟件測(cè)試看作是其過(guò)程中的一個(gè)獨(dú)立階段。因?yàn)樵谲浖_(kāi)發(fā)的每一環(huán)節(jié)都有可能產(chǎn)生意想不到的問(wèn)題,其影響因素有很多,比如軟件本身的抽象性和復(fù)雜性、軟件所涉及問(wèn)題的復(fù)雜性、軟件開(kāi)發(fā)各個(gè)階段工作的多樣性,以及各層次工作人員的配合關(guān)系等。所以要堅(jiān)持軟件開(kāi)發(fā)各階段的技術(shù)評(píng)審,把錯(cuò)誤克服在早期,從而減少成本,提高軟件質(zhì)量。

  3.對(duì)測(cè)試用例要有正確的態(tài)度:第一,測(cè)試用例應(yīng)當(dāng)由測(cè)試輸入數(shù)據(jù)和預(yù)期輸出結(jié)果這兩部分組成;第二,在設(shè)計(jì)測(cè)試用例時(shí),不僅要考慮合理的輸入條件,更要注意不合理的輸入條件。因?yàn)檐浖度雽?shí)際運(yùn)行中,往往不遵守正常的使用方法,卻進(jìn)行了一些甚至大量的意外輸入導(dǎo)致軟件一時(shí)半時(shí)不能做出適當(dāng)?shù)姆磻?yīng),就很容易產(chǎn)生一系列的問(wèn)題,輕則輸出錯(cuò)誤的結(jié)果,重則癱瘓失效!因此常用一些不合理的輸入條件來(lái)發(fā)現(xiàn)更多的鮮為人知的軟件缺陷。

  4.人以群分,物以類(lèi)聚,軟件測(cè)試也不例外,一定要充分注意軟件測(cè)試中的群集現(xiàn)象,也可以認(rèn)為是“80-20原則”。不要以為發(fā)現(xiàn)幾個(gè)錯(cuò)誤并且解決這些問(wèn)題之后,就不需要測(cè)試了。反而這里是錯(cuò)誤群集的地方,對(duì)這段程序要重點(diǎn)測(cè)試,以提高測(cè)試投資的效益。

  5.嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性,以避免發(fā)生疏漏或者重復(fù)無(wú)效的工作。

  6.應(yīng)當(dāng)對(duì)每一個(gè)測(cè)試結(jié)果進(jìn)行全面檢查。一定要全面地、仔細(xì)地檢查測(cè)試結(jié)果,但常常被人們忽略,導(dǎo)致許多錯(cuò)誤被遺漏。

  7.妥善保存測(cè)試用例、測(cè)試計(jì)劃、測(cè)試報(bào)告和最終分析報(bào)告,以備回歸測(cè)試及維護(hù)之用。

  在遵守以上原則的基礎(chǔ)上進(jìn)行軟件測(cè)試,可以以最少的時(shí)間和人力找出軟件中的各種缺陷,從而達(dá)到保證軟件質(zhì)量的目的。
看了“軟件測(cè)試的學(xué)習(xí)方法”的人還看:

1.全國(guó)軟件水平考試之軟件設(shè)計(jì)師學(xué)習(xí)方法,

2.從程序員到軟件測(cè)試工程師的路該怎么走

3.軟件測(cè)試工程師的自我評(píng)價(jià)

4.軟件QTP自動(dòng)化測(cè)試

1228067