




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
內(nèi)容摘要
作業(yè)管理系統(tǒng)的開發(fā),為了解決授課老師和學(xué)生能借助該系統(tǒng)管理學(xué)生四年以來的
作業(yè)代碼,并且能統(tǒng)計學(xué)生的代碼總行數(shù)。由于在開發(fā)作業(yè)管理系統(tǒng)不能缺少測試,本
課題對作業(yè)管理系統(tǒng)的測試方案的設(shè)計,目的為了測試開發(fā)作業(yè)管理系統(tǒng),找到缺陷,
提高開發(fā)系統(tǒng)的質(zhì)量。
本課題的作業(yè)管理系統(tǒng)測試方案的設(shè)計,首先做一個測試需求分析,了解本系統(tǒng)的
系統(tǒng)結(jié)構(gòu),計劃測試流程,最后得出一個測試需求報告。根據(jù)需求報告選擇測試方法和
工具,編寫和設(shè)計測試用例,最后整理缺陷。
為了維護(hù)在教師和學(xué)生與系統(tǒng)的交互上出現(xiàn)的可能錯誤,驗證系統(tǒng)是否實現(xiàn)功能需
求,通過測試作業(yè)管理系統(tǒng),驗證了實現(xiàn)了需求說明書中的所有功能需求,并且在用戶
體驗中比較注重。但是仍然在用戶體驗的流程中仍然發(fā)現(xiàn)有少部分的缺陷,例如學(xué)生提
交作業(yè)后,回看作業(yè)中沒有存在下載作業(yè)文件的鏈接。但是這些缺陷在不太影響用戶的
使用。還有后臺管理的頁面中的管理員對課程、學(xué)生、教師、用戶的管理都需要用戶去
學(xué)習(xí),并不能直觀明白怎么去使用,用戶體驗較差。所以通過現(xiàn)在發(fā)現(xiàn)的這些明顯缺陷,
得出作業(yè)管理系統(tǒng)的用戶體驗上仍需要有地方要改進(jìn)一下。
關(guān)鍵詞:軟件測試,測試用例,需求分析
Abstract
Thedevelopmentofhomeworkmanagementsystem,inordertosolvetheproblem
thatteachersandstudentscanusethesystemtomanagestudents1homeworkcodefor
fouryears,andcancountthetotalnumberofstudents1codelines.Becausethereisno
lackoftestinginthedevelopmentofjobmanagementsystem,thepurposeofthis
projectistotestanddevelopjobmanagementsystem,finddefectsandimprovethe
qualityofdevelopmentsystem.
Thisprojectsjobmanagementsystemtestschemedesign,firstdoatest
requirementsanalysis,understandthesystemstructureofthesystem,planthetest
process,andfinallygetatestrequirementsreport.Selecttestmethodsandtools
accordingtorequirementreport,writeanddesigntestcases,andfinallysortout
defects.
Inordertomaintainthepossibleerrorsintheinteractionbetweenteachersand
studentsandthesystem,andverifywhetherthesystemrealizesthefunctional
requirements,allthefunctionalrequirementsintherequirementsspecificationare
verifiedthroughthetestjobmanagementsystem,andmoreattentionispaidtothe
userexperience.However,therearestillafewdefectsfoundintheprocessofuser
experience.Forexample,afterthestudentssubmitthehomework,thereisnolinkto
downloadthehomeworkfileinthehomework.However,thesedefectsdonotaffect
theuseofusers.Therearebackgroundmanagementofthepageoftheadministrator
ofthecourse,students,teachers,usersneedtolearnthemanagementofusers,and
cannotintuitivelyunderstandhowtouse,userexperienceispoor.Therefore,based
ontheobviousdefectsfoundnow,itcanbeconcludedthatthereisstillroomfor
improvementintheuserexperienceofjobmanagementsystem.
Keywords:softwaretest,testcase,requirementanalysis
目錄
第1章:緒論1
1.1選題的意義和目的1
1.2研究現(xiàn)狀1
1.3課題研究的內(nèi)容和目的2
1.4課題測試目標(biāo)2
1.5論文結(jié)構(gòu)2
第2章:作業(yè)管理系統(tǒng)的需求分析3
2.1系統(tǒng)背景3
2.2系統(tǒng)的結(jié)構(gòu)4
2.3測試流程4
2.4測試需求概述6
2.5測試需求報告6
第3章:作業(yè)管理系統(tǒng)測試方案的測試環(huán)境及工具7
3.1自動化測試框架設(shè)計7
3.1.1測試環(huán)境搭建:7
3.1.2測試腳本錄制8
3.1.3自動化測試之?dāng)?shù)據(jù)驅(qū)動,本框架設(shè)計與實現(xiàn)9
3.2選擇合適的工具10
3.3測試的相關(guān)技術(shù)介紹11
3.3.1白盒測試11
3.3.2黑盒測試13
第4章:作業(yè)管理系統(tǒng)的測試方案13
4.1功能測試13
4.2鏈接測試19
4.3界面測試21
4.4兼容性測試23
4.5性能測試24
第5章:系統(tǒng)測試的測試缺陷說明及結(jié)果33
5.1軟件缺陷的定義33
5.2作業(yè)管理系統(tǒng)存在的缺陷34
第8章:總結(jié)37
參考文獻(xiàn)38
致謝錯誤!未定義書簽。
第1章:緒論
本章的主要作用是介紹本課題研究的意義和目的,測試作業(yè)管理系統(tǒng)的目標(biāo)
和大致的論文結(jié)構(gòu),讓讀者可以從第一章了解到本課題的內(nèi)容。
1.1選題的意義和目的
隨著科學(xué)技術(shù)的日益進(jìn)步,軟件行業(yè)也蓬勃發(fā)展,伴隨而來人們開發(fā)的軟件
越來越多,人們對于軟件的使用也越來越日?;栽谲浖|(zhì)量中,人們對此
也越來越重視,在此形勢之下,對于軟件產(chǎn)品的質(zhì)量的檢驗和測試則成為人們關(guān)
注的重點問題,由此,軟件測試便應(yīng)運(yùn)而生。⑴
目前,隨著互聯(lián)網(wǎng)的發(fā)展,web應(yīng)用開發(fā)需求逐漸增大,但是當(dāng)一個web應(yīng)
用被開發(fā)后,隨著軟件競爭的愈演愈激烈,軟件質(zhì)量已經(jīng)成為軟件的核心競爭力
所在,可見軟件測試的重視程度越來越高。
所以測試web應(yīng)用,軟件測試在整個web應(yīng)用開發(fā)過程中,起著重要作用。
在web應(yīng)用開發(fā)過程中,項目質(zhì)量的提搞需要依靠代碼質(zhì)量的檢測,對代碼
常見問題的排查,這樣可以避免開發(fā)后期問題過多,導(dǎo)致更加困難的情況發(fā)生。
通過制定測試計劃,有利于對作業(yè)管理系統(tǒng)的功能性、安全性、可用性進(jìn)行
多方面的測試,使項目質(zhì)量提高。
軟件測試工作可以在保證其功能完善的前提下,提高項目的開發(fā)質(zhì)量,將規(guī)
范且科學(xué)化的測試方法應(yīng)用到web開發(fā)中,有效提高web開發(fā)的效率。
1.2研究現(xiàn)狀
軟件測試技術(shù)是隨著軟件行業(yè)的產(chǎn)生,發(fā)展而出現(xiàn)的一種技術(shù)。早期的軟件,
由于其規(guī)模和復(fù)雜度都小,軟件的錯誤都是由程序員調(diào)試解決。隨著軟件行業(yè)的
發(fā)展,軟件的規(guī)模越來越大,軟件的復(fù)雜度越來越高,就需要專門的軟件的測試
人員,使用專門的軟件測試技術(shù)對軟件進(jìn)行測試。除了傳統(tǒng)的手動測試外,更多
的是借助專門的軟件測試工具進(jìn)行自動化的軟件測試,越來越多的軟件測試工具
被應(yīng)用到軟件測試中。
1
軟件測試目的是為了保證軟件質(zhì)量,所以在質(zhì)量控制中,軟件的規(guī)范性不斷
提高,貫穿其中的測試活動也越來越優(yōu)化,其中包括軟件設(shè)計文檔評估、測試規(guī)
劃、測試結(jié)果報告。所以在控制軟件測試過程在根據(jù)現(xiàn)狀的軟件測試難度,去控
制軟件測試的時間以及如何在開發(fā)過程下如何進(jìn)行。
1.3課題研究的內(nèi)容和目的
在本課題中,測試web應(yīng)用系統(tǒng)會通過自動化工具和手動測試的結(jié)合來完成
本課題的研究的內(nèi)容。所以在本課題中,我會通過自動化測試,來測試web應(yīng)
用的功能測試、界面測試、鏈接測試……,和通過手動測試,來測試部分不必要
用到自動化測試的地方。
本課題目的,通過測試web應(yīng)用系統(tǒng),說明測試在開發(fā)過程中的執(zhí)行情況,
比較自動化測試和手動測試,說明測試過程中,人有人的優(yōu)勢,機(jī)器有機(jī)器的優(yōu)
勢,進(jìn)行項目測試需要辯證地思考根據(jù)該系統(tǒng)作出哪些地方適合自動化測試做,
并根據(jù)其寫出適合的測試腳本,哪些地方適合手動測試。
1.4課題測試目標(biāo)
測試目標(biāo)有以下幾點:
1.確保該作業(yè)管理系統(tǒng)完成了它所有功能
2.確保作業(yè)管理系統(tǒng)滿足了功能需求中的性能的要求
3.確保該作業(yè)管理系統(tǒng)是健壯的和適應(yīng)用戶環(huán)境,例如適應(yīng)瀏覽器、分辨
率的適應(yīng)
4.為作業(yè)管理系統(tǒng)的質(zhì)量評估提供依據(jù),即從測試作業(yè)管理系統(tǒng)后得出的
測試報告,評估作業(yè)管理系統(tǒng)的質(zhì)量。
5.依據(jù)測試報告,為作業(yè)管理系統(tǒng)的質(zhì)量改進(jìn)和管理提供幫助
所以作業(yè)管理系統(tǒng)的測試最終目標(biāo)是確保系統(tǒng)的功能符合用戶的需求,軟件測試
的目標(biāo)是為了發(fā)現(xiàn)其中的缺陷,防止缺陷。
1.5論文結(jié)構(gòu)
在本論文中,介紹了測試過程中根據(jù)不同的測試用例中,思考如何設(shè)計測試
用例,使用什么方法測試。
2
其中介紹測試過程中使用的工具以及對工具的介紹,功能測試模塊用例的設(shè)
計與實現(xiàn),界面及易用性測試用例執(zhí)行,性能測試用例執(zhí)行。
最后是總結(jié)本論文,我的感想和心得。
第2章:作業(yè)管理系統(tǒng)的需求分析
本章的主要作用是介紹該系統(tǒng)的的背景,闡述測試需求概述,描述測試需求
分析過程
2.1系統(tǒng)背景
教育部發(fā)布的《計算機(jī)類教學(xué)質(zhì)量國家標(biāo)準(zhǔn)》指出,軟件工程專業(yè)要具有滿
足教學(xué)需要的完備實踐教學(xué)體系,主要包括實驗課程、課程設(shè)計、實習(xí)、畢業(yè)設(shè)
計(論文),4年總的實驗當(dāng)量不少于2萬行代碼。現(xiàn)階段,學(xué)生實驗產(chǎn)生的代
碼散步于在線判斷系統(tǒng)、實訓(xùn)平臺和學(xué)生提交的文檔中。授課老師沒有工具或平
臺能夠集成學(xué)生在大學(xué)四年完成的實驗成果,統(tǒng)計所編成的代碼總行數(shù)。為了解
決這個問題,本系統(tǒng)將作業(yè)管理和代碼行數(shù)累計分析功能相結(jié)合。
本課題完成作業(yè)管理系統(tǒng)的測試方案的設(shè)計。主要功能包括:
1.賬號管理的功能測試
2.課程、項目管理的功能測試
3.代碼壓縮包解析功能的正確性測試
4.代碼行數(shù)累計功能的正確性測試
5.文檔/代碼壓縮包提交、導(dǎo)出功能的正確性測試
6.實驗完成情況的功能測試
3
2.2系統(tǒng)的結(jié)構(gòu)
學(xué)生角色
?傅
ffl
C改
?L
用
用faf
產(chǎn)
戶
2.3測試流程
H模型:
介入點
測試過程Q?
準(zhǔn)備過程”執(zhí)行過程
開發(fā)過程?
H模型圖
本測試過程參考采用H模型,這樣介入早,與開發(fā)并行,更早的發(fā)現(xiàn)問題,測試
過程獨立于開發(fā)過程,更客觀,更主動。
具體測試流程,如下圖所示:
4
開始
5
2.4測試需求概述
本系統(tǒng)需要對一下的系統(tǒng)功能進(jìn)行測試:
1)驗證后臺管理和用戶端的賬戶管理,驗證管理員登陸后臺和用戶登錄用
戶端是否可以正常的登錄
2)系統(tǒng)管理員登錄后臺是否能進(jìn)行對課程、教師表、學(xué)生表管理
3)驗證用戶上傳代碼文件能否行數(shù)累計成功和識別哪種編程語言
4)驗證文檔/代碼壓縮包提交、導(dǎo)出功能的正確性
2.5測試需求報告
序號功能名稱功能需求標(biāo)識優(yōu)先級簡要描述備注
1用戶登錄login中用戶在用戶端登錄系統(tǒng)測試
course中創(chuàng)建、刪除、查看和修改測試
2課程管理
課程
homework中發(fā)布、刪除、查看和修改測試
3作業(yè)管理
作業(yè)
hand-in中學(xué)生可以提交作業(yè)作文,測試
4作業(yè)操作
并且能被下載
course-select'1'學(xué)生可以加入公開課程測試
5加入課程
或退出課程
code-analysis中分析作業(yè)(單個文件或測試
6代碼量分析ZIP壓縮包)內(nèi)的全部代
碼文件包括,并記錄
index中系統(tǒng)用戶端界面操作導(dǎo)測試
7主頁導(dǎo)航欄
航欄
profile中用戶查看個人資料,修改測試
8個人中心
郵箱、密碼和自我描述
代碼量分析報code-analysis-vi低可視化展現(xiàn)學(xué)生全部代測試
9
告ew碼提交分析數(shù)據(jù)
6
course-student低老師將課程內(nèi)的學(xué)生分測試
10課程分組
組
homework-comment低老師和學(xué)生可以在發(fā)布測試
11作業(yè)討論
的作業(yè)下討論
homework-count低統(tǒng)計發(fā)布作業(yè)的提交情測試
12作業(yè)統(tǒng)計
況
email-send低系統(tǒng)生成隨機(jī)驗證碼,并測試
13郵件發(fā)送記錄后發(fā)送到指定郵件
地址
forget-password-高
用戶通過郵箱驗證碼找測試
14找回密碼change
回密碼
admin-login管理員在管理端登錄系測試
15管理員登錄
統(tǒng)
管理員創(chuàng)建賬admin-create-use高管理員可以創(chuàng)建單個或測試
16
號r批量賬號
admin-change-use高管理員可以修改用戶賬測試
17修改賬號
r號信息
18權(quán)限管理admin-privilege高超級管理員可以給用戶賦權(quán)測試
第3章:作業(yè)管理系統(tǒng)測試方案的測試環(huán)境及工具
本章的主要作用是介紹該系統(tǒng)使用的該web應(yīng)用系統(tǒng)測試的使用工具以及
對其的介紹。
3.1自動化測試框架設(shè)計
3.1.1測試環(huán)境搭建:
1)下載安裝python3.8,并配置系統(tǒng)環(huán)境變量Path及下載pycharm軟件
7
2)安裝selenium,通過pip命令安裝或者直接下載selenium包進(jìn)行安裝
3)下載HTMLTestRunnerCN,用于生成HTML測試報告
3.1.2使用seleniumIDE錄制腳本
使用Selenium錄制。SeleniumIDE是基于FireFox瀏覽器的一個插件,為
用戶提供腳本錄制、回放以及編輯功能,能夠?qū)浿频哪_本導(dǎo)出生成相應(yīng)的帶單
元測試框架的自動化腳本。但是在多條數(shù)據(jù)測試用例偏多的情況下,推擠手寫腳
本,不推薦使用seleniumIDEo
所在在這里我是先使用seleniumIDE錄制,走一次業(yè)務(wù)流程,然后回放,
看看那里容易出現(xiàn)問題。
以下介紹SeleniumIDE使用,主要使用這個分析頁面元素的原型,如果復(fù)制
的,還是比較依賴于框架。
一、seleniumIDE的安裝
1.在火狐瀏覽器安裝seleniumIDE
2.使用該插件錄制腳本,插件界面如下圖所示為:
8
3.1.3本框架設(shè)計與實現(xiàn)
設(shè)計思路
基于Selenium框架運(yùn)用python語言以及unittest單元測試框架,搭建的
web端UI自動化框架,主要解決在該項目測試過程中,大量重復(fù)的步驟,使用
自動化來實現(xiàn),如表單測試。
這里使用了基于頁面的PageObject設(shè)計模式,該設(shè)計模式是將每個測試頁
面抽象成一個頁面對象,把該頁面的元素定位、元素操作、業(yè)務(wù)流程等都封裝在
該類的方法中,編寫用例時,直接以面向?qū)ο蟮乃枷胝{(diào)用該頁面類中方法。
在編寫測試用例的時候,使用數(shù)據(jù)驅(qū)動測試模式⑴,編寫測試用例的時候,
首先在頭部導(dǎo)入ddt模塊,其次在測試類前聲明使用ddt,然后在測試方法前使
用@(1冊.data。添加該測試方法需要的測試數(shù)據(jù),該函數(shù)接收一個可迭代的類型,
以此來判斷需要執(zhí)行的次數(shù),多組測試數(shù)據(jù)間以逗號隔開。
運(yùn)行測試用例后,使用第三方模塊HTMLTestRunner,生成html文件的測試
報告
一、自動化測試框架的目錄:
▼?webtest-ProjectD:\weL
?EMbase
?tlbussiness
?Elcase
??config
?EMhandle
?ElHTMLTestReportCN
?■Image
?■page
??report
?Elutil
??venvibraryroot
目錄分層如下:
1.bese:放base,py和find_element.py文件,其中base,py放一些公用的
類,對查找元素、點擊元素、輸入元素、獲取文本信息、截圖……方法封裝;
find_element.py使用配置文件
2.bussiness:調(diào)用Base_Page.py文件來編寫頁面的操作層,將需要測試的
頁面,單獨封裝頁面的操作
3.case:調(diào)用操作層的對應(yīng)測試頁面操作文件,來編寫測試用例
9
4.util:放csv_util.py文件,封裝讀取csv文件的數(shù)據(jù)
5.Image:放一些每個測試功能模塊的截圖圖片的文件
6.page:將需要測試的頁面單獨封裝一個頁面類Base_page.py,里面包含測
試頁面內(nèi)元素的定位
7.report:放測試報告文件
8.venv:放虛擬環(huán)境和第三方模塊包的文件
9.config:所有項目相關(guān)的配置文件放在config文件夾里面,用python支
持較好的配置文件格式ini進(jìn)行配置。實現(xiàn)配置與代碼的分離
二、整個代碼執(zhí)行過程
首先,在base文件,編寫base,py放一些共用的類,編寫find_element.py
使用配置文件,目的為了修改元素的名字可以在配置文件上修改。
頁面操作層handle文件,編寫測試頁面操作的代碼
業(yè)務(wù)邏輯層bussiness文件,執(zhí)行測試頁面的操作的邏輯順序
編寫每個頁面的執(zhí)行用例的代碼文件,使用csv模塊,導(dǎo)入測試用例需要的
數(shù)據(jù)文件,通過unittest框架,找到匹配的測試用例(以test_開頭的類),由
HTMLTestRunnerCN,生成HTML測試報告,并將每次錯誤進(jìn)行截圖,截圖文件放
在Image文件下
3.2使用測試作業(yè)管理系統(tǒng)的工具
測試輔助工說明
具
SeleniumSeleniumIDE(集成開發(fā)環(huán)境)是SeleniumSuite下的開源Web自動化測試
IDE
工具,是一款非常優(yōu)秀的自動化工具⑵。與SeleniumWebDriver和RC不同,
它不需要任何編程邏輯來編寫其測試腳本,而只需記錄與瀏覽器的交互以創(chuàng)
建測試用例。之后,可以使用播放選項重新運(yùn)行測試用例。
XenuLinkL從待測網(wǎng)站的根目錄開始搜索所有的網(wǎng)頁文件,對所有網(wǎng)頁文件中的
Sleuth
超鏈接、圖片文件、包含文件、css文件、頁面的內(nèi)部鏈接進(jìn)行讀取。
2.如果是網(wǎng)站內(nèi)文件不存在,指定文件鏈接不存在或者指定頁面不存在,
則將該鏈接和文件的具體位置記錄下來,一直到網(wǎng)站所以頁面中的所有鏈接
都測試后才結(jié)束測試,并輸出測試報告。
[11
JmeterApachejmeter可以用于對靜態(tài)的和動態(tài)的資源(文件,Servlet,Perl腳
本,java對象,數(shù)據(jù)庫和查詢,F(xiàn)TP服務(wù)器等等)的性能進(jìn)行測試。它可以
用于對服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M繁重的負(fù)載來測試它們的強(qiáng)度或分析不同壓
10
力類型下的整體性能。你可以使用它做性能的圖形分析或在大并發(fā)負(fù)載測試
你的服務(wù)器/腳本/對象。
3.3使用的測試方法
3.3.1白盒測試
白盒測試是一種測試用例設(shè)計方法,盒子指的是被測試的軟件,白盒指
的是盒子是可視的,即清楚盒子內(nèi)部的東西以及里面是如何運(yùn)作的。"白盒''法全
面了解程序內(nèi)部邏輯結(jié)構(gòu)、對所有邏輯路徑進(jìn)行測試。⑸
以下舉例,使用了白盒測試的測試用例名稱為教師管理功能測試:
測
用例編試
PR0JECT1-ST-01白盒測試
號方
法
用例名
管理員新增教師信息、查看教師信息、修改教師信息、刪除教師信息
稱
模塊名
教師管理
稱
重要級
中
別
測試在管理員新增教師信息、查看教師信息、修改教師信息、刪除教師信息功能,是
用例概
否達(dá)到功能需求
述
測試環(huán)在CPU為酷睿i76700HQ的筆記本上的windowslO系統(tǒng)測試,網(wǎng)絡(luò)為百兆以太網(wǎng)
境
1.確保完成測試教師管理的功能
2.發(fā)現(xiàn)缺陷
測試目
3.為軟件的質(zhì)量評估提供依據(jù)
標(biāo)
4.確保軟件的功能符合用戶的需求
用戶需1.獲取教師信息
求2.查看用身份表信息
1.https://jicode.xyz/19691201/admin,連接這個網(wǎng)址
前置條2.使用超級管理員權(quán)限的賬號(賬號為:用戶名:yexin密碼:yexinl23)登錄該后
件臺系統(tǒng)
后置條無
件
11
特殊說無
明
用例的測試過程
開始
進(jìn)入教師表
點擊“增加”單擊要修改的勾選要修改的
按鈕教師用戶名教師用戶名
點擊“刪除”
填寫教師資料
基本執(zhí)點擊“保存”
行過程
步驟
T
是
十
顯示提示信
T息,刪除成功
□
顯示提示信顯示提示信
息,添加成功息,修改成功
1■
結(jié)束■
用例編
場景/條件教師信息預(yù)期結(jié)果
號
新增教師,填寫正確的教師信息,顯示
1添加該教師成功
添加成功的提示信息
新增教師,填寫錯誤的教師信息,顯示
2添加該教師失敗
輸入錯誤的提示信息
修改教師信息,填寫正確的教師信息。
3修改該教師成功
顯示修改成功的提示信息
12
修改教師信息,填寫錯誤的教師信息,
4N修改該教師信息失敗
顯示輸入錯誤的提示信息
刪除該教師信息,顯示刪除成功的提示
5空刪除該教師信息成功
信息
3.3.2黑盒測試
黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使
用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)
和內(nèi)部特性的情況下,在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)
格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信
息。黑盒測試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對軟件界面和
軟件功能進(jìn)行測試。⑹
第4章:作業(yè)管理系統(tǒng)的測試方案實施
本章的主要作用是介紹該系統(tǒng)使用的該web應(yīng)用系統(tǒng)測試的說明分析及實
施
4.1功能測試
4.1.1表單測試
測試范圍:測試用戶端登錄
測試方法:首先使用seleniumIDE確定用戶端頁面登錄測試的頁面元素原型,使
用已經(jīng)搭建好的自動化測試框架,寫關(guān)于登錄測試的頁面層Base_page.py中的類
LoginPage,操作層為login_handle.py,執(zhí)行操作邏輯層為login_business.py,最
后編寫測試用例為login_ddt_case.py,進(jìn)行表單測試,然后使用html頁面輸出測
試報告。
以下為測試腳本如下:
頁面層Base_page.py中的類LoginPage:
classLoginPage(object):
def_init_(self,driver):
13
self.fd=FindElement(driver)
#獲取用戶名元素
defget_username_element(self):
returnself.fd.ge^elementf^sername')
ft獲取密碼
defget_password_element(self):
returnself.fd.ge^elementCpassword1)
#獲取錯誤信息
defget_code_text_error_element(self):
returnself?fd.get_element('code_text_eiror')
#點擊按鈕事件
defget_button_element(self):
returnself?fd.get_element('login_buttorT)
操作層為login_handle.py:
#coding=utf-8
frompage.Base_pageimportLoginPage
classLoginHandle(object):
def_init_(self,driver):
self.login_p=LoginPage(driver)
#輸入用戶名
defsend_username(self,username):
self.login_p.get_username_element().send_keys(username)
#輸入密碼一一>一
defsend_password(self,password):
self.loginp.getpasswordelement().sendkeys(password)
ft獲取輸入函鋰信i一一
defget_login_text(selfjnfo,error_tips):
try:
ifinfo=="code_text_eiror”:
#
self.login_p.get_code_text_error_element().get_attribute(error_tips)
#print(error_tips)
text=self.login_p.get_code_text_error_element().text
except:
text=None
returntext
#點擊登錄按鈕
defclick_button(self):
14
self?login_p.get_button_element().dick()
執(zhí)行操作邏輯層為login__business.py:
fromhandle.login_handleimportLoginHandle
classLoginBusiness(object):
def_init_(self,driver):
self.login_h=LoginHandle(driver)
defuser_base(seltusername,password):
self.login_h.send_username(username)
self.login_h.send_password(password)
self.login_h.click_button()
#執(zhí)行操作
#登錄錯誤
deflogin_error(self/username,password):
self.user-basetusername,password)
#根據(jù)Vxt輸出的來判斷登錄錯誤
ifself.login_h.get」ogin_text('code_text_eiror'J用戶名或密碼錯誤!’):
#如窠獲取到文季信息檢驗常功市面判斷
#print(“用戶名或密碼,檢驗不成功”)
#方便后面記錄
returnTrue
編寫測試用例為login__ddt__case.py:
#coding=utf-8
importddt
importunittest
frombussiness.login_businessimportLoginBusiness
fromseleniumimportwebdriver
fromutil.csv_utilimportCsvlltil
fromHTMLTestReportCN.HTMLTestReportCNimportHTMLTestRunner
frommon.keysimportKeys
ex二CsvUtil('.?/config/logindata.csv')
data=ex.getCsvData()
@ddt.ddt
classFirstDdtCase(unittest.TestCase):
defsetUp(self):
self.driver=webdriver.Firefox()
self.driver.get('https://jicode.xyz,)
self,login=LoginBusiness(self.driver)
deftearDown(self):
15
#time.sleep(3)
formethod_name,errorinself._outcome.errors:
iferror:
#case的名字
case_name=self._testMethodName
fp="../Image/loginPNG/"+case_name+n.png"
self.driver.save_screenshot(fp)
self.driver.close()
@ddt.data(*data)
deftest_login_username_error(self,data):
username,password=data
ifusername==Noneandpassword==None:
print("登錄不成功,用戶名和密碼均為空”)
returnTrue
#ifusername!=Noneandpassword!=Noneandself.driver.title=='登陸':
#print("登錄不成功,用戶名和密碼錯誤”)
#returnTrue
iflen(str(username))<6:
print(''登錄不成功,用戶名長度低于6位“)
returnTrue
eliflen(str(password))==0:
print("登錄不成功,密碼為空”)
returnTrue
eliflen(str(password))<6:
print("登錄不成功,密碼太短”)
returnTrue
user_error=self.login.login_error(username/password)
ifself.assertTrue(user_eiror,"登錄成功,這條用例執(zhí)行不成功”):
returnTrue
else:
returnFalse
if_name_=='_main_
file_path=\./report/login^ase.html'
H
f=open(file_path,wb")
suite=unittest.TestLoader().loadTestsFromTestCase(FirstDdtCase)
#suite=unittest.TestSuite()
#suite.addTest(FirstDdtCase(,test_login_username_error,))
##stream指定測試報告文件title定義測試報告的標(biāo)題description定義測
試報告的副標(biāo)題
runner=HTMLTestRunner(stream=f,title="登錄模塊測試報告”)
runner.run(suite)
f.close()
使用了csv文件存儲測試數(shù)據(jù),根據(jù)測試用例編寫了測試數(shù)據(jù)
16
測試用例設(shè)計和結(jié)果如下:
測試完成
用例編測試預(yù)期
測試內(nèi)容操作描述測試輸入數(shù)據(jù)測試結(jié)果后功能描
號結(jié)果
述
錯誤提
示:請輸
入一個正
輸入正確的用戶名:
用戶名和密碼不能成功確的用
不能登錄成用戶名和密YAN123
1大小寫是否敏登錄該系戶名和
功碼,但是不密碼:
感統(tǒng)后臺密碼.注
區(qū)分大小寫AA847644921
意他們都
是區(qū)分大
小寫的.
輸入已經(jīng)注冊輸入已經(jīng)注用戶名:成功登錄
的正確的用戶冊的正確的yanl23該系統(tǒng),
2登錄成功無
名和密碼,驗用戶名和密密碼:跳轉(zhuǎn)到后
證是否能成功碼aa847644921臺主頁
錯誤提示
不能成功為:請輸
輸入已經(jīng)注冊
登錄到該入一個正
的用戶名和錯輸入已經(jīng)注用戶名:
系統(tǒng),跳確的用
誤的密碼,驗不能登錄成冊的用戶名yanl23
3轉(zhuǎn)回該登戶名和
證是否失敗,功和錯誤的密密碼:
錄頁面,密碼.注
并提示正確的碼12345678
錯誤信息意他們都
信息
提示是區(qū)分大
小寫的.
錯誤提示
不能成功為:請輸
輸入未注冊的
登錄到該入一個正
用戶名和任意輸入未注冊
用戶名:系統(tǒng),跳確的用
一個密碼,驗不能登錄成的用戶名和
4yanl234轉(zhuǎn)回該登戶名和
證是否登錄失功任意一個密
密碼:789456錄頁面,密碼.注
敗,并提示正碼
出現(xiàn)錯誤意他們都
確的信息
信息提示是區(qū)分大
小寫的.
用戶名和密碼
都為空的時錯誤提
不輸入,直登錄頁面
候,驗證是否不能登錄成用戶名和密碼示:請更
6接按登錄按刷新,有
登錄失敗,并功為空正下列錯
鈕錯誤提示
提示正確的信誤
息
用戶名和密碼用戶名:登錄頁面錯誤提
不能登錄成輸入用戶名
7兩者有一個為yanl23刷新,有示:請修
功或密碼為空
空的時候,驗密碼:錯誤提示正下面的
17
證是否登錄失用戶名:錯誤
敗,并提示正密碼:
確的信息aa847644921
測試數(shù)據(jù)如下:
用戶名,密碼
yanl23,aa847644921
yanl23,123
anl23,123
yanl23,
,aa847644921
YAN123,aa847644921
使用了第三方模塊HTMLTestReportCN輸出測試報告,如下圖所示為測試報告的
結(jié)果:
登錄模塊測試報告
測試人員;Yan
開始時間:2020-04-2511:02:08
合計耗時:0:01:17.133605
測謊結(jié)果:共7,通過5,錯誤2,通過率=71.43%
概要{71.43%}失敗{0}通過{5}所有{7}
用例集/測試用例總計通過失敗錯誤詳細(xì)
FirstDdtCase7502
總計7502通過率:71.43%
4.1.2搜索功能測試
測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 病房管理精細(xì)化
- 腹股溝滑動疝的臨床護(hù)理
- 員工法律測試題及答案
- 在師帶徒儀式上的發(fā)言稿模版
- 化療相關(guān)護(hù)理
- 中國旅游地理新教學(xué)設(shè)計
- 護(hù)理組長崗位認(rèn)知
- 小學(xué)二年級班主任年終總結(jié)模版
- 2025年人教PEP英語小學(xué)四年級下冊期末檢測題及答案(二)
- 2025年部編版道德與法治小學(xué)四年級下冊期末質(zhì)量檢測題附答案
- “危大工程”驗收標(biāo)識牌
- 人民幣的故事(課堂PPT)
- 生產(chǎn)異常及停線管理規(guī)范(1)
- 學(xué)生英語讀寫情況調(diào)查分析報告(二)
- 河北工業(yè)大學(xué)本科生體育課程考核管理辦法-河北工業(yè)大學(xué)本科生院
- 林木銷售合同
- 病房發(fā)生火災(zāi)應(yīng)急預(yù)案
- 熱學(xué)李椿__電子
- 煤倉安全管理規(guī)范標(biāo)準(zhǔn)
- 適配器安裝、使用、調(diào)試說明
- 施工現(xiàn)場事故應(yīng)急預(yù)案處理程序
評論
0/150
提交評論