緒論:寫作既是個(gè)人情感的抒發(fā),也是對(duì)學(xué)術(shù)真理的探索,歡迎閱讀由發(fā)表云整理的11篇軟件測(cè)試范文,希望它們能為您的寫作提供參考和啟發(fā)。
1.組件測(cè)試
組件測(cè)試又稱單元測(cè)試,其目的就是驗(yàn)證應(yīng)用程序能夠很好的工作,以及盡早的發(fā)現(xiàn)錯(cuò)誤。所謂組件測(cè)試其實(shí)就是測(cè)試單個(gè)組件的過程,是一種細(xì)粒度的測(cè)試。組件測(cè)試其實(shí)就是一個(gè)缺陷測(cè)試的過程,基本上使用結(jié)構(gòu)化測(cè)試即白盒測(cè)試來對(duì)組件進(jìn)行測(cè)試。在軟件中,組件算是最小的單元,因此,組件測(cè)試可以對(duì)多個(gè)組件來進(jìn)行。
1.1組件測(cè)試的類型
在組件測(cè)試階段,需要測(cè)試不同類型的組件(對(duì)象內(nèi)的單個(gè)函數(shù)或方法、有多個(gè)屬性和方法的對(duì)象類、有不同對(duì)象或是函數(shù)組成的復(fù)合組件)。組件測(cè)試的內(nèi)容主要有模塊接口、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試、路徑測(cè)試、錯(cuò)誤處理測(cè)試以及邊界測(cè)試。從測(cè)試的類型可以看出,比較簡(jiǎn)單的就是對(duì)單個(gè)函數(shù)或方法的測(cè)試,但是當(dāng)測(cè)試多個(gè)組件組成的復(fù)合組件時(shí),測(cè)試組件間的接口是否能正確執(zhí)行是首要關(guān)心的問題,而這個(gè)測(cè)試中的關(guān)鍵就是對(duì)組合組件的接口測(cè)試。
1.2接口測(cè)試
接口測(cè)試是組件測(cè)試中最常用的一種測(cè)試。測(cè)試符合組件間的接口就是接口測(cè)試。由于在符合組件之間存在很多交互行為,因此,在對(duì)復(fù)合組件中的單個(gè)組件進(jìn)行訪問時(shí),是要通過接口來對(duì)它們進(jìn)行調(diào)用。所以,接口測(cè)試就成為組件測(cè)試中的重點(diǎn)。
復(fù)雜系統(tǒng)中最常見的錯(cuò)誤形式包括接口錯(cuò)誤,接口錯(cuò)誤主要指接口誤用、計(jì)時(shí)錯(cuò)誤、接口誤解等等。一般情況在不尋常的條件下、交互雙方都存在接口缺陷,而這是很難發(fā)現(xiàn)的,因此,接口測(cè)試是非常重要的。
組件的開發(fā)和測(cè)試都是交叉進(jìn)行的,組件的設(shè)計(jì)者對(duì)組件是十分熟悉的,因此,由組件的設(shè)計(jì)者來進(jìn)行組件測(cè)試是在合適不過了。
2.集成測(cè)試
所謂集成測(cè)試就是指測(cè)試時(shí)將組件集成為系統(tǒng)來進(jìn)行。集成測(cè)試的目的就是檢查在一起的組件是否工作,能否正確及時(shí)進(jìn)行組件與組件間的交互。集成測(cè)試就是將與接口相關(guān)的錯(cuò)誤找出,從而使得添加的功能模塊確保沒有傳播不期望的副作用,并且使得由于新模塊的添加引起的變更不引入需求外的行為或是增加額外的錯(cuò)誤。集成測(cè)試過程如圖1所示。
圖1 集成測(cè)試過程
2.1集成系統(tǒng)的策略
集成順序不同,集成測(cè)試也將不同,二者密切相關(guān)。集成系統(tǒng)的策略從理論上來講,其可分為自上而下的集成和自底而上的集成。但是在實(shí)際中,大多數(shù)的集成策略都是混合型的。自上而下的集成就是指先把系統(tǒng)框架開發(fā)出來,然后再向其中添加組件。這種方法存在一個(gè)非常普遍的問題,即在測(cè)試下一層時(shí),還要兼測(cè)上一層。自底而上的集成就是指集成和測(cè)試都是從組件開始。不管使用哪種策略,開發(fā)額外的代碼是必須的,通過額外代碼的開發(fā)來仿真其他組件,從而使得系統(tǒng)運(yùn)行起來。
對(duì)錯(cuò)誤的定位就是集成測(cè)試中存在的主要問題。由于組件之間有復(fù)雜的交互行為存在,因此,當(dāng)發(fā)現(xiàn)一個(gè)錯(cuò)誤時(shí),很難將其出錯(cuò)的位置找到。
2.2集成測(cè)試的方法
集成測(cè)試通常采用增量法來進(jìn)行測(cè)試,從而使得集成測(cè)試中的主要問題得以解決。使用增量法,從一個(gè)集成度最小的系統(tǒng)配置開始,然后測(cè)試這個(gè)系統(tǒng),測(cè)試完成后,一個(gè)增量一個(gè)增量地往系統(tǒng)中增加組件,每次增加組件后再進(jìn)行測(cè)試。這種方法其優(yōu)點(diǎn)在于易于分離和糾正錯(cuò)誤以及徹底測(cè)試接口。這種方法的缺點(diǎn)在于在測(cè)試過程中經(jīng)常會(huì)出現(xiàn)重復(fù)測(cè)試。
2.3回歸測(cè)試
回歸測(cè)試就是指把測(cè)試過的再進(jìn)行測(cè)試。回歸測(cè)試雖然出現(xiàn)重復(fù)測(cè)試,但是其能夠保證新增模塊后不會(huì)給原系統(tǒng)組件間的行為產(chǎn)生不期望的變更。回歸測(cè)試是保證軟件的正確運(yùn)行的必要條件,但是,對(duì)測(cè)試過的再進(jìn)行重新測(cè)試明顯會(huì)產(chǎn)生不必要的浪費(fèi)。
要想在使用回歸測(cè)試時(shí)減少系統(tǒng)資源的浪費(fèi),可以從以下幾個(gè)方面進(jìn)行:(1)引進(jìn)自動(dòng)化測(cè)試。這種方法的引入,使得測(cè)試自動(dòng)地重復(fù),從而回歸測(cè)試對(duì)系統(tǒng)資源的浪費(fèi)得以減少;(2)嚴(yán)格規(guī)定增加快增加順序。先增加最常用的功能塊,從而對(duì)最常用的組件進(jìn)行多次測(cè)試,確保在各種情況下常用功能能夠?qū)崿F(xiàn)。
集成測(cè)試的必要性還在于一些模塊雖然能夠單獨(dú)地工作,但并不能保證連接起來也能正常工作。程序在某些局部反映不出來的問題,有可能在全局上會(huì)暴露出來,影響功能的實(shí)現(xiàn)。此外,在某些開發(fā)模式中,集成測(cè)試的意義還在于它能間接地驗(yàn)證概要設(shè)計(jì)是否具有可行性。
3.性能測(cè)試
性能測(cè)試就是測(cè)試系統(tǒng)對(duì)在非正常條件下的運(yùn)行情況。它的任務(wù)是驗(yàn)證軟件的功能和性能及其他特性是否達(dá)到了需求規(guī)格書上的要求。一般情況下包括恢復(fù)測(cè)試、安全測(cè)試、壓力測(cè)試、性能測(cè)試。恢復(fù)測(cè)試是通過各種方式強(qiáng)制地讓系統(tǒng)發(fā)現(xiàn)故障并驗(yàn)證其能夠重新恢復(fù)的一種系統(tǒng)測(cè)試。安全測(cè)試是驗(yàn)證在系統(tǒng)內(nèi)的保護(hù)機(jī)制是否能夠?qū)嶋H保護(hù)系統(tǒng)不受非法入侵。壓力測(cè)試是以一種要求反常數(shù)量、頻率或容量的方式執(zhí)行系統(tǒng)的測(cè)試方法。
4.接收測(cè)試
接收測(cè)試是對(duì)將要分給客戶的系統(tǒng)版本的測(cè)試過程。通常是一個(gè)黑盒測(cè)試過程,將軟件與計(jì)算機(jī)的其他系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,由用戶通過真實(shí)的數(shù)據(jù)測(cè)試對(duì)軟件在內(nèi)的計(jì)算機(jī)系統(tǒng),以求能發(fā)現(xiàn)系統(tǒng)需求定義中的錯(cuò)誤和遺漏。同時(shí)也期望能發(fā)現(xiàn)因系統(tǒng)的設(shè)施不能滿足用戶的需求或系統(tǒng)的性能無法接受的錯(cuò)誤。
4.1接收測(cè)試的方法
接收測(cè)試的最好測(cè)試方法是基于腳本的測(cè)試,先設(shè)計(jì)出多個(gè)腳本然后再?gòu)哪_本中開發(fā)錯(cuò)測(cè)試用例。
4.2接收測(cè)試的分類
接收測(cè)試根據(jù)用戶的不同可以分為α測(cè)試和β測(cè)試。無論是α測(cè)試還是β測(cè)試都是在實(shí)際的使用環(huán)境下進(jìn)行的。α測(cè)試是測(cè)試為特定的用戶開發(fā)的系統(tǒng),且由最終用戶在開發(fā)者在場(chǎng)的情況下進(jìn)行的,開發(fā)者在旁邊記錄用戶所遇到的錯(cuò)誤和使用問題,α測(cè)試要持續(xù)進(jìn)行直到開發(fā)者和用戶雙方都對(duì)最后交付的系統(tǒng)滿意。β測(cè)試的對(duì)象是一個(gè)將要在市場(chǎng)上銷售的軟件產(chǎn)品,β測(cè)試是所有愿意使用該軟件的用戶在使用該軟件是所遇到的所有問題,然后在反饋給開發(fā)者,開發(fā)者再根據(jù)反饋回來的信息決定對(duì)軟件做如何處理。通常情況下β測(cè)試能暴露開發(fā)者無法預(yù)見得錯(cuò)誤。
隨著軟件應(yīng)用越來越廣,所要求的設(shè)計(jì)也越來越復(fù)雜,所需的開發(fā)周期越來越短,而質(zhì)量要求越來越高,那么軟件企業(yè)目前面臨著巨大的挑戰(zhàn)。由此,軟件測(cè)試變得越來越重要,軟件測(cè)試可以有效地提高軟件質(zhì)量。重視軟件測(cè)試過程和技術(shù)是軟件企業(yè)快速發(fā)展的有效途徑。
居住地:上海
電 話:153********(手機(jī))
E-mail:
最近工作 [ 1年7個(gè)月 ]
公 司:XX計(jì)算機(jī)軟件有限公司
行 業(yè):計(jì)算機(jī)服務(wù)(系統(tǒng)、數(shù)據(jù)服務(wù)、維修)
職 位:軟件測(cè)試
最高學(xué)歷
學(xué) 歷:本科
專 業(yè):軟件測(cè)試
學(xué) 校:西北大學(xué)
自我評(píng)價(jià)
本人熟悉軟件開發(fā)測(cè)試流程,豐富的自動(dòng)化測(cè)試經(jīng)驗(yàn),善于學(xué)習(xí)。能在成功與失敗中完善自己,活潑開朗,樂觀向上,適應(yīng)力強(qiáng),勤奮好學(xué),認(rèn)真負(fù)責(zé)。待人誠(chéng)懇,做事踏實(shí)細(xì)心,對(duì)工作有熱情有責(zé)任心。
求職意向
到崗時(shí)間: 一周之內(nèi)
工作性質(zhì): 全職
希望行業(yè): 計(jì)算機(jī)軟件
目標(biāo)地點(diǎn): 上海
期望月薪: 面議/月
目標(biāo)職能: 軟件測(cè)試
工作經(jīng)驗(yàn)
2012 /12—至今:XX計(jì)算機(jī)軟件有限公司[ 1年7個(gè)月]
所屬行業(yè):計(jì)算機(jī)服務(wù)(系統(tǒng)、數(shù)據(jù)服務(wù)、維修)
測(cè)試部 軟件測(cè)試
1.負(fù)責(zé)需求分析,制定測(cè)試計(jì)劃,編寫測(cè)試計(jì)劃和測(cè)試案例;
2.負(fù)責(zé)測(cè)試環(huán)境的搭建;
3.負(fù)責(zé)使用JIRA 缺陷管理系統(tǒng), 管理跟蹤BUG;
4.負(fù)責(zé)系統(tǒng)的功能測(cè)試,以及處理客戶的回饋,重現(xiàn)問題;
5.負(fù)責(zé)熟練使用LINUX腳本語(yǔ)言,實(shí)現(xiàn)測(cè)試環(huán)境的自動(dòng)安裝和定時(shí)運(yùn)行,并進(jìn)行日志的查看及排錯(cuò)等;
6.負(fù)責(zé)根據(jù)用戶需求,編寫用戶使用說明手冊(cè);
7.負(fù)責(zé)系統(tǒng)的安裝及配置,負(fù)責(zé)客戶版本升級(jí)。
2011 /1—2011 /12:XX軟件科技有限公司[ 11個(gè)月]
所屬行業(yè):計(jì)算機(jī)軟件
事業(yè)部 軟件測(cè)試
1、負(fù)責(zé)根據(jù)軟件開發(fā)年度進(jìn)程表,與美國(guó)微軟測(cè)試及開發(fā)團(tuán)隊(duì)溝通,確定各階段測(cè)試目標(biāo);
2、負(fù)責(zé)在項(xiàng)目測(cè)試過程中,制定測(cè)試計(jì)劃,參與測(cè)試用例的編寫、修改和審核;
3、負(fù)責(zé)定期組織技術(shù)交流會(huì)議,以提高組員工作效率;
4、負(fù)責(zé)及時(shí)處理客戶對(duì)軟件提出的問題,執(zhí)行測(cè)試定位問題,以幫助產(chǎn)品的修復(fù)。
2010 /7—2011 /1:XX網(wǎng)絡(luò)游戲有限公司[ 6個(gè)月]
所屬行業(yè):娛樂/休閑/體育
技術(shù)部 軟件測(cè)試
1、負(fù)責(zé)了解軟件的測(cè)試流程,并制定測(cè)試流程;
2、負(fù)責(zé)編寫測(cè)試用例,BUG提交給開發(fā)人員;
3、負(fù)責(zé)開發(fā)人員修復(fù),進(jìn)行回歸測(cè)試;
4、負(fù)責(zé)根據(jù)需求寫測(cè)試大綱、編寫測(cè)試用例、測(cè)試報(bào)告。
教育經(jīng)歷
2006 /9--2010 /7 西北大學(xué) 軟件測(cè)試 本科
證 書
2009 /6 大學(xué)英語(yǔ)六級(jí)
0 概述
(1)軟件測(cè)試現(xiàn)狀
隨著軟件的快速發(fā)展,軟件產(chǎn)品質(zhì)量面臨著前所未有的挑戰(zhàn),提高測(cè)試的效率、降低測(cè)試的成本,對(duì)軟件產(chǎn)品提高質(zhì)量和應(yīng)對(duì)日趨激烈的市場(chǎng)競(jìng)爭(zhēng)有著重要意義,而軟件質(zhì)量的提升主要靠軟件測(cè)試來實(shí)現(xiàn)。
統(tǒng)計(jì)表明,在典型的軟件開發(fā)項(xiàng)目中,軟件測(cè)試的工作量往往占到總工作量的40%以上,而在總成本中,測(cè)試成本要占30%~50%。盡管目前大部分公司已經(jīng)非常重視軟件測(cè)試,但軟件質(zhì)量提升的實(shí)際效果不盡人意,一部分原因是軟件測(cè)試方面的投入不足,更大一部分原因是軟件開發(fā)人員、甚至軟件測(cè)試人員的測(cè)試意識(shí)不足,測(cè)試時(shí)間不足,導(dǎo)致無法展開快速、有效的軟件測(cè)試。
(2)軟件測(cè)試面臨的問題
首先,國(guó)內(nèi)軟件相對(duì)起步較晚,現(xiàn)在在軟件開發(fā)上投入了大量的人力物力,相對(duì)而言在軟件測(cè)試方面]有引起足夠的重視,更沒有進(jìn)行成熟的軟件測(cè)試研究,軟件測(cè)試環(huán)境等測(cè)試資源國(guó)內(nèi)暫時(shí)沒有形成完善的氛圍。
其次,軟件測(cè)試人員較少,難以投入足夠的人力展開大規(guī)模的、規(guī)范的軟件測(cè)試,甚至在大部分公司軟件測(cè)試人員地位收入要低于軟件研發(fā)人員,軟件測(cè)試遠(yuǎn)遠(yuǎn)沒有引起重視。
第三,軟件時(shí)間緊湊,開發(fā)時(shí)間緊張,測(cè)試時(shí)間就會(huì)被大大縮短。測(cè)試的效果會(huì)大打折扣。
軟件日益復(fù)雜,軟件錯(cuò)誤日益增多,軟件測(cè)試手段不成熟,測(cè)試人員不足,測(cè)試時(shí)間緊張等種種原因?qū)е履壳皣?guó)內(nèi)測(cè)試水平較差,軟件測(cè)試沒有完全展開。針對(duì)現(xiàn)狀思考,綜合考慮測(cè)試時(shí)間和測(cè)試效果兼顧,制定程序靜態(tài)掃描的單元測(cè)試與探索性測(cè)試的系統(tǒng)測(cè)試相結(jié)合,先進(jìn)行程序靜態(tài)掃描的單元測(cè)試,通過后再進(jìn)行探索性測(cè)試的系統(tǒng)測(cè)試的快速測(cè)試策略。
1 快速軟件測(cè)試策略
軟件測(cè)試是為了更快、更早的將軟件產(chǎn)品中存在的缺陷找出來,并敦促軟件開發(fā)人員盡快解決軟件缺陷,向客戶提供高質(zhì)量的產(chǎn)品。確定有效的軟件測(cè)試策略可快速找出軟件中的缺陷。
1.1 單元測(cè)試
單元測(cè)試是檢查軟件單元是否正確實(shí)現(xiàn)了詳細(xì)設(shè)計(jì)中的各項(xiàng)功能、性能要求,發(fā)現(xiàn)軟件單元內(nèi)可能存在的各種缺陷。
1.1.1 測(cè)試策略
針對(duì)單元測(cè)試目的,結(jié)合實(shí)際開發(fā)現(xiàn)狀,擬采用靜態(tài)測(cè)試工具對(duì)源代碼進(jìn)行程序靜態(tài)掃描。
程序靜態(tài)分析是:在不運(yùn)行代碼的前提下,通過詞法分析、語(yǔ)法分析、控制流等白盒測(cè)試技術(shù)對(duì)軟件源代碼進(jìn)行掃描,驗(yàn)證源代碼是否滿足規(guī)范性、安全性的一種代碼分析技術(shù)。
1.1.2 常用靜態(tài)分析技術(shù)
1.1.3 程序靜態(tài)掃描的優(yōu)缺點(diǎn)
程序的靜態(tài)分析與動(dòng)態(tài)分析是相對(duì)應(yīng)的兩種代碼分析技術(shù),主要實(shí)現(xiàn)方式是通過對(duì)程序代碼的自動(dòng)掃描發(fā)現(xiàn)隱含的程序缺陷,主要具有以下兩條優(yōu)點(diǎn):
a)不執(zhí)行程序,對(duì)源程序不會(huì)產(chǎn)生任何破壞。程序靜態(tài)掃描不運(yùn)行源代碼,只是通過靜態(tài)掃描對(duì)源代碼進(jìn)行語(yǔ)法、結(jié)構(gòu)等方面的分析;
b)執(zhí)行速度快、效率高。成熟的程序靜態(tài)分析工具每秒可完成上萬(wàn)行代碼的掃描,具有執(zhí)行速度快、效率高的特點(diǎn)。
程序靜態(tài)掃描的缺點(diǎn)也比較明顯:誤報(bào)率比較高,目前國(guó)際最好的程序靜態(tài)分析工具誤報(bào)率在5-10%之間,還是比較高的一個(gè)狀態(tài)。
在軟件程序?qū)崿F(xiàn)的過程中使用程序靜態(tài)分析工具對(duì)程序進(jìn)行掃描,有助于快速發(fā)現(xiàn)代碼缺陷,提高代碼的質(zhì)量,是一種在節(jié)省人力物力的前提下快速的提升源代碼質(zhì)量的有效手段。
1.2 系統(tǒng)測(cè)試
系統(tǒng)測(cè)試的目的是:在真實(shí)或者仿真環(huán)境下檢驗(yàn)軟件程序是否滿足“軟件研制任務(wù)書”和“軟件需求規(guī)格說明”規(guī)定的功能、性能等要求。
1.2.1測(cè)試策略
針對(duì)系統(tǒng)測(cè)試目的,結(jié)合人員緊張、開發(fā)時(shí)間短的實(shí)際開發(fā)現(xiàn)狀,擬采用使用探索性測(cè)試的測(cè)試策略對(duì)軟件程序進(jìn)行功能、性能的合格性驗(yàn)證。
探索性測(cè)試首先假設(shè)軟件存在某缺陷,然后對(duì)提出的假設(shè)進(jìn)行逐步驗(yàn)證。在進(jìn)行探索性測(cè)試的過程中,學(xué)習(xí)知識(shí)、測(cè)試設(shè)計(jì)和測(cè)試執(zhí)行是在同一時(shí)間交叉進(jìn)行的。探索性測(cè)試的核心是依據(jù)測(cè)試的實(shí)際情況,即時(shí)設(shè)計(jì)測(cè)試用例并在軟件程序上進(jìn)行驗(yàn)證,測(cè)試結(jié)束后將測(cè)試的結(jié)果整理形成“軟件測(cè)試報(bào)告”。
1.2.2探索性測(cè)試常用方法
探索性測(cè)試是對(duì)傳統(tǒng)測(cè)試技術(shù)的補(bǔ)充,它的關(guān)注點(diǎn)更多是有目的性地驗(yàn)證程序是否存在某個(gè)缺陷。所以,探索性測(cè)試適用于所有的系統(tǒng)測(cè)試,但作為一種新興的軟件測(cè)試?yán)碚摚兄约邯?dú)特的測(cè)試方法和管理方式。一般使用如下兩種方法來進(jìn)行測(cè)試:
(1)結(jié)對(duì)測(cè)試法
結(jié)對(duì)測(cè)試的一般測(cè)試形式是兩名測(cè)試人員共同對(duì)一套軟件程序或者一臺(tái)機(jī)器展開測(cè)試。它要求必須有一名測(cè)試組長(zhǎng)來負(fù)責(zé)統(tǒng)籌測(cè)試全程,進(jìn)行合理的測(cè)試安排。測(cè)試組長(zhǎng)制定合理的軟件測(cè)試計(jì)劃,依據(jù)計(jì)劃,測(cè)試成員兩兩組隊(duì),分工合作。在測(cè)試過程中,兩位測(cè)試人員各有分工,一位進(jìn)行測(cè)試操作,另一位主要負(fù)責(zé)提出建議、記錄測(cè)試發(fā)現(xiàn)的缺陷、提出測(cè)試過程中對(duì)程序的探索性問題等。
結(jié)對(duì)測(cè)試要求測(cè)試人員都能清晰地進(jìn)行交流,因?yàn)楫?dāng)一名測(cè)試人員將自己的探索性想法與其他測(cè)試人員進(jìn)行溝通時(shí),極有可能會(huì)觸發(fā)其他測(cè)試人員的靈感,這種發(fā)散性的交流方式會(huì)碰撞出更多的思維火花,設(shè)計(jì)出更加準(zhǔn)確、完整、符合實(shí)際測(cè)試情況的的軟件測(cè)試用例,這比傳統(tǒng)測(cè)試中要求測(cè)試人員按照固定的測(cè)試計(jì)劃進(jìn)行軟件測(cè)試更有效率。除了以上優(yōu)點(diǎn),結(jié)對(duì)測(cè)試還有以下優(yōu)點(diǎn):
a)輕松的測(cè)試環(huán)境:輕松的測(cè)試環(huán)境將避免測(cè)試過程中測(cè)試人員產(chǎn)生的的枯燥和無聊情緒,明顯提高軟件測(cè)試效率;
b)良好的連續(xù)性:結(jié)對(duì)測(cè)試中,兩位測(cè)試人員分工明確,一名軟件測(cè)試人員專注于執(zhí)行測(cè)試,另一名軟件測(cè)試人員負(fù)責(zé)記錄及文檔整理,分工明確將大大增加測(cè)試的連續(xù)性,使測(cè)試具有更好的可持續(xù)性;
c)降低外界干擾:兩人組成一個(gè)小的團(tuán)隊(duì),其他無關(guān)人士前來打擾測(cè)試的機(jī)會(huì)將會(huì)大大降低,排除外界干擾 ,提高工作效率;
d)清晰的報(bào)告測(cè)試結(jié)果:結(jié)對(duì)測(cè)試中一人專注負(fù)責(zé)記錄和整理測(cè)試結(jié)果,這將使測(cè)試報(bào)告的數(shù)據(jù)清晰完整;
e)有利于培養(yǎng)新的測(cè)試人員:結(jié)對(duì)測(cè)試,兩兩結(jié)對(duì),有經(jīng)驗(yàn)的測(cè)試前輩趁此機(jī)會(huì)將探索性測(cè)試中規(guī)律性的經(jīng)驗(yàn)傳授給新的測(cè)試人員,新的測(cè)試人員一邊學(xué)習(xí)一邊實(shí)踐,幫助新人快速成長(zhǎng),提升測(cè)試技能。
(2)會(huì)話測(cè)試法
探索性測(cè)試的創(chuàng)始人James Bach提出過另一種有效的測(cè)試方法:會(huì)話測(cè)試法。這種測(cè)試方法的優(yōu)點(diǎn)是既不影響探索性測(cè)試靈活性和探索性的特點(diǎn),又能避免探索性測(cè)試人員松散不服從統(tǒng)一管理。目前是探索性測(cè)試所有方法中比較公認(rèn)的一個(gè)有效的測(cè)試方法。
會(huì)話測(cè)試法中的會(huì)話主要包括兩部分:一部分是明確的測(cè)試主題,另一部分是可以被檢查的測(cè)試過程。“測(cè)試主題”指的是測(cè)試中想要發(fā)現(xiàn)的軟件缺陷或計(jì)劃完成被測(cè)試的功能。“可以被檢查”是指階段性的軟件測(cè)試報(bào)告,該軟件測(cè)試報(bào)告來表征會(huì)話測(cè)試期間的工作成果。
持續(xù)時(shí)間1.5小時(shí)的會(huì)話測(cè)試為最優(yōu)會(huì)話測(cè)試,但這不是絕對(duì)的時(shí)間限制,一般而言小于45分鐘的會(huì)話測(cè)試稱之為短會(huì)話測(cè)試,大于2個(gè)小時(shí)的會(huì)話測(cè)試稱之為長(zhǎng)會(huì)話。一般情況,每天可以使用會(huì)話測(cè)試法對(duì)軟件程序進(jìn)行三輪測(cè)試。
會(huì)話測(cè)試中沒有固定的模式對(duì)測(cè)試步驟及測(cè)試用例進(jìn)行規(guī)定和限制,依據(jù)測(cè)試人員和測(cè)試主題來進(jìn)行靈活選擇和執(zhí)行,例如測(cè)試人員可能會(huì)從某項(xiàng)功能開展測(cè)試,也有可能從頻繁出現(xiàn)的缺陷打開測(cè)試入口。
1.2.3 探索性測(cè)試的優(yōu)缺點(diǎn)
探索性測(cè)試最大的特點(diǎn)是具有強(qiáng)大的缺陷發(fā)現(xiàn)能力,作為一種高效率的測(cè)試方法,主要具有以下優(yōu)點(diǎn):
a)測(cè)試方式靈活、富有創(chuàng)造性和主觀能動(dòng)性。它比傳統(tǒng)的測(cè)試方法更加靈活,例如探索性測(cè)試對(duì)測(cè)試文檔的要求沒有傳統(tǒng)測(cè)試那么嚴(yán)格,但是它能夠發(fā)現(xiàn)正常測(cè)試用例執(zhí)行以外的缺陷,更有效地發(fā)現(xiàn)隱性缺陷,發(fā)現(xiàn)很多正常途徑無法發(fā)現(xiàn)的缺陷也能夠激發(fā)測(cè)試人員的創(chuàng)造性和主觀能動(dòng)性。
b)測(cè)試時(shí)間短,執(zhí)行效率高。測(cè)試學(xué)習(xí)、測(cè)試設(shè)計(jì)和測(cè)試執(zhí)行交叉進(jìn)行,只對(duì)測(cè)試缺陷進(jìn)行詳細(xì)的記錄,會(huì)大大縮短測(cè)試時(shí)間,為項(xiàng)目的整體開發(fā)節(jié)省大量時(shí)間。據(jù)統(tǒng)計(jì),有經(jīng)驗(yàn)的測(cè)試人員在使用探索性測(cè)試方法進(jìn)行測(cè)試時(shí),執(zhí)行測(cè)試的時(shí)間能占到測(cè)試總時(shí)間的80%,而測(cè)試設(shè)計(jì)只占總測(cè)試的20%。
探索性測(cè)試的缺點(diǎn)也是顯而易見的:對(duì)軟件測(cè)試工作沒有一個(gè)整體的規(guī)劃,不利于測(cè)試的規(guī)范化、標(biāo)準(zhǔn)化;重復(fù)性測(cè)試的幾率比傳統(tǒng)測(cè)試要大很多,很難確定哪些測(cè)試已經(jīng)執(zhí)行過。
在測(cè)試時(shí)間短、測(cè)試資源不充足的情況下,使用探索性的測(cè)試策略展開系統(tǒng)測(cè)試,可以有效快速地發(fā)現(xiàn)軟件缺陷,提高軟件質(zhì)量。
2 結(jié)論
軟件質(zhì)量是軟件的生命,由于軟件缺陷而造成經(jīng)濟(jì)損失、導(dǎo)致嚴(yán)重后果的事例屢見不鮮,軟件測(cè)試作為軟件質(zhì)量保證的重要手段一直都是軟件工程研究和應(yīng)用的熱點(diǎn)。在有限的人力物力情況下,如何展開有效的軟件測(cè)試,顯著提升軟件質(zhì)量更是每個(gè)軟件研發(fā)人員的關(guān)注重點(diǎn)。
程序靜態(tài)掃描提升源代碼質(zhì)量、探索性測(cè)試保證軟件功能的合格性,二者有效地結(jié)合,在極短的時(shí)間內(nèi),節(jié)省開發(fā)人員精力的前提下,可以有效地_到軟件測(cè)試的目的,是一種有效的測(cè)試策略。
【參考文獻(xiàn)】
[1]張曉明,黃琳譯.軟件測(cè)試的藝術(shù),機(jī)械工業(yè)出版社.
[2]朱少民編.軟件測(cè)試方法和技術(shù),清華大學(xué)出版社,2005.
[3]汪穎譯.人月神話,清華大學(xué)出版社.
0 引言
隨著Intemet的普及和電子商務(wù)應(yīng)用的深入。Web應(yīng)用程序得到越來越廣泛的應(yīng)用,B/$架構(gòu)也逐漸代替C/S架構(gòu)成為主流的應(yīng)用模式。與傳統(tǒng)軟件相比,Web應(yīng)用程序具有分布式、并發(fā)、多用戶異構(gòu)等特點(diǎn),這些特點(diǎn)對(duì)軟件測(cè)試提出了新的要求。Web測(cè)試是保證Web應(yīng)用程序質(zhì)量的有效手段,目前在Web測(cè)試的方法和技術(shù)以及相關(guān)工具等方面的研究已進(jìn)行了一些嘗試。軟件測(cè)試的自動(dòng)化技術(shù)有助于開發(fā)出更高質(zhì)量的產(chǎn)品,并且可以節(jié)省開發(fā)時(shí)間和開支。
1 Web軟件體系結(jié)構(gòu)
Web應(yīng)用程序采用B/S結(jié)構(gòu),它是伴隨著Intemet技術(shù)的不斷進(jìn)步,由C/S結(jié)構(gòu)改進(jìn)和發(fā)展起來的新型體系結(jié)構(gòu)。B/S結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù)實(shí)現(xiàn)原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能。是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)已成為當(dāng)今應(yīng)用軟件開發(fā)的首選體系結(jié)構(gòu)。
Web系統(tǒng)的基本工作過程是:在客戶端,用戶通過瀏覽器向Web服務(wù)器中的控制模塊和應(yīng)用程序輸入查詢要求,Web服務(wù)器將用戶的數(shù)據(jù)請(qǐng)求提交給數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS;在服務(wù)器端,數(shù)據(jù)庫(kù)服務(wù)器將查詢的結(jié)果返回給Web服務(wù)器,再以網(wǎng)頁(yè)的形式發(fā)回給客戶端。在此過程中,對(duì)數(shù)據(jù)庫(kù)的訪問要通過Web服務(wù)器來執(zhí)行。Web系統(tǒng)的基本體系結(jié)構(gòu)及工作過程如圖1所示。
從上面的體系結(jié)構(gòu)可以看出,Web測(cè)試應(yīng)該分為三個(gè)層次,客戶端測(cè)試、服務(wù)器端測(cè)試和數(shù)據(jù)庫(kù)測(cè)試。客戶端主要測(cè)試用戶瀏覽器的基本功能和頁(yè)面現(xiàn)實(shí)情況;服務(wù)器端主要測(cè)試用戶請(qǐng)求響應(yīng)情況;數(shù)據(jù)庫(kù)端主要測(cè)試數(shù)據(jù)一致性和輸出錯(cuò)誤。
2 Web軟件測(cè)試的主要特點(diǎn)與難點(diǎn)
Web軟件由于其分布式應(yīng)用、具有各種運(yùn)行時(shí)行為、涉及多種標(biāo)準(zhǔn)協(xié)議,可能在硬件、軟件、通信、對(duì)象管理等環(huán)節(jié)出現(xiàn)各種缺陷。其體系結(jié)構(gòu)和應(yīng)用的復(fù)雜性,以及技術(shù)和規(guī)范不斷地發(fā)生變化,對(duì)測(cè)試提出了新的挑戰(zhàn)。Web軟件測(cè)試的特點(diǎn)與難點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:
(1)Web軟件的開發(fā)環(huán)境與其應(yīng)用環(huán)境有很大的不同,在之前,很難對(duì)其實(shí)際的運(yùn)行場(chǎng)景進(jìn)行預(yù)測(cè),如用戶類型、并發(fā)用戶數(shù)量、Web服務(wù)調(diào)用的裝載模式和訪問方式等,這些差異和應(yīng)用的不確定性都增加了Web服務(wù)測(cè)試的困難。
(2)Web軟件測(cè)試主要基于軟件接口進(jìn)行設(shè)計(jì)和實(shí)現(xiàn),因此必須采用自動(dòng)化測(cè)試方法,與傳統(tǒng)的需要大量人工干預(yù)的測(cè)試方法截然不同。
(3)Web軟件由于其分布特征,會(huì)出現(xiàn)大量用戶通過不同的環(huán)境訪問同一個(gè)服務(wù)的情形,因此,性能和可擴(kuò)展性是Web軟件測(cè)試的重要方面。
(4)Web軟件及軟件集成的、發(fā)現(xiàn)和綁定都是動(dòng)態(tài)完成的,其過程的不確定性和不可見性增加了測(cè)試難度。
(5)Web軟件訪問接口和訪問方法后增加了Web軟件的安全隱患,提高了被系統(tǒng)攻擊的機(jī)會(huì)。此外,對(duì)于所調(diào)用的分散、異構(gòu)的外部Web服務(wù)的安全性的管理也非常困難。如何提高Web軟件的安全性也是測(cè)試者要考慮的重要問題。
(6)Web軟件的應(yīng)用通常涉及到軟件提供者、者和使用者三種角色,都需要參與到測(cè)試的不同階段,其分布式合作的特征使得測(cè)試的組織、缺陷管理、結(jié)果評(píng)估等活動(dòng)都更加困難。
目前。針對(duì)Web軟件的測(cè)試方法和技術(shù)的研究還處于初始階段,代表性的研究主要有基于形式化方法對(duì)協(xié)議及規(guī)格說明的驗(yàn)證(如WSFL驗(yàn)證技術(shù)、SOAP驗(yàn)證)和Web服務(wù)的集成測(cè)試。
3 傳統(tǒng)軟件測(cè)試與Web軟件測(cè)試
傳統(tǒng)軟件測(cè)試經(jīng)常是靜態(tài)、離線的測(cè)試,盡管這些傳統(tǒng)的測(cè)試技術(shù)也可以應(yīng)用到Web服務(wù)的測(cè)試當(dāng)中,然而相當(dāng)有意義的一部分Web軟件測(cè)試都必須是動(dòng)態(tài)的和在運(yùn)行時(shí)間內(nèi)的即時(shí)測(cè)試。Web軟件這種動(dòng)態(tài)和即時(shí)測(cè)試對(duì)傳統(tǒng)的測(cè)試?yán)碚撎岢隽诵碌奶魬?zhàn)和要求。表1比較了傳統(tǒng)軟件和Web軟件測(cè)試的差別。
4 Web軟件測(cè)試的內(nèi)容和方法
Web測(cè)試主要目標(biāo)是確保提交高質(zhì)量的Web軟件。對(duì)于錯(cuò)綜復(fù)雜的Web軟件,從什么地方開始測(cè)試。哪些方面是測(cè)試的核心,有限的測(cè)試資源如何分配,這些都是Web軟件測(cè)試需要重點(diǎn)考慮的問題。下面介紹Web軟件測(cè)試的主要內(nèi)容和方法。
4.1 功能測(cè)試
鏈接測(cè)試 鏈接是Web應(yīng)用系統(tǒng)的一個(gè)主要特征,它是在頁(yè)面之間切換和指導(dǎo)用戶去一些不知道地址的頁(yè)面的主要手段。鏈接測(cè)試可分為三個(gè)方面:①測(cè)試所有鏈接是否按指示的那樣確實(shí)鏈接到了該鏈接的頁(yè)面。②測(cè)試所鏈接的頁(yè)面是否存在。③測(cè)試Web應(yīng)用系統(tǒng)上有無孤立的頁(yè)面。所謂孤立頁(yè)面是指沒有鏈接指向的頁(yè)面,只有知道正確的URL地址才能訪問。
表單測(cè)試 單元當(dāng)用戶給Web應(yīng)用系統(tǒng)管理員提交信息時(shí),就需要使用表單操作。例如用戶注冊(cè)、登陸、信息提交等。在這種情況下,我們必須測(cè)試提交操作的完整性,以校驗(yàn)提交給服務(wù)器的信息的正確性。例如:用戶填寫的出生日期與職業(yè)是否恰當(dāng),填寫的所屬省份與所在城市是否匹配等。
Cookies潮試Cookies通常用來存儲(chǔ)用戶信息和用戶在某應(yīng)用系統(tǒng)的操作。當(dāng)一個(gè)用戶使用Cookies訪問了某一個(gè)應(yīng)用系統(tǒng)時(shí),Web服務(wù)器將發(fā)送用戶的信息,把該信息以Cookies的形式存儲(chǔ)在客戶端計(jì)算機(jī)上,這可用來創(chuàng)建動(dòng)態(tài)和自定義頁(yè)面或者存儲(chǔ)登錄等信息。如果Web應(yīng)用系統(tǒng)使用了Cookies。就必須檢查Cookies是否能正常工作而且對(duì)存儲(chǔ)的信息已經(jīng)加密。測(cè)試的內(nèi)容可包括Cookies是否起作用,是否按預(yù)定的時(shí)間進(jìn)行保存,刷新對(duì)Cookies有什么影響等。
設(shè)計(jì)語(yǔ)言測(cè)試 Web設(shè)計(jì)語(yǔ)言版本的差異,例如使用不同版本的HTML等,可以引起客戶端或服務(wù)器端嚴(yán)重的問題。在分布式開發(fā)環(huán)境中,開發(fā)人員都不在一起,這個(gè)問題就顯得尤為重要。除了HTML的版本問題外,不同的腳本語(yǔ)言,例如Java、JavaSeript、ActiveX、VBScript或Perl等也要進(jìn)行驗(yàn)證。
數(shù)據(jù)庫(kù)測(cè)試 數(shù)據(jù)庫(kù)為Web應(yīng)用系統(tǒng)的管理、運(yùn)行、查詢和實(shí)現(xiàn)用戶對(duì)數(shù)據(jù)存儲(chǔ)的請(qǐng)求等提供空間。在使用了數(shù)據(jù)庫(kù)的Web應(yīng)用系統(tǒng)中,一般情況下,可能發(fā)生兩種錯(cuò)誤,分別是數(shù)據(jù)一致性錯(cuò)誤和輸出錯(cuò)誤。數(shù)據(jù)一致性錯(cuò)誤主要是由于用戶提交的表單信息不正確而造成的,而輸出錯(cuò)誤主要是由于網(wǎng)絡(luò)速度或程序設(shè)計(jì)問題等引起的。針對(duì)這兩種情況,可分別進(jìn)行測(cè)試。
4.2 性能測(cè)試
網(wǎng)站的性能測(cè)試對(duì)于網(wǎng)站的運(yùn)行而言異常重要,但是目前對(duì)于網(wǎng)站的性能測(cè)試做得不夠,我們?cè)谶M(jìn)行系統(tǒng)設(shè)計(jì)時(shí)也沒有一個(gè)很好的基準(zhǔn)可以參考,因而建立一整套網(wǎng)站的性能測(cè)試方案將是至關(guān)重要的。
連接速度測(cè)試 用戶連接到Web應(yīng)用系統(tǒng)的速度根據(jù)上網(wǎng)方式的變化而變化,他們或許是電話撥號(hào),或是寬帶上網(wǎng)。當(dāng)下載一個(gè)程序時(shí),用戶可以等較長(zhǎng)的時(shí)間,但如果僅僅訪問一個(gè)頁(yè)面就不會(huì)這樣。連接速度太慢。還可能引起數(shù)據(jù)丟失,使用戶得不到真實(shí)的頁(yè)面。
負(fù)載測(cè)試 負(fù)載測(cè)試是為了測(cè)量Web系統(tǒng)在某一負(fù)載級(jí)別上的性能,以保證Web系統(tǒng)在需求范圍內(nèi)能正常工作。負(fù)載級(jí)別可以是某個(gè)時(shí)刻同時(shí)訪問Web系統(tǒng)的用戶數(shù)量,也可以是在線數(shù)據(jù)處理的數(shù)量。例如:Web應(yīng)用系統(tǒng)能允許多少個(gè)用戶同時(shí)在線;如果超過了這個(gè)數(shù)量,會(huì)出現(xiàn)什么現(xiàn)象。
壓力測(cè)試 壓力測(cè)試是指實(shí)際破壞一個(gè)Web應(yīng)用系統(tǒng),測(cè)試系統(tǒng)的反映。壓力測(cè)試是測(cè)試系統(tǒng)的限制和故障恢復(fù)能力,也就是測(cè)試Web應(yīng)用系統(tǒng)會(huì)不會(huì)崩潰,在什么情況下會(huì)崩潰。黑客常常提供錯(cuò)誤的數(shù)據(jù)負(fù)載,直到Web應(yīng)用系統(tǒng)崩潰,接著當(dāng)系統(tǒng)重新啟動(dòng)時(shí)獲得存取權(quán)。
4.3接口測(cè)試
服務(wù)器接口 第一個(gè)需要測(cè)試的接口是瀏覽器與服務(wù)器的接口。測(cè)試方式一般是,測(cè)試人員提交事務(wù),然后查看服務(wù)器記錄,并驗(yàn)證在瀏覽器上看到的正好是服務(wù)器上發(fā)生的。測(cè)試人員還可以查詢數(shù)據(jù)庫(kù),確認(rèn)事務(wù)數(shù)據(jù)已正確保存。
外部接口有些Web系統(tǒng)有外部接口,例如,網(wǎng)上商店可能要實(shí)時(shí)驗(yàn)證信用卡數(shù)據(jù)以減少欺詐行為的發(fā)生,測(cè)試的時(shí)候,要使用Web接口發(fā)送一些事務(wù)數(shù)據(jù),分別對(duì)有效信用卡、無效信用卡和被盜信用卡進(jìn)行驗(yàn)證。
錯(cuò)誤處理 最容易被測(cè)試人員忽略的地方是接口錯(cuò)誤處理。通常我們?cè)噲D確認(rèn)系統(tǒng)能夠處理所有錯(cuò)誤,但卻無法預(yù)期系統(tǒng)所有可能的錯(cuò)誤。為此,可以嘗試在處理過程中中斷事務(wù),看看會(huì)發(fā)生什么情況,訂單是否完成,嘗試中斷用戶到服務(wù)器的網(wǎng)絡(luò)連接,系統(tǒng)能否正確處理這些錯(cuò)誤。
4.4 兼容性測(cè)試
平臺(tái)測(cè)試市場(chǎng)上有很多不同類型的操作系統(tǒng),最常見的有Windows、Unix、Macintosh、Linux等。Web應(yīng)用系統(tǒng)的最終用戶究竟使用哪一種操作系統(tǒng),取決于用戶系統(tǒng)的配置。這樣,就可能會(huì)發(fā)生兼容性問題,同一個(gè)應(yīng)用可能在某些操作系統(tǒng)下能正常運(yùn)行,但在另外的操作系統(tǒng)下運(yùn)行可能會(huì)失敗。因此,在Web系統(tǒng)之前,需要在各種操作系統(tǒng)下對(duì)其進(jìn)行兼容性測(cè)試。
瀏覽器測(cè)試 瀏覽器是Web客戶端最核心的構(gòu)件。來自不同廠商的瀏覽器對(duì)JavadavaScript、ActiveX或不同的HTlML規(guī)格有不同的支持,例如,ActiveX是Microsoft的產(chǎn)品,是為Intemet Explorer而設(shè)計(jì)的,JavaScript是Netscape的產(chǎn)品,Java是Sun的產(chǎn)品等等。測(cè)試瀏覽器兼容性的一個(gè)方法是創(chuàng)建一個(gè)兼容性矩陣,在這個(gè)矩陣中,測(cè)試不同廠商、不同版本的瀏覽器對(duì)某些構(gòu)件和設(shè)置的適應(yīng)性。
4.5 安全測(cè)試
景登 現(xiàn)在的Web應(yīng)用系統(tǒng)基本采用先注冊(cè),后登錄的方式,因此,必須測(cè)試有效和無效的用戶名和密碼。要注意到系統(tǒng)是否對(duì)大小寫敏感,可以試行登錄多少次,是否可以不登錄而直接瀏覽某個(gè)頁(yè)面等。
日志文件為了保證Web應(yīng)用系統(tǒng)的安全性,日志文件是至關(guān)重要的。需要測(cè)試相關(guān)信息是否寫進(jìn)了日志文件、是否可追蹤。
正確性測(cè)試又稱功能測(cè)試,它檢查軟件的功能是否符合規(guī)格說明。由于正確性是軟件最重要的質(zhì)量因素,所以其測(cè)試也最重要。
基本的方法是構(gòu)造一些合理輸入,檢查是否得到期望的輸出。這是一種枚舉方法。倘若枚舉空間是無限的,那可慘了,還不如回家種土豆有盼頭。測(cè)試人員一定要設(shè)法減少枚舉的次數(shù),否則沒好日子過。關(guān)鍵在于尋找等價(jià)區(qū)間,因?yàn)樵诘葍r(jià)區(qū)間中,只需用任意值測(cè)試一次即可。等價(jià)區(qū)間的概念可表述如下:
記(A,B)是命題f(x)的一個(gè)等價(jià)區(qū)間,在(A,B)中任意取x1進(jìn)行測(cè)試。
如果f(x1)錯(cuò)誤,那么f(x)在整個(gè)(A,B)區(qū)間都將出錯(cuò)。
如果f(x1)正確,那么f(x)在整個(gè)(A,B)區(qū)間都將正確。
上述測(cè)試方法稱為等價(jià)測(cè)試,來源于人們的直覺與經(jīng)驗(yàn),可令測(cè)試事半功倍。
還有一種有效的測(cè)試方法是邊界值測(cè)試。即采用定義域或者等價(jià)區(qū)間的邊界值進(jìn)行測(cè)試。因?yàn)槌绦騿T容易疏忽邊界情況,程序也“喜歡”在邊界值處出錯(cuò)。
例如測(cè)試的一段程序。憑直覺等價(jià)區(qū)間應(yīng)是(0,1)和(1,+∞)。可取x=0.5以及x=2.0進(jìn)行等價(jià)測(cè)試。再取x=0以及x=1進(jìn)行邊界值測(cè)試。
有一些復(fù)雜的程序,我們難以憑直覺與經(jīng)驗(yàn)找到等價(jià)區(qū)間和邊界值,這時(shí)枚舉測(cè)試就相當(dāng)有難度。
在用“白盒測(cè)試”方式進(jìn)行正確性測(cè)試時(shí),有個(gè)額外的好處:如果測(cè)試發(fā)現(xiàn)了錯(cuò)誤,測(cè)試者(開發(fā)人員)馬上就能修改錯(cuò)誤。越早改正錯(cuò)誤,付出的代價(jià)就越低。所以大多數(shù)軟件公司要求程序員在寫完程序時(shí),馬上執(zhí)行基于單步跟蹤的“白盒測(cè)試”。
2容錯(cuò)性測(cè)試
容錯(cuò)性測(cè)試是檢查軟件在異常條件下的行為。容錯(cuò)性好的軟件能確保系統(tǒng)不發(fā)生無法意料的事故。
比較溫柔的容錯(cuò)性測(cè)試通常構(gòu)造一些不合理的輸入來引誘軟件出錯(cuò),例如:
(1)輸入錯(cuò)誤的數(shù)據(jù)類型,如“猴”年“馬”月。
(2)輸入定義域之外的數(shù)值,上海人常說的“十三點(diǎn)”也算一種。
粗暴一些的容錯(cuò)性測(cè)試俗稱“大猩猩”測(cè)試,除了不能拳打腳踢嘴咬,什么招術(shù)都可以使出來。這里我舉不出例子,因?yàn)槲覜]有對(duì)程序粗暴過,并且這輩子也不打算學(xué)會(huì)粗暴。
3性能與效率測(cè)試
性能與效率測(cè)試主要是測(cè)試軟件的運(yùn)行速度和對(duì)資源的利用率。有時(shí)人們關(guān)心測(cè)試的“絕對(duì)值”,如數(shù)據(jù)送輸速率是每秒多少比特。有時(shí)人們關(guān)心測(cè)試的“相對(duì)值”,如某個(gè)軟件比另一個(gè)軟件快多少倍。
在獲取測(cè)試的“絕對(duì)值”時(shí),我們要充分考慮并記錄運(yùn)行環(huán)境對(duì)測(cè)試的影響。例如計(jì)算機(jī)主頻,總線結(jié)構(gòu)和外部設(shè)備都可能影響軟件的運(yùn)行速度;若與多個(gè)計(jì)算機(jī)共享資源,軟件運(yùn)行可能慢得像蝸牛爬行。
在獲取測(cè)試的“相對(duì)值”時(shí),我們要確保被測(cè)試的幾個(gè)軟件運(yùn)行于完全一致的環(huán)境中。硬件環(huán)境的一致性比較容易做到(用同一臺(tái)計(jì)算機(jī)即可)。但軟件環(huán)境的因素較多,除了操作系統(tǒng),程序設(shè)計(jì)語(yǔ)言和編譯系統(tǒng)對(duì)軟件的性能也會(huì)產(chǎn)生較大的影響。如果是比較幾個(gè)算法的性能,就要求編程語(yǔ)言和編譯器也完全一致。
性能與效率測(cè)試中很重要的一項(xiàng)是極限測(cè)試,因?yàn)楹芏嘬浖到y(tǒng)會(huì)在極限測(cè)試中崩潰。例如,連續(xù)不停地向服務(wù)器發(fā)請(qǐng)求,測(cè)試服務(wù)器是否會(huì)陷入死鎖狀態(tài)不能自拔;給程序輸入特別大的數(shù)據(jù),看看它是否吃得消。
4易用性測(cè)試
易用性測(cè)試沒有一個(gè)量化的指標(biāo),主觀性較強(qiáng)。調(diào)查表明,當(dāng)用戶不理解軟件中的某個(gè)特性時(shí),大多數(shù)人首先會(huì)向同事、朋友請(qǐng)教。要是再不起作用,就向產(chǎn)品支持部門打電話。只有30%的用戶會(huì)查閱用戶手冊(cè)。[Cusumano1995]
一般認(rèn)為,如果用戶不翻閱手冊(cè)就能使用軟件,那么表明這個(gè)軟件具有較好的易用性。
5文檔測(cè)試
文檔測(cè)試主要檢查文檔的正確性、完備性和可理解性。好多人甚至不知道文檔是軟件的一個(gè)組成部分。
正確性是指不要把軟件的功能和操作寫錯(cuò),也不允許文檔內(nèi)容前后矛盾。
頭信息包括:測(cè)試軟件名稱、版本號(hào)、缺陷或錯(cuò)誤類型、可重復(fù)性、測(cè)試平臺(tái)、平臺(tái)語(yǔ)言、缺陷或錯(cuò)誤范圍。要求填寫完整、準(zhǔn)確。
簡(jiǎn)述是對(duì)缺陷或錯(cuò)誤特征的簡(jiǎn)單描述,可以使用短語(yǔ)或短句,要求簡(jiǎn)練、準(zhǔn)確。
操作步驟是描述該缺陷或錯(cuò)誤出現(xiàn)的操作順序,要求完整、簡(jiǎn)潔、準(zhǔn)確。對(duì)命令、系統(tǒng)變量、選項(xiàng)要用大寫字母,對(duì)控件名稱等加雙引號(hào)。
注釋一般是對(duì)缺陷或錯(cuò)誤的附加描述,一般包括缺陷或錯(cuò)誤現(xiàn)象的圖像,包括其他建議或注釋文字。
書寫專業(yè)軟件問題報(bào)告的技巧
書寫軟件問題報(bào)告的目的是為了正確地重復(fù)缺陷或錯(cuò)誤,從而在后續(xù)工作中可以準(zhǔn)確驗(yàn)證并加以處理。因此,基本要求是準(zhǔn)確、簡(jiǎn)潔、完整、規(guī)范。為了正確書寫專業(yè)的軟件問題報(bào)告,應(yīng)該注意以下要點(diǎn):
每個(gè)軟件問題報(bào)告只書寫一個(gè)缺陷或錯(cuò)誤
這樣可以每次只處理一個(gè)確定的錯(cuò)誤,定位明確,提高效率,也便于修復(fù)錯(cuò)誤后方便的進(jìn)行驗(yàn)證。
對(duì)錯(cuò)誤的描述要做到簡(jiǎn)潔、準(zhǔn)確、完整,揭示錯(cuò)誤實(shí)質(zhì)
描述要準(zhǔn)確反映缺陷或錯(cuò)誤的本質(zhì)內(nèi)容,簡(jiǎn)短明了。為了便于在答數(shù)據(jù)庫(kù)中尋找,包含錯(cuò)誤發(fā)生時(shí)的用戶界面是個(gè)良好的習(xí)慣。例如記錄對(duì)話框的標(biāo)題、菜單、按鈕等控件的名稱。
明確指明錯(cuò)誤類型和嚴(yán)重程度
根據(jù)錯(cuò)誤的現(xiàn)象,總結(jié)判斷錯(cuò)誤的類型和嚴(yán)重程度,例如,是功能錯(cuò)誤?還是界面布局錯(cuò)誤?該錯(cuò)誤是屬于特別嚴(yán)重的錯(cuò)誤還是一般錯(cuò)誤?是否影響軟件的后續(xù)開發(fā)和?
每一個(gè)步驟盡量只記錄一個(gè)操作
簡(jiǎn)潔、條理井然,容易重復(fù)操作步驟,以便確認(rèn)、修復(fù)、驗(yàn)證該錯(cuò)誤.
復(fù)現(xiàn)的操作步驟要完整,準(zhǔn)確,簡(jiǎn)短
保證快速準(zhǔn)確的重復(fù)錯(cuò)誤,完整即沒有缺漏,準(zhǔn)確即步驟正確,簡(jiǎn)短即沒有多余的步驟。
附加必要的錯(cuò)誤特征圖像
為了直觀的觀察缺陷或錯(cuò)誤現(xiàn)象,通常需要附加錯(cuò)誤出現(xiàn)的界面,作為附件附著在記錄的附件部分。為了節(jié)省空間,又能真實(shí)反映缺陷或錯(cuò)誤本質(zhì),可以捕捉缺陷或錯(cuò)誤產(chǎn)生時(shí)的全屏幕,活動(dòng)窗口和局部區(qū)域。
附加必要的測(cè)試用例
拋開具體的軟件工程的具體模型,一般的產(chǎn)品周期流程可以如下劃分
3、第2階段:功能測(cè)試;工作方向:功能/手工測(cè)試;市場(chǎng)價(jià)值:薪資可達(dá)到7000元/月以上
一般地,項(xiàng)目啟動(dòng)過程組包括兩個(gè)過程:即制定項(xiàng)目章程和制定項(xiàng)目初步范圍說明書;而項(xiàng)目規(guī)劃過程組則會(huì)綜合項(xiàng)目的成本、范圍、時(shí)間、質(zhì)量、風(fēng)險(xiǎn)、人力、溝通、采購(gòu)等因素制定項(xiàng)目計(jì)劃,該項(xiàng)目計(jì)劃將用于指導(dǎo)項(xiàng)目的實(shí)際執(zhí)行。
對(duì)任一項(xiàng)目而言,有三個(gè)文件是非常重要的。即:項(xiàng)目章程、項(xiàng)目范圍說明書,項(xiàng)目管理計(jì)劃。這三個(gè)文件均產(chǎn)生于項(xiàng)目啟動(dòng)階段和項(xiàng)目規(guī)劃階段。其中項(xiàng)目章程被認(rèn)為是三大文件之首(項(xiàng)目章程、項(xiàng)目范圍說明書,項(xiàng)目管理計(jì)劃)。一個(gè)項(xiàng)目,不論大小,都應(yīng)該有項(xiàng)目章程。
項(xiàng)目章程由項(xiàng)目發(fā)起人(Sponsor)簽發(fā),自簽發(fā)之日起,項(xiàng)目經(jīng)理即獲得法定權(quán)力。
項(xiàng)目經(jīng)理在獲得法定權(quán)力之后的第一動(dòng)作是制定項(xiàng)目初步范圍說明書。為了制定這份文檔,他/她將廣泛地收集來自項(xiàng)目發(fā)起人的需求,以便在項(xiàng)目計(jì)劃正式編制之前,與項(xiàng)目發(fā)起人在項(xiàng)目范圍的理解上達(dá)成一致。項(xiàng)目初步范圍說明書還將在后續(xù)項(xiàng)目范圍規(guī)劃過程中進(jìn)一步細(xì)化,并融入項(xiàng)目客戶、執(zhí)行組織、項(xiàng)目干系人等各方面需求,進(jìn)而形成完整的項(xiàng)目范圍說明書。
項(xiàng)目初步范圍說明書編制完成以后,項(xiàng)目經(jīng)理將進(jìn)入項(xiàng)目計(jì)劃編制階段。這個(gè)階段將會(huì)涉及項(xiàng)目管理方方面面的規(guī)劃、計(jì)劃。有經(jīng)驗(yàn)的項(xiàng)目經(jīng)理在此過程中總是會(huì)認(rèn)真聽取和吸收?qǐng)F(tuán)隊(duì)骨干成員和同行們的經(jīng)驗(yàn)意見,從而形成廣為認(rèn)可和接受的規(guī)劃、計(jì)劃。
經(jīng)過權(quán)衡和必要的調(diào)整,這些文檔最終將被集成到一個(gè)完整的項(xiàng)目管理計(jì)劃中。項(xiàng)目管理計(jì)劃經(jīng)由項(xiàng)目發(fā)起人、高級(jí)管理層審批以后,即可生效。
此后,項(xiàng)目經(jīng)理將召開項(xiàng)目開工會(huì)議,宣布項(xiàng)目正式開始進(jìn)入執(zhí)行階段。
項(xiàng)目啟動(dòng)階段的項(xiàng)目章程和項(xiàng)目初步范圍說明書,也可以體現(xiàn)在分包或采購(gòu)合同中。這在軟件外包服務(wù)型企業(yè)中最為常見。
通常,伴隨合同到達(dá)項(xiàng)目經(jīng)理手中的還有項(xiàng)目建議書,項(xiàng)目建議書由項(xiàng)目發(fā)起人制定,內(nèi)容和項(xiàng)目章程中有關(guān)產(chǎn)品、可交付成果的描述大致類似,此外,還應(yīng)包括對(duì)項(xiàng)目經(jīng)理成功完成此項(xiàng)目的一些指導(dǎo)性建議。項(xiàng)目經(jīng)理進(jìn)行綜合考慮,與相關(guān)干系人磋商,在項(xiàng)目團(tuán)隊(duì)相關(guān)專家的幫助下,制定出合適的項(xiàng)目管理計(jì)劃。
上面討論的是一般項(xiàng)目啟動(dòng)過程組與規(guī)劃過程組。具體到測(cè)試項(xiàng)目的啟動(dòng)與規(guī)劃,工作內(nèi)容也是類似的。讀者朋友請(qǐng)根據(jù)所在測(cè)試項(xiàng)目的特點(diǎn)做適當(dāng)調(diào)整。需要交待清楚的是測(cè)試項(xiàng)目啟動(dòng)與規(guī)劃過程組有可能與其他六個(gè)過程組(測(cè)試需求分析、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行、測(cè)試項(xiàng)目收尾、測(cè)試交付、測(cè)試項(xiàng)目監(jiān)控與調(diào)整)在項(xiàng)目實(shí)施過程中有頻繁的迭代關(guān)系(參見圖1)。
比如,規(guī)劃過程組有可能在整個(gè)項(xiàng)目生命期內(nèi)都有更新和完善。
對(duì)于整周期軟件開發(fā)項(xiàng)目的測(cè)試而言,上述過程組的內(nèi)容會(huì)有較大的差異。
比如:項(xiàng)目章程將重點(diǎn)關(guān)注開發(fā),而不會(huì)過多討論測(cè)試相關(guān)的工作。對(duì)于這一類型的軟件測(cè)試,筆者建議在任命開發(fā)項(xiàng)目經(jīng)理的同時(shí),由項(xiàng)目經(jīng)理[適用于項(xiàng)目型或強(qiáng)矩陣組織]或高層經(jīng)理[適用于弱矩陣或職能型組織]指定項(xiàng)目測(cè)試經(jīng)理。測(cè)試經(jīng)理應(yīng)根據(jù)項(xiàng)目章程、項(xiàng)目初步范圍說明書和項(xiàng)目建議書盡早開始軟件測(cè)試相關(guān)規(guī)劃和設(shè)計(jì),并和項(xiàng)目經(jīng)理溝通、協(xié)調(diào),以將一些重要的信息及時(shí)反映給項(xiàng)目經(jīng)理,從而使項(xiàng)目計(jì)劃能較好地支持測(cè)試工作的開展。
軟件測(cè)試需求分析
理論上,軟件測(cè)試需求是源于軟件需求的,而軟件需求又是源于用戶需求的。然而,有些時(shí)候在分析軟件測(cè)試需求時(shí)并不存在已經(jīng)文檔化的軟件需求規(guī)格說明。
在這種情況下,要分析軟件測(cè)試需求可能仍然需要追溯到用戶需求。由于后者涉及需求工程的專門知識(shí),本文略過不做細(xì)述;這里重點(diǎn)討論前者。在一個(gè)規(guī)范化的軟件需求規(guī)格說明中,用戶需求是由更高層次的業(yè)務(wù)需求(體現(xiàn)在項(xiàng)目章程、SOW、項(xiàng)目建議書等文檔中)細(xì)化而成,它通常描述了用戶使用該軟件系統(tǒng)會(huì)涉及到的不同的執(zhí)行路徑、工作邏輯以及所預(yù)期的處理結(jié)果。在UML表示方法中,用戶需求通常通過Use Case來進(jìn)行刻畫。
接下來,用戶需求將進(jìn)一步轉(zhuǎn)化為三類需求項(xiàng),即功能需求項(xiàng)、性能需求項(xiàng)以及約束性需求項(xiàng)。這三類需求項(xiàng)就是通常意義上的軟件需求項(xiàng)。管理這三類需求項(xiàng)的矩陣被稱為需求矩陣。
理論上,在測(cè)試資源許可并且確有必要的前提下,測(cè)試的使命將是驗(yàn)證和確認(rèn)待開發(fā)的軟件及其中間產(chǎn)品滿足需求矩陣各個(gè)需求項(xiàng)。(注意:為了簡(jiǎn)化討論,這里筆者沒有把需求的驗(yàn)證與確認(rèn)納入進(jìn)來,實(shí)際上這部分工作也是軟件測(cè)試工作的重要組成部分。)
然而,幾乎沒有幾個(gè)公司或開發(fā)團(tuán)隊(duì)能夠提供這類測(cè)試所需的諸多的資源,此時(shí),一種可行的策略是將待測(cè)試的軟件需求項(xiàng)按照優(yōu)先關(guān)系進(jìn)行排序,以幫助測(cè)試經(jīng)理決策在既定資源的情況下,應(yīng)該如何統(tǒng)籌安排測(cè)試工作。
軟件需求項(xiàng)是測(cè)試需求分析的起點(diǎn),這一點(diǎn)在工程實(shí)踐中并不絕對(duì)。對(duì)于不同階段的測(cè)試(這里主要指單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試,暫不考慮驗(yàn)證技術(shù)和需求和設(shè)計(jì)的確認(rèn)),測(cè)試需求開發(fā)所涉及的工作內(nèi)容和方法都會(huì)略有差異。例如,如果是一個(gè)驗(yàn)收測(cè)試,那么,除了個(gè)別的需求需要做進(jìn)一步明確外,幾乎可以將測(cè)試需求等同于用戶需求和業(yè)務(wù)需求(由于該類測(cè)試是以客戶為主體,因此并不需要向下追溯到軟件需求)。
又如,如果是系統(tǒng)測(cè)試,除了需要對(duì)不具備可測(cè)試性的軟件需求項(xiàng)進(jìn)一步開發(fā)外,幾乎可以對(duì)軟件需求和測(cè)試需求不做區(qū)分。
再如,如果是集成測(cè)試,測(cè)試需求應(yīng)該從概要設(shè)計(jì)規(guī)格說明中導(dǎo)出。如果尚不存在概要設(shè)計(jì)規(guī)格說明,就需要從軟件需求規(guī)格說明出發(fā),與軟件設(shè)計(jì)人員協(xié)同工作,具體定出構(gòu)成系統(tǒng)的各個(gè)模塊、子系統(tǒng)、分系統(tǒng)的功能、性能、約束性條件以及相互接口關(guān)系。根據(jù)協(xié)同工作的結(jié)果,開發(fā)出對(duì)應(yīng)的測(cè)試需求。
最后,如果是單元測(cè)試,測(cè)試需求應(yīng)該從詳細(xì)設(shè)計(jì)規(guī)格說明中導(dǎo)出。如果項(xiàng)目不存在概要設(shè)計(jì)規(guī)格說明,就需要從概要設(shè)計(jì)規(guī)格說明出發(fā),與軟件設(shè)計(jì)人員明確每個(gè)模塊內(nèi)部的對(duì)象屬性與方法以及對(duì)象與對(duì)象間的通信關(guān)系。根據(jù)此結(jié)果,進(jìn)一步開發(fā)相應(yīng)的測(cè)試需求。相應(yīng)地,上一節(jié)所說的對(duì)軟件需求項(xiàng)進(jìn)行優(yōu)先關(guān)系排序在實(shí)踐中要變通地理解為對(duì)測(cè)試需求項(xiàng)進(jìn)行優(yōu)先關(guān)系排序。
讀者朋友可能會(huì)問,對(duì)于整周期的開發(fā)項(xiàng)目,以上論述是否意味著測(cè)試需求開發(fā)的依據(jù)文檔是否要根據(jù)測(cè)試所處的階段而不斷調(diào)整呢?是的,筆者認(rèn)為這也是完全必要的。我們不能指望軟件需求項(xiàng)能夠描述清楚集成或單元測(cè)試階段的測(cè)試需求。測(cè)試需求的開發(fā)總是有賴于相應(yīng)層次的軟件規(guī)格說明書
只有在開發(fā)團(tuán)隊(duì)不能提供的情況下才確有必要循著“詳細(xì)設(shè)計(jì)規(guī)格說明->概要設(shè)計(jì)規(guī)格說明->軟件需求規(guī)格說明->用戶需求規(guī)格說明->項(xiàng)目章程、合同、項(xiàng)目建議書、工作說明書等”的順序往前追溯。通常相關(guān)依據(jù)文檔的可測(cè)試性越好,測(cè)試需求開發(fā)所需要的工作量越少。
軟件測(cè)評(píng)是保證軟件質(zhì)量的重要步驟,它在軟件運(yùn)行之前對(duì)軟件進(jìn)行分析、預(yù)測(cè)、試用等一系列的方法,找到軟件存在的問題和缺陷,以免為以后造成不必要的麻煩和損失。這樣可以使軟件穩(wěn)定、正常地運(yùn)行,提高其可靠性。軟件可靠性評(píng)估是對(duì)軟件正確評(píng)估的重要手段。軟件的可靠性主要是指軟件在一定的時(shí)間和條件下達(dá)到預(yù)期的目的的能力。軟件的可靠性是軟件的固有特性,它表明的是軟件用戶對(duì)軟件的滿意度,可靠的軟件是完整的、能夠滿足用戶需求、正確的。它的要素主要有:一定的時(shí)間限制、特定的環(huán)境、特定的功能。
1 軟件測(cè)試與可靠性評(píng)估的現(xiàn)狀
就目前來看,軟件測(cè)試并沒有受到人們的充分重視,還存在著許多的誤區(qū),這樣不利于軟件質(zhì)量和性能的提高。首先,人們普遍認(rèn)為軟件測(cè)試實(shí)在軟件開發(fā)后進(jìn)行的,其實(shí)并不是這樣,軟件測(cè)試是貫穿整個(gè)軟件項(xiàng)目中的,在的每一個(gè)軟件活動(dòng)中都要進(jìn)行不同的測(cè)試,用以保證每個(gè)階段的正確性,從而來保證軟件的質(zhì)量。其次,在軟件發(fā)現(xiàn)問題之后,往往將責(zé)任歸咎于軟件測(cè)試人員,這是不正確的。軟件出現(xiàn)錯(cuò)誤應(yīng)該要從多方面考慮,要查清楚原因再做定奪,否則會(huì)挫敗軟件測(cè)試人員的工作積極性。然后就是,對(duì)軟件測(cè)試的要求過低,工作人員的職業(yè)素質(zhì)比較低下。絕大多數(shù)人認(rèn)為軟件測(cè)試是一項(xiàng)簡(jiǎn)單的工作,任何人都有能力勝任,其實(shí)不然,軟件測(cè)試工作需要具備專業(yè)技能的人才,掌握了相關(guān)的知識(shí),具有很強(qiáng)的責(zé)任心。此外,大部分人認(rèn)為軟件測(cè)評(píng)只與測(cè)試人員有關(guān)。實(shí)際上,軟件測(cè)試還與程序員有關(guān)。因?yàn)檐浖y(cè)試需要各個(gè)工作人員保持密切的聯(lián)系。最后,軟件測(cè)評(píng)往往會(huì)在時(shí)間比較緊時(shí)做少量的測(cè)試,而有充足的時(shí)間會(huì)做比較多大測(cè)試。
我國(guó)在軟件可靠性評(píng)估這一塊發(fā)展得比較晚,還存在著許多的不足。首先對(duì)軟件評(píng)估沒有一個(gè)完整規(guī)范的管理系統(tǒng),在軟件項(xiàng)目工作安排上缺乏科學(xué)有效性,導(dǎo)致各種評(píng)估誤差,影響軟件的進(jìn)一步發(fā)展,影響到軟件占據(jù)市場(chǎng)的份額。此外,目前我國(guó)的軟件可靠性評(píng)估一般將重點(diǎn)放在軟件的研制階段,對(duì)軟件的評(píng)估程度不到位,導(dǎo)致軟件項(xiàng)目后期出現(xiàn)一定的誤差。而且我國(guó)關(guān)于軟件評(píng)估的可靠性沒有相對(duì)其他國(guó)家嚴(yán)謹(jǐn)規(guī)范的標(biāo)準(zhǔn),對(duì)軟件的評(píng)估存在著許多的問題,再加上軟件評(píng)估人員的職業(yè)素質(zhì)有限,對(duì)其認(rèn)識(shí)具有不一致性,導(dǎo)致無法有實(shí)際意義、正確、有效地進(jìn)行評(píng)估,相關(guān)的部門得不到有用的信息,從而誤導(dǎo)軟件公司做出錯(cuò)誤的決策,不利于企業(yè)的競(jìng)爭(zhēng)與發(fā)展。
2 軟件測(cè)試與可靠性評(píng)估的意義
軟件測(cè)評(píng)與可靠性評(píng)估能夠發(fā)現(xiàn)軟件存在的錯(cuò)誤與缺陷,促進(jìn)軟件的完善與改進(jìn),讓其更好地為軟件用戶服務(wù),滿足軟件用戶的需求。然后,能夠有效定義軟件成分有低層到高層的組裝過程,便于日后軟件的維護(hù)與修改。此外,能夠有效驗(yàn)證軟件那是否符合原有和相關(guān)規(guī)定要求,迫使企業(yè)軟件從開發(fā)到軟件投放市場(chǎng),都有利于是軟件正規(guī)化,符合相關(guān)規(guī)章制度,避免一些非法操作的軟件投入市場(chǎng),損害某些個(gè)人以及集體的利益。
3 使得軟件測(cè)試與可靠性評(píng)估有效的措施
軟件的測(cè)試與可靠性評(píng)估的方法是極為重要的,如何讓其高效、正確的為軟件服務(wù),是軟件研發(fā)、研究組織應(yīng)該為之努力的目標(biāo)。其一,要科學(xué)的管理系統(tǒng),對(duì)軟件人員進(jìn)行很好的管理,讓其充分發(fā)揮優(yōu)勢(shì),使整個(gè)系統(tǒng)有組織、有次序的運(yùn)行,既能節(jié)約資源,又能提高工作效率。其二,軟件人員要充分認(rèn)識(shí)到軟件測(cè)試與可靠性評(píng)估的重要性,在工作當(dāng)中認(rèn)真負(fù)責(zé),不能因?yàn)閭€(gè)人原因而影響了整個(gè)軟件開發(fā)運(yùn)行的進(jìn)度和質(zhì)量。其三,要注意對(duì)軟件測(cè)試與評(píng)估的宣傳,讓其他人認(rèn)識(shí)到這不僅僅只是軟件檢測(cè)員與軟件評(píng)估員的事情,要求大家團(tuán)結(jié)合作,避免某一環(huán)節(jié)出現(xiàn)錯(cuò)誤。其四,要培養(yǎng)出一批具備專業(yè)水平的軟件測(cè)試與評(píng)估人才,充分發(fā)揮其作用。所以組織要對(duì)其進(jìn)行定期的培訓(xùn),并要保證培訓(xùn)的質(zhì)量,不能僅僅將其當(dāng)成一種形式與任務(wù),要將培訓(xùn)工作落到實(shí)處,真正提高工作人員的職業(yè)技能,要對(duì)培訓(xùn)過程中不認(rèn)真的人進(jìn)行一定程度的懲罰,每次培訓(xùn)完后要進(jìn)行考核,檢測(cè)培訓(xùn)質(zhì)量,并為下一次的培訓(xùn)提供經(jīng)驗(yàn)。這樣就能夠在很大程度上提高培訓(xùn)的效果,不至于培訓(xùn)無效,浪費(fèi)人力、物力、財(cái)力。
4 軟件測(cè)試與軟件可靠性評(píng)估的原則
首先,軟件測(cè)試與評(píng)估應(yīng)該要及時(shí),并且要增加測(cè)試、評(píng)估的力度,盡可能地多進(jìn)行測(cè)試,進(jìn)行評(píng)估。此外,要注意軟件開發(fā)過程的整體性,保證軟件測(cè)試貫穿于整個(gè)軟件設(shè)計(jì)當(dāng)中,與其他步驟結(jié)合起來,及時(shí)發(fā)現(xiàn)錯(cuò)誤的早期階段,降低組織軟件的成本,測(cè)試時(shí)要將相關(guān)的數(shù)據(jù)結(jié)合起來,比如說:測(cè)試的輸入數(shù)據(jù)與其對(duì)應(yīng)的輸出數(shù)據(jù)。要防止軟件工作人員檢測(cè)自己所設(shè)計(jì)的程序。要按計(jì)劃、全面地實(shí)施軟件測(cè)試。軟件評(píng)估要保證客觀、科學(xué),不能以主觀心態(tài)來評(píng)判,要有科學(xué)依據(jù)。采納一些比較科學(xué)的方法來進(jìn)行評(píng)估。要遵循謹(jǐn)慎原則,不能過于隨意,要加強(qiáng)重視,以防止評(píng)估出現(xiàn)誤差,造成不必要的損失。
5 小結(jié)
軟件測(cè)試與可靠性評(píng)估對(duì)于軟件的進(jìn)步發(fā)展有著重大的意義,相關(guān)的部門、組織要高度引起重視,客觀、正確、科學(xué)地看待軟件測(cè)試與評(píng)估,針對(duì)自己關(guān)于軟件測(cè)試與評(píng)估所出現(xiàn)的問題采取相關(guān)的措施,從而促進(jìn)軟件自身的完善與發(fā)展,提高軟件的市場(chǎng)競(jìng)爭(zhēng)力。由于本人的學(xué)識(shí)有限,如果本文存在著任何的缺點(diǎn)和不足,請(qǐng)大家諒解。
參考文獻(xiàn)
[1]科教導(dǎo)刊編輯部;軟件測(cè)試外包一站式人才培養(yǎng)模式的探索與實(shí)踐[J];科教導(dǎo)刊;2013年第33期
[2]易敏捷;基于多平臺(tái)的計(jì)算機(jī)軟件測(cè)試方法分析[J];科技傳播;2013年第20期
[3]王文斌、劉方舟、劉雪;基于云計(jì)算平臺(tái)的軟件測(cè)試策略[J];計(jì)算機(jī)光盤軟件與應(yīng)用;2013年第17期
作者簡(jiǎn)介
1.課程的定位與教學(xué)設(shè)計(jì)
1.1 課程定位
《軟件測(cè)試》課程作為軟件專業(yè)二年級(jí)下學(xué)期的專業(yè)課,它的前導(dǎo)課程是《數(shù)據(jù)庫(kù)設(shè)計(jì)》、《數(shù)據(jù)結(jié)構(gòu)》、《軟件工程實(shí)施》,后續(xù)課程是課程實(shí)訓(xùn)及畢業(yè)實(shí)習(xí)。通過本課程的學(xué)習(xí),使學(xué)生加深對(duì)軟件測(cè)試基本理論和基本方法的理解與應(yīng)用,能熟練使用常用軟件測(cè)試工具,并能運(yùn)用軟件測(cè)試工具完成應(yīng)用軟件的測(cè)試工作,提高學(xué)生對(duì)軟件的測(cè)試與維護(hù)能力,并進(jìn)一步培養(yǎng)學(xué)生的的團(tuán)隊(duì)協(xié)作能力。
1.2 課程設(shè)計(jì)思路
軟件測(cè)試是高職計(jì)算機(jī)軟件專業(yè)學(xué)生在以后的工作崗位上要用到的核心技能。因此,本課程應(yīng)該作為專業(yè)必修課程和核心課程,重點(diǎn)培養(yǎng)學(xué)生在以后的工作崗位上所需的職業(yè)能力:白盒測(cè)試、黑盒測(cè)試、自動(dòng)化功能測(cè)試與性能測(cè)試。
《軟件測(cè)試》課程的總體設(shè)計(jì)思路是,轉(zhuǎn)變傳統(tǒng)的學(xué)科課程模式,不再以知識(shí)傳授為主,構(gòu)建以工作任務(wù)為中心的企業(yè)培訓(xùn)體系,引入企業(yè)項(xiàng)目,讓學(xué)生在真實(shí)的企業(yè)項(xiàng)目中完成相應(yīng)的工作任務(wù),從而儲(chǔ)備相關(guān)的專業(yè)知識(shí),發(fā)展職業(yè)能力。授課內(nèi)容重點(diǎn)突出對(duì)學(xué)生職業(yè)能力的培養(yǎng)。課堂上不再單純地只講授理論知識(shí),而是圍繞實(shí)際工作任務(wù)的需要來選取,這充分考慮了高職學(xué)生動(dòng)手能力強(qiáng),理論知識(shí)薄弱的特點(diǎn)。
2.教學(xué)設(shè)計(jì)
2.1 教學(xué)情境設(shè)計(jì)
本課程小組通過學(xué)院專業(yè)指導(dǎo)委員會(huì)、重慶亞德科技、重慶大佳、重慶港澳大家等軟件公司的企業(yè)技術(shù)人員進(jìn)行實(shí)際調(diào)查,制定了適合高職學(xué)生的軟件測(cè)試課程體系與職業(yè)能力,確定了軟件測(cè)試課程典型的教學(xué)情景與子情景,在教學(xué)情景中給出具體的工作任務(wù)、工作方法以及要求學(xué)生掌握的知識(shí)與技能等,在教學(xué)中貫徹理論實(shí)踐一體化的教學(xué)模式,做到教、學(xué)、做三結(jié)合,充分體現(xiàn)工學(xué)結(jié)合的優(yōu)勢(shì),培養(yǎng)學(xué)生的職業(yè)素質(zhì)。本課程的5個(gè)工作過程及11個(gè)典型工作任務(wù)如表1所示。
2.2 教材設(shè)計(jì)
(1)教材應(yīng)充分考慮軟件測(cè)試的實(shí)踐特性,以工作任務(wù)為導(dǎo)向,引入必須的軟件測(cè)試?yán)碚撝R(shí),讓學(xué)生在實(shí)際測(cè)試的過程中,循序漸進(jìn)地掌握必要的理論知識(shí)。
(2)編寫的內(nèi)容要以項(xiàng)目驅(qū)動(dòng)為原則,以企業(yè)的實(shí)際案例、場(chǎng)景模擬、工作過程錄像為載體,增強(qiáng)課后的能力拓展,并根據(jù)高職學(xué)生的職業(yè)能力所需知識(shí)的深度和廣度來編寫,并在具體的工作任務(wù)中使學(xué)生逐漸形成團(tuán)隊(duì)協(xié)作意識(shí)。
(3)教材應(yīng)突出軟件測(cè)試技術(shù)的實(shí)用性、前瞻性和開放性,不能只是簡(jiǎn)單地介紹一些技術(shù)上的操作,而忽略了軟件學(xué)生所需的職業(yè)能力,在教材中應(yīng)融入軟件測(cè)試技術(shù)中所用到的新規(guī)范、新技術(shù)、新標(biāo)準(zhǔn)、新工具、新知識(shí),讓學(xué)生能系統(tǒng)地掌握軟件測(cè)試的前沿知識(shí)。
(4)教材應(yīng)充分引領(lǐng)學(xué)生主動(dòng)、積極地去學(xué)習(xí),因此,文字表述要簡(jiǎn)明扼要,內(nèi)容展現(xiàn)應(yīng)圖文并茂,內(nèi)容應(yīng)詳略得到。
2.3 教學(xué)方法設(shè)計(jì)
由于本課程的主要教學(xué)內(nèi)容涉及白盒測(cè)試、黑盒測(cè)試、自動(dòng)化功能測(cè)試與性能測(cè)試等操作性很強(qiáng)的教學(xué)環(huán)節(jié),必須通過課程實(shí)訓(xùn)才能達(dá)到對(duì)項(xiàng)目作規(guī)范需求分析的培養(yǎng)目標(biāo)。具體教學(xué)方法設(shè)計(jì)如下:
(1)全班學(xué)生分為N個(gè)項(xiàng)目小組,3人一小組,1人任組長(zhǎng),組長(zhǎng)要求協(xié)調(diào)溝通能力比較強(qiáng)。
(2)在教學(xué)過程中應(yīng)加強(qiáng)學(xué)生對(duì)軟件總體的測(cè)試能力,采用任務(wù)驅(qū)動(dòng)教學(xué),注重以任務(wù)引領(lǐng),提高學(xué)生學(xué)習(xí)興趣;
(3)組建軟件外包中心,引進(jìn)企業(yè)項(xiàng)目,讓學(xué)生真實(shí)地體驗(yàn)在軟件公司的測(cè)試流程。外包中心作為理論實(shí)踐一體化教室,達(dá)到理論和實(shí)際不脫節(jié)。
(4)教學(xué)過程中可參考軟件測(cè)試評(píng)師考試中規(guī)定的知識(shí)要求和技能等級(jí)職業(yè)標(biāo)準(zhǔn)。
(5)教師模擬企業(yè)的項(xiàng)目經(jīng)理,必須具有開拓精神,帶領(lǐng)團(tuán)隊(duì)完成工作任務(wù),并在完成工作任務(wù)的過程中,探索基于工作過程的職業(yè)教育新模式,培養(yǎng)學(xué)生的軟件測(cè)試能力,構(gòu)建軟件測(cè)試知識(shí)體系。
2.4 教學(xué)評(píng)價(jià)設(shè)計(jì)
(1)突出過程評(píng)價(jià),結(jié)合課堂提問、實(shí)作測(cè)試、課后拓展、任務(wù)考核等手段,加強(qiáng)實(shí)訓(xùn)教學(xué)環(huán)節(jié)的考核,并注重平時(shí)考核。
(2)強(qiáng)調(diào)目標(biāo)評(píng)價(jià)和理論與實(shí)踐一體化評(píng)價(jià),注重引導(dǎo)學(xué)生進(jìn)行學(xué)習(xí)方式的改變。
(3)每個(gè)項(xiàng)目小組在完成課程后,要將所學(xué)的內(nèi)容做ppt,匯報(bào)本小組項(xiàng)目完成的情況以及體會(huì)。
(4)實(shí)行學(xué)習(xí)過程的過程化考核。平時(shí)作業(yè)、期中與期末考試均采用上機(jī)實(shí)訓(xùn)的方式考核,對(duì)于不合格者,在團(tuán)隊(duì)的協(xié)作幫助下持續(xù)練習(xí),直至過關(guān)。這樣可以督促學(xué)生不斷地練習(xí),真正提高動(dòng)手能力。
(5)課程的學(xué)期成績(jī)=平時(shí)作業(yè)(10%)+上課考勤(10%)+小組項(xiàng)目測(cè)試情況(30%)+小組ppt總結(jié)情況(10%)+期末成績(jī)(40%)
3.課程資源的開發(fā)與利用
(1)圍繞軟件測(cè)試課程,收集教師和學(xué)生必備的軟件測(cè)試工具,制作適宜教學(xué)的多媒體教學(xué)課件。
(2)組建軟件外包中心,搭建實(shí)訓(xùn)工作平臺(tái),為學(xué)生實(shí)訓(xùn)提供真實(shí)的工作環(huán)境,從而提高其職業(yè)素養(yǎng)。
(3)要充分開發(fā)網(wǎng)絡(luò)課程,讓學(xué)生在課余時(shí)間可以自主學(xué)習(xí),彌補(bǔ)學(xué)生課本知識(shí)的不足。
(4)充分利用和開放實(shí)訓(xùn)中心,將教學(xué)與實(shí)訓(xùn)合一,將理論與實(shí)踐合一,滿足學(xué)生綜合能力培養(yǎng)的要求。
(5)積極利用電子書籍、電子期刊、數(shù)字圖書館、校園網(wǎng)、各大網(wǎng)站等網(wǎng)絡(luò)資源,使教學(xué)內(nèi)容從單一化向多元化轉(zhuǎn)變,通過企業(yè)技術(shù)人員的指導(dǎo),課程教師的輔導(dǎo),使學(xué)生知識(shí)和能力的拓展成為可能。
4.課程的實(shí)施效果
(1)基于項(xiàng)目化的授課內(nèi)容
建立軟件外包中心,引入企業(yè)項(xiàng)目?jī)?nèi)容,軟件測(cè)試的授課內(nèi)容緊緊圍繞企業(yè)項(xiàng)目的典型工作任務(wù)開展,學(xué)生的能力與素質(zhì)參照軟件測(cè)試工程師的崗位要求,讓學(xué)生真實(shí)感受企業(yè)環(huán)境,就業(yè)零距離上崗。
(2)基于過程化的授課方式
老師授課不再單純地講解理論,完全按照企業(yè)的軟件測(cè)試流程開展,制定規(guī)范的軟件測(cè)試計(jì)劃、編寫測(cè)試用例、利用測(cè)試工具測(cè)試、編制測(cè)試報(bào)告,有利于學(xué)生養(yǎng)成職業(yè)化的學(xué)習(xí)習(xí)慣與工作習(xí)慣。
(3)基于理論實(shí)踐一體化的教學(xué)設(shè)備
學(xué)生在軟件外包中心上課以及實(shí)驗(yàn),真正實(shí)現(xiàn)了“做中學(xué),學(xué)中做”的企業(yè)工作環(huán)境。
(4)基于能力化的學(xué)習(xí)評(píng)價(jià)
學(xué)生的評(píng)價(jià)不再單純地以理論考試為依據(jù),而是從學(xué)生的軟件測(cè)試專業(yè)能力、利用軟件測(cè)試工具的能力、團(tuán)隊(duì)溝通協(xié)調(diào)能力進(jìn)行綜合地評(píng)價(jià)。
參考文獻(xiàn)
[1]鄭泳.基于工作過程系統(tǒng)化的高職《軟件測(cè)試》課程設(shè)計(jì)[J].漯河職業(yè)技術(shù)學(xué)院學(xué)院,2010(9).
[2]程茂,溫靜,吳玉潔.《軟件測(cè)試》課程的教學(xué)研究[J].河北師范大學(xué)學(xué)報(bào),2010(4).