軟件測試的基礎(chǔ)知識概要介紹[5]
——
人是測試工作中最有價值也是最重要的資源,沒有一個合格的、積極的測試小組,測試就不可能實現(xiàn)。然而,在軟件開發(fā)產(chǎn)業(yè)中有一種非常普遍習(xí)慣,那就是讓那些經(jīng)驗最少的新手、沒有效率的開發(fā)者或不適合干其他工作的人去做測試工作。這絕對是一種目光短淺的行為,對一個系統(tǒng)進(jìn)行有效的測試所需要的技能絕對不比進(jìn)行軟件開發(fā)需要的少,事實上,測試者將獲得極其廣泛的經(jīng)驗,他們將遇到許多開發(fā)者不可能遇到的問題。
①、溝通能力。
一名理想的測試者必須能夠同測試涉及到的所有人進(jìn)行溝通,具有與技術(shù)(開發(fā)者)和非技術(shù)人員(客戶,管理人員)的交流能力。既要可以和用戶談得來,又能同開發(fā)人員說得上話,不幸的是這兩類人沒有共同語言。和用戶談話的重點必須放在系統(tǒng)可以正確地處理什么和不可以處理什么上。而和開發(fā)者談相同的信息時,就必須將這些活重新組織以另一種方式表達(dá)出來,測試小組的成員必須能夠同等地同用戶和開發(fā)者溝通。
?、凇⒁魄槟芰?。
和系統(tǒng)開發(fā)有關(guān)的所有人員都處在一種既關(guān)心又擔(dān)心的狀態(tài)之中。用戶擔(dān)心將來使用一個不符合自己要求的系統(tǒng),開發(fā)者則擔(dān)心由于系統(tǒng)要求不正確而使他不得不重新開發(fā)整個系統(tǒng),管理部門則擔(dān)心這個系統(tǒng)突然崩潰而使它的聲譽(yù)受損。測試者必須和每一類人打交道,因此需要測試小組的成員對他們每個人都具有足夠的理解和同情,具備了這種能力可以將測試人員與相關(guān)人員之間的沖突和對抗減少到最低程度。
?、?、技術(shù)能力。
就總體言,開發(fā)人員對那些不懂技術(shù)的人持一種輕視的態(tài)度。一旦測試小組的某個成員作出了一個錯誤的斷定,那么他們的可信度就會立刻被傳揚(yáng)了出去。一個測試者必須既明白被測軟件系統(tǒng)的概念又要會使用工程中的那些工具。要做到這一點需要有幾年以上的編程經(jīng)驗,前期的開發(fā)經(jīng)驗可以幫助對軟件開發(fā)過程有較深入的理解,從開發(fā)人員的角度正確的評價測試者,簡化自動測試工具編程的學(xué)習(xí)曲線。
?、?、自信心。
開發(fā)者指責(zé)測試者出了錯是常有的事,測試者必須對自己的觀點有足夠的自信心。如果容許別人對自己指東指西,就不能完成什么更多的事情了。
?、荨⑼饨荒芰?。
當(dāng)你告訴某人他出了錯時,就必須使用一些外交方法。機(jī)智老練和外交手法有助于維護(hù)與開發(fā)人員的協(xié)作關(guān)系,測試者在告訴開發(fā)者他的軟件有錯誤時,也同樣需要一定的外交手腕。如果采取的方法過于強(qiáng)硬,對測試者來說,在以后和開發(fā)部門的合作方面就相當(dāng)于“贏了戰(zhàn)爭卻輸了戰(zhàn)役”。
?、?、幽默感。
在遇到狡辯的情況下,一個幽默的批評將是很有幫助的。
?、?、很強(qiáng)的記憶力。
一個理想的測試者應(yīng)該有能力將以前曾經(jīng)遇到過的類似的錯誤從記憶深處挖掘出來,這一能力在測試過程中的價值是無法衡量的。因為許多新出現(xiàn)的問題和我們已經(jīng)發(fā)現(xiàn)的問題相差無幾。
⑧、耐心。
一些質(zhì)量保證工作需要難以置信的耐心。有時你需要花費驚人的時間去分離、識別和分派一個錯誤。這個工作是那些坐不住的人無法完成的。
⑨、懷疑*。
可以預(yù)料,開發(fā)者會盡他們最大的努力將所有的錯誤解釋過去。測式者必須聽每個人的說明,但他必須保持懷疑直到他自己看過以后。
?、?、自我督促。
干測試工作很容易使你變得懶散。只有那些具有自我督促能力的人才能夠使自己每天正常地工作。
11、洞察力。
一個好的測試工程師具有“測試是為了破壞”的觀點,捕獲用戶觀點的能力,強(qiáng)烈的質(zhì)量追求,對細(xì)節(jié)的關(guān)注能力。應(yīng)用的高風(fēng)險區(qū)的判斷能力以便將有限的測試針對重點環(huán)節(jié)。
七、參考文獻(xiàn)
(軟件測試的原則)軟件測試從不同的角度出發(fā)會派生出兩種不同的測試原則,從用戶的角度出發(fā),就是希望通過軟件測試能充分暴露軟件中存在的問題和缺陷,從而考慮是否可以接受該產(chǎn)品,從開發(fā)者的角度出發(fā),就是希望測試能表明軟件產(chǎn)品不存在錯誤,已經(jīng)正確地實現(xiàn)了用戶的需求,確立人們對軟件質(zhì)量的信心。中國軟件評測中心的測試原則就是從用戶和開發(fā)者的角度出發(fā)進(jìn)行軟件產(chǎn)品測試的,通過我們的測試,可以為用戶提供放心的產(chǎn)品,并對優(yōu)秀的產(chǎn)品進(jìn)行認(rèn)證。
為了達(dá)到上述的原則,那么需要注意以下幾點:
1.應(yīng)當(dāng)把“盡早和不斷的測試”作為開發(fā)者的座右銘
2.程序員應(yīng)該避免檢查自己的程序,測試工作應(yīng)該由獨立的專業(yè)的軟件測試機(jī)構(gòu)來完成。
3.設(shè)計測試用例時應(yīng)該考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下要制造極端狀態(tài)和意外狀態(tài),比如網(wǎng)絡(luò)異常中斷、電源斷電等情況。
4.一定要注意測試中的錯誤集中發(fā)生現(xiàn)象,這和程序員的編程水平和習(xí)慣有很大的關(guān)系。
5.對測試錯誤結(jié)果一定要有一個確認(rèn)的過程,一般有A測試出來的錯誤,一定要有一個B來確認(rèn),嚴(yán)重的錯誤可以召開評審會進(jìn)行討論和分析。
6.制定嚴(yán)格的測試計劃,并把測試時間安排的盡量寬松,不要希望在極短的時間內(nèi)完成一個高水平的測試。
7.回歸測試的關(guān)聯(lián)性一定要引起充分的注意,修改一個錯誤而引起更多的錯誤出現(xiàn)的現(xiàn)象并不少見。
8.妥善保存一切測試過程文檔,意義是不言而喻的,測試的重現(xiàn)性往往要靠測試文檔。
在軟件測試中如何配置軟件環(huán)境配備測試環(huán)境是測試實施的一個重要階段,測試環(huán)境適合與否會嚴(yán)重影響測試結(jié)果的真實性和正確性。測試環(huán)境包括硬件環(huán)境和軟件環(huán)境,硬件環(huán)境指測試必需的服務(wù)器、客戶端、網(wǎng)絡(luò)連接設(shè)備以及打印機(jī)/掃描儀等輔助硬件設(shè)備所構(gòu)成的環(huán)境 ;軟件環(huán)境指被測軟件運(yùn)行時的操作系統(tǒng)、數(shù)據(jù)庫以及其他應(yīng)用軟件構(gòu)成的環(huán)境。在實際測試中,軟件環(huán)境又可分為主測試環(huán)境和輔測試環(huán)境,主測試環(huán)境是測試軟件功能、安全可靠性、性能、易用性等大多數(shù)指標(biāo)的主要環(huán)境,一般來說,配置主測試環(huán)境可遵循下列原則:
1.符合軟件運(yùn)行的最低要求。測試環(huán)境首先要保證能支撐軟件正常運(yùn)行。
2.選用比較普遍的操作系統(tǒng)和軟件平臺。例如,一個軟件若聲稱支持“Windows9X/ME/NT Workstation/2000 professional”和“MS OFFICE 97/2000/XP”,一般我們會采用如“Windows 2000professional+MS OFFICE 2000”的流行環(huán)境。
3.營造相對簡單、獨立的測試環(huán)境。除了操作系統(tǒng),測試機(jī)上只安裝軟件運(yùn)行和測試必需的軟件,以免不相關(guān)的軟件影響測試實施。
4.無毒的環(huán)境。利用有效的正版殺毒軟件檢測軟件環(huán)境,保證測試環(huán)境中沒有病毒。
輔測試環(huán)境常常用來滿足不同的測試需求或特殊測試項目:
兼容性測試:在滿足軟件運(yùn)行要求的范圍內(nèi),可選擇一些典型的操作系統(tǒng)和常用應(yīng)用軟件對其安裝卸載和主要功能進(jìn)行驗證。
模擬真實環(huán)境測試:有些軟件,特別是面向大眾的商品化軟件,在測試時常常需要考察在真實環(huán)境中的表現(xiàn)。如測試殺毒軟件的掃描速度時,硬盤上布置的不同類型文件的比例要盡量接近真實環(huán)境,這樣測試出來的數(shù)據(jù)才有實際意義。
橫向?qū)Ρ葴y試:利用輔測試環(huán)境“克隆”出完全一致的測試環(huán)境,從而保證各個被測軟件平等對比。
評論