第一篇:軟件測試 QTP教學(xué)演示文檔
risfeng.web-105.com 教學(xué)演示--注冊tester參數(shù)化測試
risfeng.web-105.com
risfeng.web-105.com
risfeng.web-105.com
教學(xué)演示--注冊tester參數(shù)化測試+文字驗(yàn)證:
risfeng.web-105.com
risfeng.web-105.com
輸出值功能例子:
risfeng.web-105.com
risfeng.web-105.com
第二篇:軟件測試工作中使用QTP的總結(jié)
軟件測試工作中使用QTP的總結(jié)---轉(zhuǎn)
上一篇 / 下一篇2009-08-18 13:26:28 / 個人分類:測試
查看(68)/ 評論(1)/ 評分(1 / 0)
工具軟件一段時間不用就容易手生,有個備份整理以后復(fù)習(xí)都事半功倍。之前就打算好好弄一下一直拖著沒動筆。網(wǎng)上QTP的學(xué)習(xí)資料大把大把,那些基礎(chǔ)的理論東西看過就過了,實(shí)踐才是王道,操作幾個小時勝過看一天的說明文檔。這里列一些我在用QTP時遇到印象比較深刻的問題和解決方案,其他的小問題屬于QTP熟練操作的范疇就不贅述了。因?yàn)轫?xiàng)目需要接觸了差不多三個月的QTP,自知離QTP高手還有段距離,學(xué)無止盡,有學(xué)習(xí)QTP的朋友歡迎發(fā)表高見大家互相進(jìn)步~
1、QTP自帶函數(shù)print
調(diào)試代碼的時候一般習(xí)慣用Debug或者M(jìn)sgbox函數(shù)。監(jiān)視變量運(yùn)行時的值用Msgbox,個人感覺不方便的一點(diǎn)就是每次在msgbox窗口彈出來后,腳本會暫停執(zhí)行,等到鼠標(biāo)點(diǎn)確定后窗口才會關(guān)閉繼續(xù)運(yùn)行后續(xù)腳本,真的很煩,做自動化測試的時候我真的是已經(jīng)懶到不愿意動一根手指頭。某天無意發(fā)現(xiàn)QTP自帶的函數(shù)print也可以實(shí)現(xiàn)查看變量信息,窗口是非模式的,運(yùn)行時變量值在 QuickTest Print Log窗口上輸出但腳本不用停下來等,而且可以在一個session運(yùn)行完了之后查看所有需要監(jiān)視的變量值。
Eg:
Dim p
p=Browser(“xx”).page.(“xx”).webedit(“object_name”).GetROProperty(“value”)
print p2、calender控件
一般日期格式字段是同時支持手填日期格式的text field和用鼠標(biāo)點(diǎn)日歷控件選擇。但是在DMPOD系統(tǒng)里發(fā)現(xiàn)部分日期格式的字段居然disable了用戶手動輸入的屬性,只能靠點(diǎn)日歷控件來選擇日期。結(jié)果錄到的腳本全變成了img.click,無法回放。查了很久突然某一天找到了辦法,繞過這個控件,強(qiáng)制轉(zhuǎn)換它的屬性值。
Eg:
Dim var_object
Set var_object=Browser(“xx”).page(“xx”).webedit(“calendar_name”).Object
Var_object.readonly=false
Browser(“xx”).page(“xx”).webedit(“calendar_name”).set “4/24/2009”
3、homepage menu
曾經(jīng)困擾了我很久。Homepage dropdown menu 需要鼠標(biāo)移動到主菜單名上才會顯示子菜單目錄,click子菜單目錄進(jìn)入頁面。QTP總是無法捕捉到鼠標(biāo)移動帶出子菜單目錄這個操作,解決辦是用mouseover。
Eg:
Browser(“xx”).page(“xx”).webelment(“homepage menu name”).FireEvent “onMouseOver”
Browser(“xx”).page(“xx”).webelment(“sub menu name”).Click4、自定義checkpoint
在頁面提交保存后,自定義設(shè)置一個檢查點(diǎn),通過判斷某個變量值是否滿足預(yù)期,如果是,則保存成功,如果不是則保存失敗。
Eg:
If Browser(“xx”).page.(“xx”).webedit(“object_name”).GetROProperty(“value”)=“AA” Then
Reporter.ReportEvent micPass,“AA checkpoint”,“page is saved successfully”
Else Reporter.ReportEvent micFail,“AA checkpoint”,“page is not saved successfully”
End If5、編程性描述語言識別對象
剛開始一段時間,一直不知道QTP除了用對象庫識別對象外,還可以用編程性描述語言。后來查了網(wǎng)上的資料才明白過來。
第一種方法:
Browser(“CreationTime:=0”).Page(“index:=1”).WebEdit(“name:=” & edit).Set “ha”
我沒有嘗試過,總感覺不如對象庫來的方便,在對象庫中可以直接選擇和修改用來識別對象的屬性,以及highlight object等功能。
第二種方法:
碰到過一個Case是,頁面上table A里的checkbox元素數(shù)量每次運(yùn)行時都是不相同的,隨著頁面上另一個對象B的值而改變,對象B的值又是參數(shù)化的,最后造成checkbox數(shù)量運(yùn)行前無法預(yù)知。操作時又需要每次都選上所有的checkbox。最后用這種識別對象方法可以順利實(shí)現(xiàn)。
Public function SelectAllCheckBox()
Set NewObject = Description.Create '創(chuàng)建滿足下面三個條件的對象集
NewObject(“micclass”).value =“WebCheckBox”
NewObject(“html tag”).value=“INPUT”
NewObject(“class”).value = “checkBox_class”
Set NewObjects = Browser(“xx”).Page(“xx”).ChildObjects(NewObject)'實(shí)際運(yùn)行時的對象
Numbers = NewObjects.Count 'checkbox的個數(shù)
For i = 0 to NewObjects.count –1 '循環(huán)
NewObjects(i).Set “ON” '每一個checkbox都set on
Next
End Function6、相對路徑
Setting: Tool--option--folder
經(jīng)常有action調(diào)用別的test里的action或者外部vbs文件,訪問功能庫和環(huán)境變量,這時使用相對路徑可以保存有效的路徑信息,提高了腳本可移植性。因?yàn)槟_本文件是需要復(fù)制到別的機(jī)器共享給其他同事用的。
7、正則表達(dá)式對象庫里對每個對象都可以設(shè)置是否用正則表達(dá)式來參數(shù)化識別。腳本里也可以用。
當(dāng)時的case是,頁面提交保存完了會自動生成一個文檔號,文檔號是需要輸出到data table里,但是那個字段developer在設(shè)計的時候居然用了一個webelment的類而且字段值居然是整個table的name,如―xyz— ABC20090101‖,我只要后面的文檔號前面的―xyz—‖是多余的,需要拿到這個對象值后轉(zhuǎn)換成正確的字符串格式才能輸出到data table里。
Eg:
Function regEXfun(patrn,strng)
Dim regEX,Match,Matches
Set regEX = New RegExp
regEX.Pattern=patrn
regEX.IgnoreCase=False
Set Matches =regEX.Execute(strng)
Set Match=Matches(0)
RetStr=Match.value
regEXfun=RetStr
End Function
Dim preNO,newNO
preNO=Browser(“xx”).Page(“xx”).WebElement(“NO”).GetROProperty(“innertext”)
newNO=regEXfun(“ABC……..”,preNO)'雖然每次NO都不一樣,但是格式是固定的:字符串長度總是11位,以ABC開始,后面的數(shù)字是隨機(jī),所以用ABC來匹配字符串
DataTable.Value(“NO”,dtGlobalSheet)=newNO8、密碼
如果登錄頁面的密碼數(shù)據(jù)來源是data table,那么要提前準(zhǔn)備密碼。顯然只能用明文,比如123456,但是QTP錄制輸入密碼時自動生成的腳本是用SetSecure的方法生成一大串密文,如果這樣每次改密碼的時候都要用密文到data table里,很郁悶,這種case時只要手動把SetSecure改為Set就OK啦~
9、waitproperty
在用QTP的過程中,有時因?yàn)橐却硞€對象的值出現(xiàn),加上wait()方法.但是wait里的時間參數(shù),是根據(jù)經(jīng)驗(yàn)估計出來的, 這個對象每次運(yùn)行時可能需要load的時間不一樣,有時候9秒有時候3秒,只好設(shè)置成wait(10),讓QTP等10秒,但是如果對象在10秒內(nèi)已經(jīng) load完,QTP還是會繼續(xù)等到10秒后才往下繼續(xù)執(zhí)行,浪費(fèi)了很多時間.有個辦法是用waitproperty 方法.這樣這個對象在10內(nèi)出現(xiàn)的話,QTP就會繼續(xù)往下執(zhí)行腳本,不用等完10秒。
Browser(“xx”).Page(“xx”).WebButton(“abc”).WaitProperty “visible”,true,10
第三篇:軟件演示交流心得
農(nóng)業(yè)決策支持系統(tǒng)交流演示心得體會(楊秉臻)
軟件演示交流心得
通過《農(nóng)業(yè)信息學(xué)》實(shí)驗(yàn)課程,我們對VB有了更深的了解,對開發(fā)程序也有了接觸。從這段時間的開發(fā)以及演示過程中,每個人多多少少都有些感想體會,我也有一些自己的看法,具體將從以下幾個方面闡述。
一、軟件設(shè)計方面
在著手制作軟件之前進(jìn)行軟件的設(shè)計是必要的,同時也要做好需求分析以及程序設(shè)計的可行性分析。當(dāng)然,后備方案也是可以考慮的。只有這樣才能在軟件設(shè)計過程中有條不紊,使得自己的設(shè)計游刃有余。這些是在這幾次實(shí)驗(yàn)最先體現(xiàn)出來的。我班有許多同學(xué)在拿到“決策系統(tǒng)”實(shí)驗(yàn)設(shè)計要求時就開始了材料的查找,對于設(shè)計的可行性也與其他同學(xué)進(jìn)行了討論,他們?yōu)楹髞碥浖_發(fā)及演示做了很好的基礎(chǔ),一切都進(jìn)行很順利。另一方面,有的同學(xué)沒有做到未雨綢繆,沒有積極地進(jìn)行設(shè)計工作,導(dǎo)致在開發(fā)時遇到不小的阻礙。
二、軟件開發(fā)方面
關(guān)于軟件的開發(fā)過程,首先我先談?wù)勎易约旱闹谱鳌S捎谠谑孪仍O(shè)計時,我有對自己開發(fā)的可行性做了比較充分的考慮,所以在開發(fā)時我也有了充分的準(zhǔn)備。對于我自己開發(fā)的軟件,我知道其開發(fā)的難點(diǎn)在哪兒,技術(shù)的限制點(diǎn)在哪兒。因此,我可以有針對地進(jìn)行網(wǎng)上搜索資料,通過網(wǎng)絡(luò)來獲得技術(shù)支持。大多數(shù)的同學(xué)都是這樣做的。在開發(fā)的一個星期時間里,同學(xué)們被自己的技術(shù)限制性困擾過,抱怨過。但是,大家勇于提問請教,互相交流,互相幫助,學(xué)習(xí)氛圍極其濃厚,很罕見的書香宿舍文化。然而,有的同學(xué)由于事先對自己的設(shè)計很馬虎的了事,在開發(fā)時手忙腳亂,無從下手。另外,未考慮能否可行,以致只能臨時改變設(shè)計方案,開發(fā)得自然說不過去。
三、軟件演示方面
軟件演示是最能吸引人的部分了,我佩服同學(xué)們的開發(fā)技術(shù)水準(zhǔn)。大家設(shè)計的界面很漂亮,這充分體現(xiàn)了“編程是藝術(shù)”這句話。每個人都是藝術(shù)家,每個人都能讓自己的工作通過一件藝術(shù)品展現(xiàn)出來。同學(xué)們經(jīng)過不短的時間來設(shè)計、開發(fā),最后在大家面前展示,這對任何人來說都是一種成長。在這里我不對同學(xué)們的軟件進(jìn)行什么評價,存在即有其合理性,它們可以說是一種見證吧。唯一要提的是,在演示時,有些同學(xué)顯得不太自然,放不開。我以為,不管怎樣,首先要自信,要讓大家能夠聽你展示,這樣也就完成了一半。
最后,我想對這次軟件開發(fā)做個簡單的總結(jié)。我們在做一件事情,首先得要一個全面的計劃,有一個好的開始,也就成功了一半。此外,我們在實(shí)施時會遇到很多的困難,我們不能輕易放棄或者改變。三人行,必有我?guī)煛N覀兛梢园俣龋梢远嗯c他人交流合作,取人之長補(bǔ)己之短。最后,我想說,同學(xué)們只要認(rèn)真做了這幾次的實(shí)驗(yàn),VB技術(shù)水平是肯定能有所提高的。另外,自己認(rèn)真總結(jié)、反思了,也能成長很多。
第四篇:北京鼎普科技公司軟件測試工程師QTP筆試題
北京鼎普科技公司軟件測試工程師QTP筆試題
1.QTP中RO與TO的區(qū)別?
TO是Test Object的簡稱,RO是Runtime Object簡稱,既用來區(qū)分倉庫對象和實(shí)際對象,又用來區(qū)分對象的封裝接口和自身接口。
從實(shí)際作用上來看,應(yīng)該說TO就是是倉庫文件里定義的倉庫對象,RO是被測試軟件的實(shí)際對象。
QTP為用戶提供了兩種操作對象的接口,一種就是對象的封裝接口,另一種是對象的自身接口。對象的自身接口是對象控件本身的接口,對象的封裝接口是QTP 為對象封裝的另一層接口,它是QTP通過調(diào)用對象的自身接口來實(shí)現(xiàn)的。兩種接口的腳本書寫格式的差別在于:自身接口需要在對象名后面加object再加屬 性名或方法名,封裝接口就不用在對象名后面加object.2.QTP中OBJECT SPY的作用?
查看對象,在查看窗口里有列出這些接口,包括屬性和方法。
窗口中間有選擇欄讓你選擇Run-time Object或者Test Object,當(dāng)你選擇Runtime Object時,它顯示的就是對象的自身接口(自身的屬性和方法)
當(dāng)你選擇Test Object時,它顯示的就是對象的封裝接口(封裝的屬性和方法)
3.編寫在QTP腳本,實(shí)現(xiàn)向記事本中輸入 “0123456789ABCDEFG”后,按ENTER? SystemUtil.Run “C:WINDOWSsystem32notepad.exe”
Window(“Notepad”).Activate
Window(“Notepad”).WinEditor(“Edit”).Type “0123456789ABCDEFG”
第五篇:《軟件測試》教學(xué)設(shè)計
《軟件測試》教學(xué)設(shè)計
廣東汕頭華僑中學(xué) 歐陽玲
一、教學(xué)設(shè)計分析
本課內(nèi)容:廣東教育出版社 高中信息技術(shù)(選修4)《數(shù)據(jù)管理技術(shù)》,第四章 開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng) 4.4 軟件測試與數(shù)據(jù)庫維護(hù),第1個課時:軟件測試。
(一)課程內(nèi)容分析
普通高中信息技術(shù)課程標(biāo)準(zhǔn)要求在《數(shù)據(jù)管理技術(shù)》的選修中,讓學(xué)生初步掌握設(shè)計和實(shí)現(xiàn)簡單的數(shù)據(jù)庫應(yīng)用系統(tǒng)的基本方法,并了解數(shù)據(jù)庫的維護(hù)。這是我們教學(xué)的重點(diǎn)。對所開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)進(jìn)行測試和維護(hù),是實(shí)現(xiàn)數(shù)據(jù)庫應(yīng)用系統(tǒng)不可或缺的一個環(huán)節(jié)。成功開展這一內(nèi)容的教學(xué),將有助于學(xué)生對數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程有一個完整的理解。如何讓學(xué)生在有限的課時中順利實(shí)現(xiàn)對問題的理解,對他人開發(fā)的小型系統(tǒng)進(jìn)行科學(xué)評價,又能避免面對晦澀難懂的軟件工程理論無所適從,這是教學(xué)難點(diǎn)所在。
(二)教材處理
本課對教材作適當(dāng)處理,在學(xué)生學(xué)習(xí)完4.1、4.2、4.3之后開展“開發(fā)‘校運(yùn)會資料管理系統(tǒng)’”的綜合活動,讓學(xué)生以進(jìn)行理論學(xué)習(xí)與親身實(shí)踐相互穿插的方式,進(jìn)行一次針對其他小組同學(xué)所開發(fā)“校運(yùn)會資料管理系統(tǒng)”的交換測試的活動,“測評結(jié)果評價和數(shù)據(jù)庫維護(hù)”則放在第2第3個課時。目的是通過讓學(xué)生了解軟件測試與數(shù)據(jù)庫維護(hù),并初步懂得如何科學(xué)地評價一個數(shù)據(jù)庫應(yīng)用系統(tǒng)。
(三)學(xué)生分析 經(jīng)過4.1至4.3節(jié)的學(xué)習(xí),學(xué)生初步掌握用access開發(fā)小型數(shù)據(jù)庫應(yīng)用系統(tǒng)的方法。他們已經(jīng)在綜合活動中通過小組合作開發(fā)出“校運(yùn)會資料管理系統(tǒng)”。設(shè)計一個應(yīng)用系統(tǒng)似乎并不難,但系統(tǒng)中難免出現(xiàn)錯誤,要想使系統(tǒng)達(dá)到最優(yōu)化的性能也不是一件容易的事,系統(tǒng)在投入使用之前必須經(jīng)過全面的嚴(yán)格測試。學(xué)生對“軟件工程”中舉足輕重的軟件測試、數(shù)據(jù)庫維護(hù)等工作還比較陌生,有必要在系統(tǒng)開發(fā)的后期讓學(xué)生親身體驗(yàn)“軟件測試”的過程,引導(dǎo)他們充分認(rèn)識維護(hù)數(shù)據(jù)庫應(yīng)用系統(tǒng)正常工作的重要性。
(四)教學(xué)策略設(shè)計 1
二、教學(xué)過程設(shè)計
基于以上分析,本課的教學(xué)目標(biāo)、重難點(diǎn)及教學(xué)流程設(shè)計如下:
(一)教學(xué)目標(biāo)
1、知識與技能:能設(shè)計合理有效的測試數(shù)據(jù),測試用access開發(fā)的小型數(shù)據(jù)庫應(yīng)用系統(tǒng)。
2、過程與方法:掌握軟件測試的基本方法,學(xué)會設(shè)計測試數(shù)據(jù)、作出預(yù)測以及對測試結(jié)果的分析,逐步培養(yǎng)工程化的思想。
3、情感態(tài)度與價值觀:能夠辯證地看待程序開發(fā)與測試工作之間的關(guān)系,尊重客觀規(guī)律、培養(yǎng)科學(xué)的思維方法、樹立正確的價值觀。
(二)教學(xué)重點(diǎn)與難點(diǎn)
教學(xué)重點(diǎn):了解數(shù)據(jù)庫應(yīng)用系統(tǒng)的測試方法
教學(xué)難點(diǎn): 如何設(shè)計合理的測試數(shù)據(jù)更多地發(fā)現(xiàn)軟件錯誤,如何對數(shù)據(jù)庫應(yīng)用系統(tǒng)進(jìn)行有效評價。
(三)教學(xué)流程設(shè)計
1.關(guān)于教-學(xué)流程和教-學(xué)活動的設(shè)計思路 圖1 本課與其他章節(jié)的關(guān)系示意圖 2 第一個課時
第二、三個課時
說明:這是一次將自己開發(fā)的軟件與他人交換測試的活動,讓學(xué)生扮演“軟件測試員”,一個小組內(nèi)部的所有同學(xué)各自設(shè)計合理的測試數(shù)據(jù)/測試用例,測試另外一個小組開發(fā)的“校運(yùn)會資料管理系統(tǒng)”。對該系統(tǒng)中的軟件程序部分進(jìn)行測試,體驗(yàn)軟件測試的方式和方法,找出軟件缺陷,撰寫測評報告,提交互評報告進(jìn)行交流,最后對整個綜合活動進(jìn)行評價。2.學(xué)生上機(jī)操作安排和教師應(yīng)用信息技術(shù)的情況
(1)學(xué)生上機(jī)操作的任務(wù)與目標(biāo):①與教師共同測試分析案例程序(密碼驗(yàn)證窗體程序)②依據(jù)教學(xué)網(wǎng)頁要求進(jìn)行學(xué)習(xí);③設(shè)計科學(xué)合理的測試用例,對他人所開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)進(jìn)行測試,撰寫測評報告。
教師應(yīng)注意這些方面的巡視指導(dǎo):適當(dāng)指導(dǎo)測試用例的設(shè)計;在學(xué)生遇到問題時,組織他們進(jìn)行合作,通過討論尋求解決問題的途徑,理清工作思路。3(2)教師計劃使用的設(shè)備軟件:投影儀;軟件:access,powerpoint;課件:網(wǎng)頁
三、教與學(xué)的實(shí)際過程描述
(一)教與學(xué)的過程描述 4 注:本說課稿僅詳細(xì)闡述第一個課時的教學(xué)設(shè)計,后續(xù)的教學(xué)設(shè)計簡介請參考附件5
(二)關(guān)鍵環(huán)節(jié)提煉
1、創(chuàng)設(shè)現(xiàn)實(shí)情景:讓學(xué)生作案例分析、填寫在線調(diào)查表,引起他們關(guān)注“軟件測試”問題,將需要傳達(dá)給學(xué)生的信息以調(diào)查表的形式呈現(xiàn),并檢查學(xué)生對這個問題的認(rèn)知程度。
2、回歸課堂,向?qū)W生講授相關(guān)的技術(shù)知識,代替低效率的自由體驗(yàn)活動:授課教師合理采用演示法、講授法,讓學(xué)生與教師一起手工測試“用戶密碼驗(yàn)證程序”、通過教師講授認(rèn)識黑盒測試法與白盒測試法等“軟件測試”知識??以此提高課堂效率,增強(qiáng)學(xué)生的學(xué)習(xí)信心。
3、小組之間的交換測試:這是知識與方法的遷移。讓學(xué)生從活動中提高軟件測試的能力,并體驗(yàn):合理的測試用例和測試策略是提高測試效率的根本。可能每個人都有發(fā)現(xiàn)問題的獨(dú)特角度,讓同一個小組同學(xué)測試另一個組開發(fā)的同一個應(yīng)用系統(tǒng),創(chuàng)造了更多讓他們合作、交流的機(jī)會。
4、信息技術(shù)平臺——教學(xué)網(wǎng)站:為學(xué)生提供在線調(diào)查、上傳文件(作業(yè)共享)、評價的網(wǎng)站平臺,讓他們可以遞交他們所開發(fā)的應(yīng)用系統(tǒng)《軟件功能說明書》、mdb源程序、《測評報告》、自評互評表等,支持學(xué)習(xí)反饋評價。
四、教學(xué)評價
本課的學(xué)習(xí)是一次將自己開發(fā)的“校運(yùn)會資料管理系統(tǒng)”與他人交換測試的活動,評價的方式有:
篇二:軟件測試教案
第一章 軟件及其開發(fā)過程 [教學(xué)目的]
1、理解軟件的含義
2、了解軟件開發(fā)過程 [教學(xué)內(nèi)容] 1.1軟件的含義
1、軟件概念
① 能夠完成預(yù)定功能和性能的、可執(zhí)行的指令(計算機(jī)程序);
② 使得程序能夠適當(dāng)?shù)夭僮餍畔⒌臄?shù)據(jù)結(jié)構(gòu);
③ 描述程序的操作和使用的文檔。
④ 軟件 = 程序 + 數(shù)據(jù)(庫)+ 文檔 + 服務(wù)
2、軟件組成
① 客戶需求mrd(marketing requirement document)③ 軟件規(guī)格說明書online help ⑦ 產(chǎn)品發(fā)布注釋release packages
3、軟件特征
軟件是邏輯的、知識性的產(chǎn)品集合,是對物理世界的一種抽象,或者是某種物理形態(tài)的虛擬化。
① 軟件是硬件的靈魂,硬件是軟件的基礎(chǔ)
② 軟件,是智慧和知識的結(jié)晶
③ 軟件不會“磨損”,而是逐步完善.1.2軟件開發(fā)過程的特性
1.2.1軟件開發(fā)的基本過程 ① 需求分析: 根據(jù)客戶的要
求,清楚了解客戶需求中的產(chǎn)品功能、特性、性能、界
面和具體規(guī)格等,然后進(jìn)行
分析,確定軟件產(chǎn)品所能達(dá)
到的目標(biāo)。
② 設(shè)計: 根據(jù)需求分析的結(jié)
果,考慮如何在邏輯、程序
上去實(shí)現(xiàn)所定義的產(chǎn)品功能、特性等,可以分為概要設(shè)計和詳細(xì)設(shè)計,也可分為數(shù)據(jù)結(jié)構(gòu)設(shè)計、軟件體系結(jié)構(gòu)設(shè)計、應(yīng)用接口設(shè)計、模塊設(shè)計、界面設(shè)計等。③ 編程: 將設(shè)計轉(zhuǎn)換成計算機(jī)可讀的形式。
④ 測試: 對設(shè)計、編程進(jìn)行驗(yàn)證和用戶需求確認(rèn)的過程
⑤ 維護(hù):維持軟件運(yùn)行,修改軟件缺陷、增強(qiáng)已有功能、增加新功能、升級等。1.2.2軟件開發(fā)過程模型
瀑布模型 原型模型 快速應(yīng)用開發(fā)(rad)模型改進(jìn)的v模型 螺旋模型 增量模型和迭代模型 構(gòu)件組裝模型并發(fā)模型xp模型 1.3軟件測試的重要性 1.3.1軟件所帶來的悲劇
1、千年蟲(缺陷問題)
2、迪斯尼的圣誕節(jié)禮物(軟件兼容性問題)
3、美國航天局火星登陸事故(未進(jìn)行集成測試)
為什么會發(fā)生這些問題?
沒有足夠測試缺乏測試平臺 不正確的測試環(huán)境 缺少集成測試缺少性能測試 缺少強(qiáng)度測試缺少可靠性測試?? 1.3.2測試的重要性
“程序測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程”。測試的目的是發(fā)現(xiàn)程序中的錯誤,是為了證明程序有錯,而不是證明程序無錯。
在軟件開發(fā)過程中,分析、設(shè)計與編碼等工作都是建設(shè)性的,惟獨(dú)測試是帶有“破壞性”,測試可視為分析、設(shè)計和編碼3個階段的“最終復(fù)審”,在軟件質(zhì)量保證中具有重要
地位。第二章 軟件測試的基本概念和方法 [教學(xué)目的]
1、理解軟件測試的基本概念
2、理解軟件測試在軟件開發(fā)過程中的重要性
3、理解軟件測試的意義
4、理解軟件測試的基本方法和測試分類 [教學(xué)內(nèi)容] 2.1軟件質(zhì)量
軟件質(zhì)量就是客戶滿意度 2.1.1軟件質(zhì)量的內(nèi)涵
1、構(gòu)成:
① 軟件產(chǎn)品的質(zhì)量,即滿足使用要求的程序
② 軟件開發(fā)過程的質(zhì)量,即能否滿足開發(fā)所帶來的成本、時間、風(fēng)險等要求 ③ 軟件在其商業(yè)環(huán)境中所表現(xiàn)出的質(zhì)量
即就品質(zhì)的軟件應(yīng)該是相對的無產(chǎn)品缺陷或只有極少量的缺陷,能夠準(zhǔn)時遞交給客戶,所花費(fèi)用在預(yù)算內(nèi),并且滿足客戶需求,是可維護(hù)的。
2、特性:
可說明性、有效性、易用性。
廣義的軟件質(zhì)量由產(chǎn)品質(zhì)量、過程質(zhì)量、商業(yè)環(huán)境質(zhì)量三者決定。2.2軟件缺陷(bug)
軟件缺陷:計算機(jī)系統(tǒng)或者程序中存在的任何一種破壞正常運(yùn)行能力的問題、錯誤、或者隱藏的功能缺陷、瑕疵。缺陷會導(dǎo)致軟件產(chǎn)品在某種程序上不能滿足用戶的需要。ieee1983 of ieee standard729中對軟件缺陷的定義:
從產(chǎn)品內(nèi)部看,軟件缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中所存在的錯誤、毛病等各種問題
從外部看,軟件缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背
軟件缺陷的主要類型:
功能特性沒有實(shí)現(xiàn)或部分實(shí)現(xiàn) 設(shè)計不合理,存在缺陷實(shí)際結(jié)果和預(yù)期結(jié)果不一致 運(yùn)行出錯 數(shù)據(jù)結(jié)果不正確、精度不夠 用戶不能接受的其它問
題,如存取時間長,界面不美觀等。
軟件缺陷嚴(yán)重性級別:
① 致命的(fatal):致命的錯誤,造成系統(tǒng)或應(yīng)用程序崩潰、死機(jī)、系統(tǒng)懸掛,或造
成數(shù)據(jù)丟失、主要功能完全缺失
② 嚴(yán)重的(critical):嚴(yán)重的錯誤,指功能或特性沒有實(shí)現(xiàn),主要功能部分缺失,次要功能完全缺失,或致命的錯誤聲明。
③ 一般的(major):不及嚴(yán)重的錯誤,不影響系統(tǒng)的基本使用,但沒有很好地實(shí)現(xiàn)
功能,沒有達(dá)到預(yù)期的效果。
④ 微小的(minor):小問題,對功能幾乎沒有影響
⑤ 建議(suggestion)
軟件缺陷的狀態(tài):
① 激活狀態(tài)
② 己修正狀態(tài)
③ 關(guān)閉或非渡海狀態(tài) 2.2.2軟件缺陷的產(chǎn)生
① 技術(shù)問題
② 團(tuán)隊工作
③ 軟件本身
2.2.3軟件缺陷的構(gòu)成 圖2-1 軟件缺陷構(gòu)成示意圖
圖2-2軟件缺陷存在不同階段分布
圖2-3 軟件缺陷隨著時間帶來越來越大的成本 圖2-4 軟件缺陷隨著時間引起的成本曲線 2.3軟件測試的基本方法 2.3.1軟件測試的原則 p29 2.3.2白盒測試和黑盒測試
根據(jù)測試是針對系統(tǒng)的內(nèi)部結(jié)構(gòu)還是針對具體實(shí)現(xiàn)算法的角度,分為白盒測試和黑盒測試
1、黑盒測試(black-box-texting)(功能測試/數(shù)據(jù)驅(qū)動測試)不管程序內(nèi)部結(jié)構(gòu)是什么,從用戶出發(fā),根據(jù)產(chǎn)品應(yīng)該實(shí)現(xiàn)的實(shí)際功能和巳經(jīng)定義好的產(chǎn)品規(guī)格驗(yàn)證產(chǎn)品所應(yīng)該具有的功能是否實(shí)現(xiàn),每個功能是不都能正常使用,是否滿足用戶的要求。
圖2-5黑盒測試方法示意圖
功能;用于軟件確認(rèn)測試
① 是否有不正確或遺漏了功能
② 在接口上,能否正確地接受輸入數(shù)據(jù),能否產(chǎn)生正確的輸出信息
③ 訪問外部信息是否有錯
④ 性能上是否滿足要求
⑤ 界面是否錯誤,是否不美觀
⑥ 初始化和終止錯誤
方法:等價類劃分、邊界值分析、錯誤推測法、因果圖等
2、白盒測試(white-box-texting)(結(jié)構(gòu)測試或邏輯驅(qū)動測試)已知產(chǎn)品內(nèi)部工作過程,清楚最終產(chǎn)生軟件產(chǎn)品的計算機(jī)程序的結(jié)構(gòu)和語句,按照程序內(nèi)部的結(jié)構(gòu)測試程序,測試程序內(nèi)部的變量狀態(tài)、邏輯結(jié)構(gòu)、運(yùn)行路徑等,檢驗(yàn)程序中的每條通路是否按規(guī)定正常進(jìn)行。
功能:用于軟件驗(yàn)證
方法:邏輯覆蓋(語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋)、基本路(轉(zhuǎn)載于:《軟件測試》教學(xué)設(shè)計)徑測試、循環(huán)覆蓋等
思考:通過白盒測試的軟件是否一定沒有錯誤?
原則:
① 保證每個模塊中所有獨(dú)立路徑至少被使用一次
② 對所有邏輯值均測試為真假值
③ 在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán) ④ 檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性 2.3.3靜態(tài)和動態(tài)的方法
根據(jù)程序是否運(yùn)行,測試可以分為靜態(tài)和動態(tài)測試
靜態(tài)測試:對模塊的源泉代碼進(jìn)行研讀,查找錯誤或悼念一些度量數(shù)據(jù),并不需要對代碼進(jìn)行編譯和仿真運(yùn)行。
① 用人工檢測
② 計算機(jī)輔助靜態(tài)分析
測試包括對軟件產(chǎn)品的設(shè)計規(guī)格說明書的審查、對程序代碼的閱讀、審查 動態(tài)測試:通過觀察代碼運(yùn)行時的動作,來提供執(zhí)行跟蹤、時間分析,以及測試覆蓋度方面的信息。
2.3.4驗(yàn)證和確認(rèn)(verification&validation)
1、驗(yàn)證
檢驗(yàn)軟件是否已經(jīng)正確地實(shí)現(xiàn)了產(chǎn)品規(guī)格說明書所定義的系統(tǒng)功能和特性
2、有效性確認(rèn)
保證所生產(chǎn)的軟件可追溯到用戶需求的一系列活動。確認(rèn)過程提供證據(jù)表明軟件是否滿足系統(tǒng)需求,并解決相應(yīng)問題
3、兩者區(qū)別
驗(yàn)證:是否正確構(gòu)造了軟件,檢驗(yàn)軟件是否與設(shè)計規(guī)格說明書一致
確認(rèn):是否構(gòu)造了正確的軟件,是否滿足用戶的真正需求 2.3.5 alac測試
alac(act-like-a-cusomer)基于客戶使用產(chǎn)品的知識開發(fā)出來的測試方法。用于功能測試篇三:√200512(省級)教學(xué)設(shè)計_《軟件測試》
《軟件測試與數(shù)據(jù)庫維護(hù)》教學(xué)設(shè)計
廣東汕頭華僑中學(xué) 歐陽玲
一、教學(xué)設(shè)計分析
本課內(nèi)容:廣東教育出版社 高中信息技術(shù)(選修4)《數(shù)據(jù)管理技術(shù)》,第四章 開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng) 4.4 軟件測試與數(shù)據(jù)庫維護(hù),第1個課時:軟件測試。
(一)課程內(nèi)容分析
普通高中信息技術(shù)課程標(biāo)準(zhǔn)要求在《數(shù)據(jù)管理技術(shù)》的選修中,讓學(xué)生初步掌握設(shè)計和實(shí)現(xiàn)簡單的數(shù)據(jù)庫應(yīng)用系統(tǒng)的基本方法,并了解數(shù)據(jù)庫的維護(hù)。這是我們教學(xué)的重點(diǎn)。對所開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)進(jìn)行測試和維護(hù),是實(shí)現(xiàn)數(shù)據(jù)庫應(yīng)用系統(tǒng)不可或缺的一個環(huán)節(jié)。成功開展這一內(nèi)容的教學(xué),將有助于學(xué)生對數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程有一個完整的理解。如何讓學(xué)生在有限的課時中順利實(shí)現(xiàn)對問題的理解,對他人開發(fā)的小型系統(tǒng)進(jìn)行科學(xué)評價,又能避免面對晦澀難懂的軟件工程理論無所適從,這是教學(xué)難點(diǎn)所在。
(二)教材處理
本課對教材作適當(dāng)處理,在學(xué)生學(xué)習(xí)完4.1、4.2、4.3之后開展“開發(fā)‘校運(yùn)會資料管理系統(tǒng)’”的綜合活動,讓學(xué)生以進(jìn)行理論學(xué)習(xí)與親身實(shí)踐相互穿插的方式,進(jìn)行一次針對其他小組同學(xué)所開發(fā)“校運(yùn)會資料管理系統(tǒng)”的交換測試的活動,“測評結(jié)果評價和數(shù)據(jù)庫維護(hù)”則放在第2第3個課時。目的是通過讓學(xué)生了解軟件測試與數(shù)據(jù)庫維護(hù),并初步懂得如何科學(xué)地評價一個數(shù)據(jù)庫應(yīng)用系統(tǒng)。
(三)學(xué)生分析 經(jīng)過4.1至4.3節(jié)的學(xué)習(xí),學(xué)生初步掌握用access開發(fā)小型數(shù)據(jù)庫應(yīng)用系統(tǒng)的方法。他們已經(jīng)在綜合活動中通過小組合作開發(fā)出“校運(yùn)會資料管理系統(tǒng)”。設(shè)計一個應(yīng)用系統(tǒng)似乎并不難,但系統(tǒng)中難免出現(xiàn)錯誤,要想使系統(tǒng)達(dá)到最優(yōu)化的性能也不是一件容易的事,系統(tǒng)在投入使用之前必須經(jīng)過全面的嚴(yán)格測試。學(xué)生對“軟件工程”中舉足輕重的軟件測試、數(shù)據(jù)庫維護(hù)等工作還比較陌生,有必要在系統(tǒng)開發(fā)的后期讓學(xué)生親身體驗(yàn)“軟件測試”的過程,引導(dǎo)他們充分認(rèn)識維護(hù)數(shù)據(jù)庫應(yīng)用系統(tǒng)正常工作的重要性。
(四)教學(xué)策略設(shè)計
二、教學(xué)過程設(shè)計
基于以上分析,本課的教學(xué)目標(biāo)、重難點(diǎn)及教學(xué)流程設(shè)計如下:
(一)教學(xué)目標(biāo)
1、知識與技能:能設(shè)計合理有效的測試數(shù)據(jù),測試用access開發(fā)的小型數(shù)據(jù)庫應(yīng)用系統(tǒng)。
2、過程與方法:掌握軟件測試的基本方法,學(xué)會設(shè)計測試數(shù)據(jù)、作出預(yù)測以及對測試結(jié)果的分析,逐步培養(yǎng)工程化的思想。3、情感態(tài)度與價值觀:能夠辯證地看待程序開發(fā)與測試工作之間的關(guān)系,尊重客觀規(guī)律、培養(yǎng)科學(xué)的思維方法、樹立正確的價值觀。
(二)教學(xué)重點(diǎn)與難點(diǎn)
教學(xué)重點(diǎn):了解數(shù)據(jù)庫應(yīng)用系統(tǒng)的測試方法
教學(xué)難點(diǎn): 如何設(shè)計合理的測試數(shù)據(jù)更多地發(fā)現(xiàn)軟件錯誤,如何對數(shù)據(jù)庫應(yīng)用系統(tǒng)進(jìn)行有效評價。
(三)教學(xué)流程設(shè)計
1.關(guān)于教-學(xué)流程和教-學(xué)活動的設(shè)計思路
圖1 本課與其他章節(jié)的關(guān)系示意圖
第一個課時
第二、三個課時
說明:這是一次將自己開發(fā)的軟件與他人交換測試的活動,讓學(xué)生扮演“軟件測試員”,一個小組內(nèi)部的所有同學(xué)各自設(shè)計合理的測試數(shù)據(jù)/測試用例,測試另外一個小組開發(fā)的“校運(yùn)會資料管理系統(tǒng)”。對該系統(tǒng)中的軟件程序部分進(jìn)行測試,體驗(yàn)軟件測試的方式和方法,找出軟件缺陷,撰寫測評報告,提交互評報告進(jìn)行交流,最后對整個綜合活動進(jìn)行評價。2.學(xué)生上機(jī)操作安排和教師應(yīng)用信息技術(shù)的情況
(1)學(xué)生上機(jī)操作的任務(wù)與目標(biāo):①與教師共同測試分析案例程序(密碼驗(yàn)證窗體程序)②依據(jù)教學(xué)網(wǎng)頁要求進(jìn)行學(xué)習(xí);③設(shè)計科學(xué)合理的測試用例,對他人所開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)進(jìn)行測試,撰寫測評報告。
教師應(yīng)注意這些方面的巡視指導(dǎo):適當(dāng)指導(dǎo)測試用例的設(shè)計;在學(xué)生遇到問題時,組
織他們進(jìn)行合作,通過討論尋求解決問題的途徑,理清工作思路。
(2)教師計劃使用的設(shè)備軟件:投影儀;軟件:access,powerpoint;課件:網(wǎng)頁
三、教與學(xué)的實(shí)際過程描述
(一)教與學(xué)的過程描述
注:本說課稿僅詳細(xì)闡述第一個課時的教學(xué)設(shè)計,后續(xù)的教學(xué)設(shè)計簡介請參考附件5
(二)關(guān)鍵環(huán)節(jié)提煉
1、創(chuàng)設(shè)現(xiàn)實(shí)情景:讓學(xué)生作案例分析、填寫在線調(diào)查表,引起他們關(guān)注“軟件測試”問題,將需要傳達(dá)給學(xué)生的信息以調(diào)查表的形式呈現(xiàn),并檢查學(xué)生對這個問題的認(rèn)知程度。
2、回歸課堂,向?qū)W生講授相關(guān)的技術(shù)知識,代替低效率的自由體驗(yàn)活動:授課教師合理采用演示法、講授法,讓學(xué)生與教師一起手工測試“用戶密碼驗(yàn)證程序”、通過教師講授認(rèn)識黑盒測試法與白盒測試法等“軟件測試”知識??以此提高課堂效率,增強(qiáng)學(xué)生的學(xué)習(xí)信心。
3、小組之間的交換測試:這是知識與方法的遷移。讓學(xué)生從活動中提高軟件測試的能力,并體驗(yàn):合理的測試用例和測試策略是提高測試效率的根本。可能每個人都有發(fā)現(xiàn)問題的獨(dú)特角度,讓同一個小組同學(xué)測試另一個組開發(fā)的同一個應(yīng)用系統(tǒng),創(chuàng)造了更多讓他們合作、交流的機(jī)會。