軟件測(cè)試資料庫(kù)
輸入機(jī)構(gòu)/課程/服務(wù)名稱

讀懂軟件測(cè)試這一篇就夠了

2021-12-09 09:02:05
# 軟件測(cè)試 # IT培訓(xùn)



軟件測(cè)試(英文名:Software Testing),描述一種用來(lái)促進(jìn)鑒定軟件的正確性、完整性、安全性和質(zhì)量的過(guò)程。其經(jīng)典定義為:在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)程序錯(cuò)誤,衡量軟件質(zhì)量,并對(duì)其是否能滿足設(shè)計(jì)要求進(jìn)行評(píng)估的過(guò)程。換句話說(shuō),軟件測(cè)試是一種實(shí)際輸出與預(yù)期輸出之間的審核或者比較過(guò)程。


一、測(cè)試?yán)碚?/font>

軟件測(cè)試是使用人工操作或者軟件自動(dòng)運(yùn)行的方式來(lái)檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別的過(guò)程。

它是幫助識(shí)別開發(fā)完成(中間或最終的版本)的計(jì)算機(jī)軟件(整體或部分)的正確度(correctness) 、完全度(completeness)和質(zhì)量(quality)的軟件過(guò)程;是SQA(software quality assurance)的重要子域。

Glenford J.Myers曾對(duì)軟件測(cè)試的目的提出過(guò)以下觀點(diǎn):

(1)測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程。

(2)好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案。

(3)成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。

(4)測(cè)試并不僅僅是為了找出錯(cuò)誤。通過(guò)分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的發(fā)生趨勢(shì),可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過(guò)程中的缺陷,以便及時(shí)改進(jìn)。

(5)這種分析也能幫助測(cè)試人員設(shè)計(jì)出有針對(duì)性的測(cè)試方法,改善測(cè)試的效率和有效性。

(6)沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定軟件質(zhì)量的一種方法。

(7)另外,根據(jù)測(cè)試目的的不同,還有回歸測(cè)試、壓力測(cè)試、性能測(cè)試等,分別為了檢驗(yàn)修改或優(yōu)化過(guò)程是否引發(fā)新的問(wèn)題、軟件所能達(dá)到處理能力和是否達(dá)到預(yù)期的處理能力等。


二、測(cè)試原則

1,測(cè)試應(yīng)該盡早進(jìn)行,*好在需求階段就開始介入,因?yàn)?嚴(yán)重的錯(cuò)誤不外乎是系統(tǒng)不能滿足用戶的需求。

2,程序員應(yīng)該避免檢查自己的程序,軟件測(cè)試應(yīng)該由第三方來(lái)負(fù)責(zé)。

3,設(shè)計(jì)測(cè)試用例時(shí)應(yīng)考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下還要制造極端狀態(tài)和意外狀態(tài),如網(wǎng)絡(luò)異常中斷、電源斷電等。

4,應(yīng)該充分注意測(cè)試中的群集現(xiàn)象。

5,對(duì)錯(cuò)誤結(jié)果要進(jìn)行一個(gè)確認(rèn)過(guò)程。一般由A測(cè)試出來(lái)的錯(cuò)誤,一定要由B來(lái)確認(rèn)。嚴(yán)重的錯(cuò)誤可以召開評(píng)審會(huì)議進(jìn)行討論和分析,對(duì)測(cè)試結(jié)果要進(jìn)行嚴(yán)格地確認(rèn),是否真的存在這個(gè)問(wèn)題以及嚴(yán)重程度等。

6,制定嚴(yán)格的測(cè)試計(jì)劃。一定要制定測(cè)試計(jì)劃,并且要有指導(dǎo)性。測(cè)試時(shí)間安排盡量寬松,不要希望在極短的時(shí)間內(nèi)完成一個(gè)高水平的測(cè)試。

7,妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。


三、軟件測(cè)試誤區(qū)

(1)誤區(qū)之一:軟件開發(fā)完成后進(jìn)行軟件測(cè)試

人們一般認(rèn)為,軟件項(xiàng)目要經(jīng)過(guò)以下幾個(gè)階段:需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),軟件編碼,軟件測(cè)試,軟件發(fā)布。據(jù)此,認(rèn)為軟件測(cè)試只是軟件編碼后的一個(gè)過(guò)程。這是不了解軟件測(cè)試周期的錯(cuò)誤認(rèn)識(shí)。軟件測(cè)試是一個(gè)系列過(guò)程活動(dòng),包括軟件測(cè)試需求分析,測(cè)試計(jì)劃設(shè)計(jì),測(cè)試用例設(shè)計(jì),執(zhí)行測(cè)試。因此,軟件測(cè)試貫穿于軟件項(xiàng)目的整個(gè)生命過(guò)程。在軟件項(xiàng)目的每一個(gè)階段都要進(jìn)行不同目的和內(nèi)容的測(cè)試活動(dòng),以保證各個(gè)階段的正確性。軟件測(cè)試的對(duì)象不僅僅是軟件代碼,還包括軟件需求文檔和設(shè)計(jì)文檔。軟件開發(fā)與軟件測(cè)試應(yīng)該是交互進(jìn)行的,例如,單元編碼需要單元測(cè)試,模塊組合階段需要集成測(cè)試。如果等到軟件編碼結(jié)束后才進(jìn)行測(cè)試,那么,測(cè)試的時(shí)間將會(huì)很短,測(cè)試的覆蓋面將很不全面,測(cè)試的效果也將大打折扣。更嚴(yán)重的是如果此時(shí)發(fā)現(xiàn)了軟件需求階段或概要設(shè)計(jì)階段的錯(cuò)誤,如果要修復(fù)該類錯(cuò)誤,將會(huì)耗費(fèi)大量的時(shí)間和人力。

(2)誤區(qū)之二:軟件發(fā)布后如果發(fā)現(xiàn)質(zhì)量問(wèn)題,那是軟件測(cè)試人員的錯(cuò)

這種認(rèn)識(shí)很打擊軟件測(cè)試人員的積極性。軟件中的錯(cuò)誤可能來(lái)自軟件項(xiàng)目中的各個(gè)過(guò)程,軟件測(cè)試只能確認(rèn)軟件存在錯(cuò)誤,不能保證軟件沒(méi)有錯(cuò)誤,因?yàn)閺母旧现v,軟件測(cè)試不可能發(fā)現(xiàn)全部的錯(cuò)誤。從軟件開發(fā)的角度看,軟件的高質(zhì)量不是軟件測(cè)試人員測(cè)出來(lái)的,是靠軟件生命周期的各個(gè)過(guò)程中設(shè)計(jì)出來(lái)的。出現(xiàn)軟件錯(cuò)誤,不能簡(jiǎn)單地歸結(jié)為某一個(gè)人的責(zé)任,有些錯(cuò)誤的產(chǎn)生可能不是技術(shù)原因,可能來(lái)自于混亂的項(xiàng)目管理。應(yīng)該分析軟件項(xiàng)目的各個(gè)過(guò)程,從過(guò)程改進(jìn)方面尋找產(chǎn)生錯(cuò)誤的原因和改進(jìn)的措施。

(3)誤區(qū)之三:軟件測(cè)試要求不高,隨便找個(gè)人做都行

很多人都認(rèn)為軟件測(cè)試就是安裝和運(yùn)行程序,點(diǎn)點(diǎn)鼠標(biāo),按按鍵盤的工作。這是由于不了解軟件測(cè)試的具體技術(shù)和方法造成的。隨著軟件工程學(xué)的發(fā)展和軟件項(xiàng)目管理經(jīng)驗(yàn)的提高,軟件測(cè)試已經(jīng)形成了一個(gè)獨(dú)立的技術(shù),演變成一個(gè)具有巨大市場(chǎng)需求的行業(yè)。軟件測(cè)試技術(shù)不斷更新和完善,新工具,新流程,新測(cè)試設(shè)計(jì)方法都在不斷更新,需要掌握和學(xué)習(xí)很多測(cè)試知識(shí)。所以,具有編程經(jīng)驗(yàn)的程序員不一定是一名優(yōu)秀的測(cè)試工程師。軟件測(cè)試包括測(cè)試技術(shù)和管理兩個(gè)方面,完全掌握這兩個(gè)方面的內(nèi)容,需要很多測(cè)試實(shí)踐經(jīng)驗(yàn)和不斷學(xué)習(xí)的精神。

(4)誤區(qū)之四:軟件測(cè)試是測(cè)試人員的事情,與程序員無(wú)關(guān)

開發(fā)和測(cè)試是相輔相成的過(guò)程,需要軟件測(cè)試人員、程序員和系統(tǒng)分析師等保持密切的聯(lián)系,需要更多的交流和協(xié)調(diào),以便提高測(cè)試效率。另外,對(duì)于單元測(cè)試主要應(yīng)該由程序員完成,必要時(shí)測(cè)試人員可以幫助設(shè)計(jì)測(cè)試樣例。對(duì)于測(cè)試中發(fā)現(xiàn)的軟件錯(cuò)誤,很多需要程序員通過(guò)修改編碼才能修復(fù)。程序員可以通過(guò)有目的的分析軟件錯(cuò)誤的類型、數(shù)量,找出產(chǎn)生錯(cuò)誤的位置和原因,以便在今后的編程中避免同樣的錯(cuò)誤,積累編程經(jīng)驗(yàn),提高編程能力。

(5)誤區(qū)之五:項(xiàng)目進(jìn)度吃緊時(shí)少做些測(cè)試,時(shí)間富裕時(shí)多做測(cè)試

這是不重視軟件測(cè)試的表現(xiàn),也是軟件項(xiàng)目過(guò)程管理混亂的表現(xiàn),必然會(huì)降低軟件測(cè)試的質(zhì)量。一個(gè)軟件項(xiàng)目的順利實(shí)現(xiàn)需要有合理的項(xiàng)目進(jìn)度計(jì)劃,其中包括合理的測(cè)試計(jì)劃,對(duì)項(xiàng)目實(shí)施過(guò)程中的任何問(wèn)題,都要有風(fēng)險(xiǎn)分析和相應(yīng)的對(duì)策,不要因?yàn)殚_發(fā)進(jìn)度的延期而簡(jiǎn)單的縮短測(cè)試時(shí)間、人力和資源。因?yàn)榭s短測(cè)試時(shí)間帶來(lái)的測(cè)試不完整,對(duì)項(xiàng)目質(zhì)量的下降引起的潛在風(fēng)險(xiǎn),往往造成更大的浪費(fèi)??朔@種現(xiàn)象的*好辦法是加強(qiáng)軟件過(guò)程的計(jì)劃和控制,包括軟件測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行、測(cè)試度量和測(cè)試控制。

(6)誤區(qū)之六:軟件測(cè)試是沒(méi)有前途的工作,只有程序員才是軟件高手

由于我國(guó)軟件整體開發(fā)能力比較低,軟件過(guò)程很不規(guī)范,很多軟件項(xiàng)目的開發(fā)都還停留在“作坊式”和“壘雞窩”階段。項(xiàng)目的成功往往靠個(gè)別全能程序員決定,他們負(fù)責(zé)總體設(shè)計(jì)和程序詳細(xì)設(shè)計(jì),認(rèn)為軟件開發(fā)就是編寫代碼,給人的印象往往是程序員是真正的牛人,具有很高的地位和待遇。因此,在這種環(huán)境下,軟件測(cè)試很不受重視,軟件測(cè)試人員的地位和待遇自然就很低了,甚至軟件測(cè)試變得可有可無(wú)。隨著市場(chǎng)對(duì)軟件質(zhì)量的不斷提高,軟件測(cè)試將變得越來(lái)越重要,相應(yīng)的軟件測(cè)試人員的地位和待遇將會(huì)逐漸提高。在軟件過(guò)程比較規(guī)范的大公司,軟件測(cè)試人員的數(shù)量和待遇與程序員沒(méi)有多大差別,優(yōu)秀測(cè)試人員的待遇甚至比程序員還要高。軟件測(cè)試將會(huì)成為一個(gè)具有很大發(fā)展前景的行業(yè),軟件測(cè)試大有前途,市場(chǎng)需要更多具有豐富測(cè)試技術(shù)和管理經(jīng)驗(yàn)的測(cè)試人員,他們同樣是軟件專家。


*文章內(nèi)容和圖片均來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪除。

查看剩余內(nèi)容
loading
Hi,我是教育寶平臺(tái)顧問(wèn) 添加我的微信,在查找或下載資料時(shí),有任何問(wèn)題,我會(huì)隨時(shí)為您解決~
loading
掃描二維碼 添加顧問(wèn)微信

點(diǎn)贊

收藏

資深學(xué)習(xí)規(guī)劃師,免費(fèi)幫您答疑解惑,定制學(xué)習(xí)方案
限時(shí)免費(fèi)咨詢
喜歡此內(nèi)容的人還喜歡
  1. 軟件測(cè)試工程師行業(yè)前景怎么樣?學(xué)了有用嗎?
    就業(yè)
    # IT技術(shù)培訓(xùn) # 軟件測(cè)試培訓(xùn)
  2. 軟件測(cè)試難不難學(xué)?學(xué)什么?零經(jīng)驗(yàn)可以做軟件測(cè)試嗎?
    攻略
    # IT技術(shù)培訓(xùn) # 軟件測(cè)試培訓(xùn)
  3. 軟件測(cè)試工程師需要重視的三點(diǎn)
    攻略
    # IT培訓(xùn) # 軟件測(cè)試師
職位/薪酬更多
相關(guān)課程 更多
教育寶IT技術(shù)頻道
教育寶致力于打造中國(guó)最專業(yè)的IT技術(shù)學(xué)習(xí)平臺(tái),為IT技術(shù)學(xué)員、教育機(jī)構(gòu)、從業(yè)者和上下游搭建連接、互動(dòng)、交流和賦能平臺(tái)。