林文淵 景宏磊
(廈門軟件職業(yè)技術(shù)學(xué)院,福建 廈門 361024)
隨著IT技術(shù)的快速發(fā)展,軟件產(chǎn)品經(jīng)歷了突飛猛進(jìn)的發(fā)展,各類軟件層出不窮,逐步進(jìn)入尋常百姓家,大到一套完整的控制系統(tǒng),小到兒童的玩具,都離不開軟件的支持。軟件的如此快速發(fā)展,離不開大量的軟件測(cè)試人員對(duì)產(chǎn)品進(jìn)行測(cè)試,來保證軟件的質(zhì)量,軟件測(cè)試已經(jīng)發(fā)展成為一門系統(tǒng)的學(xué)科,滲入到人們的日常生活中。
軟件測(cè)試是對(duì)系統(tǒng)功能的驗(yàn)證測(cè)試,需要在產(chǎn)品需求階段分析需求,細(xì)化需求功能,整理編制測(cè)試用例。
在需求階段需要挖掘軟件產(chǎn)品的隱性需求,分析可能存在的各種情況以及預(yù)期的結(jié)果,完善測(cè)試用例。
軟件測(cè)試工作主要是對(duì)測(cè)試用例的整理,軟件測(cè)試質(zhì)量依賴于測(cè)試用例的完整性。若測(cè)試用例相當(dāng)完善,覆蓋了需求的所有功能和隱性需求功能,軟件產(chǎn)品的質(zhì)量只要是完整的執(zhí)行測(cè)試用例就可以得到保證,反之亦然。
軟件產(chǎn)品測(cè)試需要站立在操作使用用戶的身份上進(jìn)行測(cè)試,因?yàn)槭褂谜呤亲罱K的用戶,一個(gè)軟件產(chǎn)品只有得到使用者的認(rèn)可和贊同才能稱得上好軟件、好產(chǎn)品,否則軟件再怎么被稱為功能強(qiáng)大、功能完善,只要對(duì)操作使用者來說操作困難,都是無稽之談,至少不能算的上好軟件。
軟件產(chǎn)品測(cè)試需要與其他部門及用戶進(jìn)行有效的溝通,保證需求正確,操作使用方法切合實(shí)際,明確使用人員的操作習(xí)慣和期望,只有便于操作、符合使用人員期望的軟件產(chǎn)品,才能被接受,才能獲得使用人的支持,從而產(chǎn)品才能獲得良好的發(fā)展機(jī)遇。
一個(gè)產(chǎn)品經(jīng)歷了啟動(dòng)、計(jì)劃、實(shí)施控制階段后,產(chǎn)品進(jìn)入了產(chǎn)品軟件測(cè)試環(huán)節(jié),對(duì)各個(gè)功能點(diǎn)的測(cè)試需要舉一反三,力求測(cè)試全面,從各個(gè)方面進(jìn)行測(cè)試,例如:測(cè)試軟件的一個(gè)自動(dòng)功能,軟件有三種用戶:未登陸用戶、操作員、管理員,對(duì)軟件測(cè)試時(shí),需要測(cè)試三種用戶下系統(tǒng)都具備自動(dòng)功能,還需要測(cè)試用戶在切換時(shí)系統(tǒng)是否具有自動(dòng)功能。
挖掘隱性需求功能,完善測(cè)試用例,保證軟件產(chǎn)品質(zhì)量。一般軟件產(chǎn)品的隱性需求是存在的,例如測(cè)試需求中ups斷電說幾分鐘內(nèi)保證原輸出狀態(tài),隱性需求就是在幾分鐘后呢是不是也應(yīng)該保證原輸出狀態(tài)呢,再例如:一套軟件是記錄員工的工作記錄的,每天的工作記錄都可以錄入,隱藏在里面的需求就是未來的某一天就不應(yīng)該能錄入信息并保存成功。
軟件產(chǎn)品測(cè)試需要測(cè)試軟件的健壯性,也就是在極限操作下系統(tǒng)如何處理,應(yīng)能完成各項(xiàng)操作,如有重復(fù)操作應(yīng)舍棄,新操作進(jìn)行排隊(duì)處理,以免使CPU工作異常。測(cè)試軟件的響應(yīng)速度,不能太慢,太慢操作人員會(huì)認(rèn)為不方便,影響軟件的使用及推廣。
軟件測(cè)試人員應(yīng)盡早介入軟件產(chǎn)品的開發(fā)過程中,軟件產(chǎn)品是面向于市場(chǎng)需求的產(chǎn)品,需要了解市場(chǎng)需求,細(xì)化市場(chǎng)需求,與操作使用人員進(jìn)行有效的溝通,保證需求準(zhǔn)確,制定準(zhǔn)確的測(cè)試用例,測(cè)試軟件的容錯(cuò)性,不僅要考慮合理的輸入條件,更要注意不合理的輸入條件。因?yàn)檐浖度雽?shí)際運(yùn)行中,往往不遵守正常的使用方法,卻進(jìn)行了一些甚至大量的意外輸入導(dǎo)致軟件一時(shí)半時(shí)不能做出適當(dāng)?shù)姆磻?yīng),就很容易產(chǎn)生一系列的問題,輕則輸出錯(cuò)誤的結(jié)果,重則癱瘓失效!因此常用一些不合理的輸入條件來發(fā)現(xiàn)更多的鮮為人知的軟件缺陷。 從正常操作與不正常操作等方面對(duì)軟件產(chǎn)品進(jìn)行測(cè)試,保證軟件質(zhì)量。
軟件測(cè)試一般按照先測(cè)試軟件的正常功能,再進(jìn)行故障安全方面的測(cè)試,最后進(jìn)行誤操作健壯性測(cè)試等。
在軟件產(chǎn)品測(cè)試策略所包含的最主要的部分有兩個(gè):測(cè)試過程和測(cè)試類型,測(cè)試過程包括單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試。測(cè)試類型為功能測(cè)試、健壯性測(cè)試、接口測(cè)試、強(qiáng)度測(cè)試、壓力測(cè)試、性能測(cè)試、用戶界面測(cè)試、安全測(cè)試、可靠性測(cè)試、安裝測(cè)試、文檔測(cè)試、兼容性測(cè)試、恢復(fù)測(cè)試等。
試探法:根據(jù)正常功能測(cè)試用例,猜想易出現(xiàn)問題的方面、可能引起錯(cuò)誤的操作、異常的操作順序等制定針對(duì)性的測(cè)試用例進(jìn)行測(cè)試。
回溯法:利用已測(cè)試出的問題,沿著問題求根溯源,與問題相關(guān)的功能都進(jìn)行測(cè)試,最終找到問題的根源以及與問題相關(guān)的一系列問題。
歸納法:從問題出發(fā),分析出現(xiàn)問題的原因,歸納出現(xiàn)問題的原因,從而映射整個(gè)軟件,測(cè)試軟件的各個(gè)模塊。
軟件測(cè)試還包括問題的分析、跟蹤及回歸測(cè)試,問題的分析過程是軟件測(cè)試人員測(cè)試水平的提高過程,通過分析,學(xué)習(xí)處理方法,積累測(cè)試經(jīng)驗(yàn),測(cè)試人員了解軟件開發(fā)者的設(shè)計(jì)思路,可以更好的設(shè)計(jì)測(cè)試用例,掌握測(cè)試方法,保證軟件產(chǎn)品的測(cè)試質(zhì)量。
為了減少系統(tǒng)的開發(fā)費(fèi)用,越早測(cè)試越好,這是多年來軟件行業(yè)的一個(gè)成功經(jīng)驗(yàn),即在整個(gè)軟件開發(fā)生命周期中通過各種軟件工程技術(shù)盡量早地完成各種軟件測(cè)試任務(wù)。
軟件的整個(gè)測(cè)試生命周期是與軟件的開發(fā)生命周期基本平齊的過程,在軟件開發(fā)生命周期中,軟件是通過迭代來不斷加以完善的。在這種環(huán)境中,對(duì)于每個(gè)作為測(cè)試目標(biāo)的工作版本,測(cè)試的生命周期還都必須具有一種迭代方法。對(duì)于針對(duì)每個(gè)工作版本執(zhí)行的測(cè)試,都做出了增補(bǔ)和改進(jìn),并累積為一個(gè)測(cè)試體,用于后續(xù)階段的回歸測(cè)試。
通過迭代使軟件開發(fā)把原來的整個(gè)軟件開發(fā)生命周期分成多個(gè)迭代周期,在每個(gè)迭代周期都進(jìn)行測(cè)試,這樣在很大程度上提前了軟件系統(tǒng)測(cè)試發(fā)生的時(shí)間,這可以在很大程度上降低項(xiàng)目風(fēng)險(xiǎn)和項(xiàng)目開發(fā)成本。
軟件測(cè)試需要測(cè)試人員具備豐富的知識(shí)背景,相關(guān)的測(cè)試經(jīng)驗(yàn)以及直覺,才能將測(cè)試用例設(shè)計(jì)的很周全,從完整性、容錯(cuò)性、邊緣性等方面設(shè)計(jì),測(cè)試系統(tǒng)功能的同時(shí),檢查系統(tǒng)對(duì)輸入數(shù)據(jù)(合法值、非法值、臨界值)的反應(yīng),檢查合法的操作和非法的操作,檢查系統(tǒng)對(duì)組合條件的反應(yīng)等。好的測(cè)試用例可以讓其他人很好的執(zhí)行測(cè)試,能夠迅速的遍歷所測(cè)試的功能,能夠發(fā)現(xiàn)至今沒有發(fā)現(xiàn)的錯(cuò)誤。
軟件測(cè)試是一項(xiàng)系統(tǒng)的工程,需要測(cè)試人員積累測(cè)試經(jīng)驗(yàn),整體把握測(cè)試產(chǎn)品,制定完善的測(cè)試用例,仔細(xì)的執(zhí)行,需要具備多學(xué)科的知識(shí),從各個(gè)方面入手,制定全面的測(cè)試計(jì)劃,來保證軟件產(chǎn)品的質(zhì)量。
軟件測(cè)試貫穿于項(xiàng)目開發(fā)的始終,在各個(gè)階段都要做好相關(guān)的軟件測(cè)試,能夠較早的發(fā)現(xiàn)系統(tǒng)中存在的缺陷及需求不清問題,及時(shí)的通知開發(fā)人員進(jìn)行更改,在一定程度上減小了項(xiàng)目的成本,縮短產(chǎn)品的開發(fā)周期,對(duì)整個(gè)項(xiàng)目來說,軟件測(cè)試發(fā)揮著重要的作用。
軟件測(cè)試要切合實(shí)際,符合人們正常的思維過程,符合正常的操作規(guī)范,要建立在用戶使用的基礎(chǔ)上,能為人們的日常工作帶來便利,提高人們的工作效率,從這些方面入手,編制測(cè)試用例,進(jìn)行軟件產(chǎn)品的測(cè)試,保證軟件的質(zhì)量。
[1]景宏磊,林丁報(bào).軟件性能測(cè)試的基本概念和一般過程[J].科技資訊,2011.
[2]林丁報(bào),景宏磊.WEB 應(yīng)用前端性能優(yōu)化淺析[J].科技資訊,2011.