![基于旅行類手機APP的測試的初步研究_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/22/3f98995f-16ff-4e36-ad10-96a619ddc238/3f98995f-16ff-4e36-ad10-96a619ddc2381.gif)
![基于旅行類手機APP的測試的初步研究_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/22/3f98995f-16ff-4e36-ad10-96a619ddc238/3f98995f-16ff-4e36-ad10-96a619ddc2382.gif)
![基于旅行類手機APP的測試的初步研究_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/22/3f98995f-16ff-4e36-ad10-96a619ddc238/3f98995f-16ff-4e36-ad10-96a619ddc2383.gif)
![基于旅行類手機APP的測試的初步研究_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/22/3f98995f-16ff-4e36-ad10-96a619ddc238/3f98995f-16ff-4e36-ad10-96a619ddc2384.gif)
![基于旅行類手機APP的測試的初步研究_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/22/3f98995f-16ff-4e36-ad10-96a619ddc238/3f98995f-16ff-4e36-ad10-96a619ddc2385.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、廣東東軟學院本科畢業(yè)設(shè)計(論文)基于旅行類手機APP的測試的初步研究A Preliminary Study Of Testing Base on Travel Mobile APP內(nèi)容摘要隨著人們生活水平的不斷提高,人們對生活的對生活的要求已經(jīng)不滿足于溫飽,更加追求精神上的追求和放松,加上現(xiàn)在社會節(jié)奏變快,現(xiàn)代人都“繃著一根弦”生活。因此,外出旅行成了人們放松精神,釋放壓力的不二選擇。在出行前,做計劃是十分必要的事情。從前人們都是如何了解目的地的呢?大部分都是詢問自己身邊的朋友,征求意見。這樣可以有更加明確的目標,不至于在到達目的地后,一臉茫然,無處可去。但同時,每個人的感受都是不同的,也只有
2、自己親眼見過才能知道是否符合自己的興趣。在旅行類APP中,會有許多用戶在上面分享自己的旅行經(jīng)歷,有文字感受,同時也有真實拍攝的照片,他們也會分享出自己當時的旅行路線,供即將前往該地的出行者參考。在旅行中,“住”也是一個很大的問題,住宿環(huán)境的好壞,很大程度地影響了旅行的心情。在旅行APP中,用戶可以在訂房間前,就可以了解到酒店周圍交通是否便捷,距離景點的距離是否合適,周圍是否有美食店。出行者在旅行中往往會在酒店這一環(huán)節(jié)踩坑,影響旅行體驗。除此之外,查詢出行時間,景點門票購買等等,都是旅行APP的主要功能。本文主要是對旅行類APP的測試進行初步的研究,對旅行類APP進行需求分析,并制定測試計劃,構(gòu)
3、建出測試用例,并采用自動化測試技術(shù),對旅行APP進行簡單的測試腳本編寫,并使用Appium執(zhí)行腳本完成對旅行APP的簡單測試。關(guān)鍵詞: 旅行類APP Appium 測試用例 自動化測試 軟件測試AbstractWith the continuous improvement of peoples living standard, peoples requirements for life are not satisfied with food and clothing, but more spiritual pursuit and relaxation, coupled with the rap
4、id pace of society, modern people are stretched a string life. Therefore, traveling has become the best choice for people to relax and release their pressure.It is necessary to make a plan before going out. How did people know where they were going? Most people ask their friends for advice. This way
5、, you can have a clearer goal, so that you dont arrive at your destination with a blank look on your face and nowhere to go. But at the same time, everyones feelings are different, and only their own eyes can know whether it is in line with their interests. In the travel APP, many users will share t
6、heir travel experiences on it, with their feelings of words and photos taken in real life. They will also share their travel routes at that time for the reference of travelers who are about to go there.In the travel, live is also a big problem, the quality of the accommodation environment, to a larg
7、e extent affects the mood of the trip. In the travel APP, before booking a room, users can find out whether the traffic around the hotel is convenient, whether the distance from the scenic spots is appropriate, and whether there is a food shop nearby. Travelers in the travel often in the hotel this
8、link trample pit, affect the travel experience.Besides, the main functions of the travel APP are to check the travel time and purchase tickets for scenic spots.This paper mainly conducts a preliminary study on the test of travel APP, analyzes the requirements of travel APP, makes test plans, builds
9、test cases, and USES automated test technology to write simple test scripts for travel APP, and USES Appium to execute scripts to complete the simple test of travel APP.Keywords: Travel App Appium Test Case Automated test SoftwareTest目錄第一章緒論81.1選題目的及其意義81.2現(xiàn)狀研究81. 3章節(jié)的安排9第二章工具及技術(shù)介紹102.1 Appium介紹102.
10、1.1簡介102.1.2 Appium架構(gòu)原理102.1.3 Appium工具的優(yōu)點112.2 Eclipse代碼編輯器112.2.1 Eclipse簡介112.3 ADB命令122.3.1 ADB命令的使用方法122.4自動化測試技術(shù)122.4.1自動化測試簡介122.4.2自動化測試的前提條件132.4.3使用自動化測試的場景13第三章測試準備143.1測試需求分析143.1.1開發(fā)背景143.1.2軟件功能143.2制定測試計劃143.2.1 測試進度143.2.2 界面測試工作進度預估153.2.3 功能測試工作進度預估153.2.4 性能測試工作進度預估153.2.5 測試環(huán)境153
11、.2.6 測試工具163.4測試環(huán)境配置163.4.1 SDK配置163.4.2 Node.js 安裝163.4.3 Appium自動化測試工具安裝18第四章進行測試活動194.1界面測試194.1.1界面測試常見測試點194.1.2界面測試用例設(shè)計思維導圖204.1.3界面測試用例204.2功能測試214.2.1功能測試常用方法214.2.2功能測試常見測試點224.2.3功能測試用例設(shè)計思維導圖(選取部分功能)234.2.4功能測試用例244.3性能測試284.3.1性能測試常見測試點294.3.2性能測試常見方法294.3.3性能測試用例設(shè)計思維導圖30第五章測試程序設(shè)計以及實現(xiàn)315.
12、1自動化測試代碼315.1.1登錄315.1.2搜索地名395.1.3航班查詢435.1.4訂單查詢495.2交互和體驗53第六章總結(jié)與期望556.1總結(jié)和期望55參考文獻56致謝58第一章 緒論1.1選題目的及其意義隨著收入水平的不斷增長,人們對生活的質(zhì)量要求在不斷地提高,人們外出旅游,感受各地的風土人情,放松自我,親近大自然的想法也在成倍地增加。至此,去哪里游玩,游玩的預算需要多少以及旅游期間的吃、住、行如何解決的問題成了人們出行前的一個重要的計劃標準。因此人們通常需要借助旅行軟件解決上述問題。旅行軟件的功能包括:用戶的登錄、目的地查詢、展示目的地酒店以及出行方式等。在性能方面要求響應迅速
13、、查詢速度快、占用設(shè)備資源小等等。另外一個比較重要的指標就是安全性要求。其中軟件的UI設(shè)計需要符合大多數(shù)用戶的使用習慣,做到圖標易懂、描述準確、比例正確等等,從而使得用戶可以在短時間內(nèi)熟悉地、正確地使用該旅行軟件。軟件響應時間短,用戶體驗感好。另外軟件要保證用戶的個人隱私不被泄露,保證軟件可以正常地運作。本文從上面三個方面來探討旅行類app的測試方法和測試技術(shù)。1.2現(xiàn)狀研究現(xiàn)如今,由于人們的需求變多,APP的功能也開始多種多樣。對于功能測試,現(xiàn)在采用黑盒測試較多,其中等價類劃分法、邊界值分析法、因果圖法等用的較多。黑盒測試基本不需要有人看著,設(shè)計完測試用例之后就是開始執(zhí)行。不過缺點也明顯,難
14、以尋找和確定造成程序出錯的用例,過度依賴測試用例與經(jīng)驗。另外現(xiàn)在市面上的手機型號眾多,更新?lián)Q代頻繁,因此,APP兼容性的問題十分突出,兼容性的測試,一般有使用其他測試平臺如,Testin云測試。以及使用公司內(nèi)真機測試,優(yōu)點在于簡單快捷,但是也存在著成本太高的問題,對于云測試平臺更加有安全性的問題。性能測試的常見類型則有,基準測試、配置測試、負載測試、壓力測試等等,主要是用LoadRunner,Jmeter,性能測試在單元測試時就要開始做,但并不意味著集成后不需要測試,性能測試的真正目的是測試軟件各單元集成后在真實環(huán)境下是否能可靠地運行。安全測試則是對系統(tǒng)抵御非法侵入的能力進行測試,現(xiàn)在普遍的測
15、試方法是有測試人員以非法入侵者的身份,采用不同的方法去攻擊系統(tǒng),具體的方法也有多種,如,破譯口令、破壞系統(tǒng)保護機制等等?;ㄙM的時間較多以及所需要的技術(shù)更加全面??傮w來說,現(xiàn)如今存在的軟件測試方法有很多,但是各有優(yōu)缺點。當前使用什么樣的方法需要測試人員自己根據(jù)當前情況去判斷,需要有較多的經(jīng)驗。1. 3章節(jié)的安排第1章 為緒論。主要介紹本選題的研究意義及其目的,并闡述一下軟件測試的現(xiàn)狀。第2章 為工具及其技術(shù)的介紹。會對簡單地介紹本課題研究過程中所需要用到的工具以及技術(shù)。主要包括:Appium、Eclipse和ADB命令、自動化測試技術(shù)。并簡要地闡述其架構(gòu)原理、有點以及代碼的常用函數(shù)。第3章 為測
16、試準備。詳細闡述在開始測試活動前需要的做的準備,比如,軟件的需求分析,測試計劃和用例的設(shè)計,以及測試環(huán)境的部署和工具的安裝。第4章 第四章為測試活動的進行。主要從界面測試、功能測試、性能測試和安全測試這四個方面,來進行相關(guān)的測試活動。并簡單闡述各個測試的常見測試點和常見方法,并展示出各部分的用例思維導圖和詳細的測試用例。第5章 為測試程序的設(shè)計和實現(xiàn),在本章將根據(jù)履行APP的主要功能來簡單描述自動化測試的實現(xiàn)代碼以及其實現(xiàn)的結(jié)果。并闡述出在代碼執(zhí)行過程中遇到的和發(fā)現(xiàn)的問題。第6章 為總結(jié)與期望,本章將對整個課題研究進行一個總結(jié),對本次課題研究的漏洞、困難和問題以及對未來軟件測試行業(yè)的期望進行說
17、明。第二章 工具及技術(shù)介紹2.1 Appium介紹2.1.1簡介Appium是一款作用于自動化測試的開源工具,它支持多平臺,比如,IiOS平臺、Android平臺以及web,同時支持原生應用和混合應用。值得一提的是,Appium還支持跨平臺運行。從事軟件測試的工作人員可以用同一套API來編寫自動化測試的測試腳本,并在不同的平臺上使用。這樣可以大大地提高測試工作的效率,極大地提高了iOS平臺和Android平臺的代碼復用性。2.1.2 Appium架構(gòu)原理Appium是實現(xiàn)于手機自身操作系統(tǒng)中自帶的測試框架基礎(chǔ)上的。在不同的手機操作系統(tǒng)上,使用的工具也有所區(qū)別。Android系統(tǒng),4.2版本以上
18、的,使用的是UIAutomator,以及該版本系統(tǒng)自帶的UI自動化測試工具。Android 4.2版本以下的,則使用的是Selendroid,以及基于Android Instrumentation框架所實現(xiàn)的自動化測試工具。iOS系統(tǒng)則沒有版本的差別,使用的是UIAutomation,以及iOS系統(tǒng)自帶的UI自動化測試工具。 圖一 Appium架構(gòu)原理Appium Sever,即Appium服務(wù)器。是Appium架構(gòu)中最重要的核心部分。它的運作是基于Node.js的,是HTTP服務(wù)器。Appium Sever的主要功能是接受從Appium客戶端發(fā)起的連接,監(jiān)聽客戶端發(fā)送的命令,將命令發(fā)送到bo
19、otstrap.jar(用于bootstrap.js的iOS手機)執(zhí)行,并通過HTTP響應將命令的執(zhí)行結(jié)果反饋給Appium客戶端。Bootstrap.jar則是在Android手機上運行的一個程序,在Android手機上起到了TCP服務(wù)的作用。每當Appium Sever有命令運行的需求時,Appium Sever就會與Bootstrap.jar建立TCP通信,并且把命令發(fā)送給它,它會負責運行測試命令。Appium Client,即Appium客戶端。它的主要責任是負責與Appium Sever建立連接,并將編寫好的測試腳本中的命令發(fā)送到Appium Sever。值得一提的是,客戶端可以實現(xiàn)
20、多種語言,比如,Python、Java、C#、PHP等等。Desired Capabilities,是一組鍵值對的集合,其中,鍵相對應的是設(shè)置的名稱,而值相對應設(shè)置的值。它主要用于告訴Appium Sever建立當前所需要的會話。Desired Capabilities中的一些設(shè)置,會影響Appium運行過程中Appium Sever的行為。Session,Appium Client和Appium Sever之間的通信都必須要獎勵在Session上。Client在發(fā)起通信時,會當先給Sever傳送一個“Desired Capabilities”的JSON給Sever。當Sever收到數(shù)據(jù)后,就
21、會獎勵一個Session然后將它的ID返送到Client,在這之后,Client可以使用此ID傳達后續(xù)的指令。比如,在測試腳本上有一個輸入的操作,那么Appium Sever上將會有Input指令,當此指令傳達到安卓系統(tǒng)上時,安卓系統(tǒng)上的Bootstrap.jar將會調(diào)取UIAutomator上的具體方法來執(zhí)行輸入的操作。Appium在Android系統(tǒng)中基于UIAutomator實現(xiàn)Bootstrap.jar,在iOS上則是實現(xiàn)Bootstrap.js。每當測試腳本在運行的時候,腳本都會轉(zhuǎn)換成Appium的指令傳送到Appium Sever,然后Sever會將測試命令交給Bootstrap.
22、jar,,它將負責運行測試。2.1.3 Appium工具的優(yōu)點第一,Appium是開源的,它支出多個系統(tǒng),Android、iOS、Firefox OS。并且Appium Sever也是可以跨平臺運行,無論是設(shè)備是Windows還是Mac OS X還是Linux,都可以使用。第二,Appium支持測試人員使用不同的語言來編寫測試腳本,包括Java、Python、PHP、C#等當前世界上的主流語言。2.2 Eclipse代碼編輯器2.2.1 Eclipse簡介Eclipse是一個基于Java的,開源的可擴展開發(fā)平臺。它本身也只是一個框架和一組服務(wù),使用者可以通過安裝不同的插件來使得Eclipse可
23、以支持不同的語言,比如Python、C+等。不過,Eclipse本身也是附帶了一個標準的插件包。由于Eclipse支持多種插件,使其擁有其他開發(fā)工具難以具備的靈活性,目前世界上很多開發(fā)商都以Eclipse來作為框架。且多種的插件,并不會造成Eclipse的崩潰,因為,Eclipse的動態(tài)調(diào)用這些已安裝的插件的,只有使用者真正地使用某一插件時,該插件才會被調(diào)用,不使用時,就會被清除,不會遺留在內(nèi)存中。圖二 Eclipse體系結(jié)構(gòu)2.3 ADB命令2.3.1 ADB命令的使用方法第一,“Win+R”彈出運行框,輸入cmd,點擊回車第二,彈出“命令提示符”窗口,即可開始使用ADB命令2.4自動化測試
24、技術(shù)2.4.1自動化測試簡介自動化測試就是把軟件測試中的人力行為轉(zhuǎn)化為及其執(zhí)行。在一般情況下,在測試用例評審通過后,測試人員將會改測試用例的描述和事項來一步一步地執(zhí)行測試,然后在把執(zhí)行測試用例的實際結(jié)果與原本的預期結(jié)果來進行對比。在這一過程中,為了節(jié)省人力和設(shè)備以及提高測試效率,便會會會使用自動化測試技術(shù)。2.4.2自動化測試的前提條件第一,需求變動不能過于頻繁。軟件的需求一定避免不了會有變動,頻繁的變動對于自動化測試的工作有很大的影響;第二,項目的周期需要有足夠的長。在正式開始自動化測試工作之前,需要做大量的準備工作,比如,確定自動化測試的需求、設(shè)計自定化測試框架、編寫自動化測試腳本、進行測
25、試環(huán)境的調(diào)試,需要花費比較多的時間;第三,編寫或擁有重復使用率高的自動化測試腳本。擁有一套使用率高的自動化測試腳本,是一勞永逸的。若使用率不足夠高,那么使得自動化測試變成浪費成本、人力、時間的行為。2.4.3使用自動化測試的場景首先,回歸測試可以使用自動化測試。在回歸測試中,大部分為重復單一的工作,可以使用自動化測試來代替人力,避免造成人力和是時間的浪費。此外,在測試人員開始測試工作前,需求要對程序有所理解,并對設(shè)計文檔進行一定的驗證,在此過程中,可以借助于自動化測試技術(shù)。另外,每次測試工作完成后的測試報告,對后續(xù)的工作是有很大作用的,可用于借鑒,自動化測試技術(shù)也有利于測試報告的生成并保持其版
26、本的連貫性。最后,自動化測試還可以確定測試用例的覆蓋率,覆蓋率足夠高,是一份優(yōu)秀的測試用例必備的。第三章 測試準備3.1測試需求分析3.1.1開發(fā)背景旅行類手機APP的應用對象為有出行計劃的出行者們。出行者們可進行一系列關(guān)于旅行的操作,其中包括,用戶注冊登錄、目的地查詢、訂酒店、訂機票(火車票)、旅行攻略等主要功能。該類APP一般運行于當前市面上的主流手機系統(tǒng)Android和iOS。在此類APP被開發(fā)出來之前,人們做出行計劃是是比較困難的。首先,目的地的相關(guān)景點只能從身邊的去過該地的朋友了解。該類APP可以幫助出行者通過軟件中旅行攻略來指定較為完美的旅行計劃,也可以通過照片來判斷,該景點是否符
27、合自己的興趣,也避免了由于描述不同而浪費出行者的時間。另外,訂購機票、火車票等還需要親自到指定的售票點購買,即使是有電話訂購方式,也是需要親自前去指定地點領(lǐng)取,比較麻煩。修改行程,也可以直接通過軟件修改,無需親自前往購票點。訂購酒店也是一大問題,通過電話訂房間無法看到房間的環(huán)境,通過查看該類APP中相關(guān)酒店的照片,就可以大致地了解酒店周圍的環(huán)境,避免踩坑。3.1.2軟件功能序號功能名稱簡要描述1用戶注冊用戶可注冊賬號2用戶登錄用戶可使用注冊的賬號進行登錄操作3目的地查詢用戶可查看目的地相關(guān)信息4訂酒店用戶可訂購酒店房間5訂機票(火車票)用戶可根據(jù)出行方式自行訂票6旅行攻略用戶可查看目的地的旅行
28、攻略3.2制定測試計劃3.2.1 測試進度測試活動計劃開始日期實際開始日期結(jié)束日期制定測試計劃2020.02.032020.02.032020.02.10設(shè)計用例2020.02.052020.02.052020.02.07界面測試執(zhí)行2020.02.102020.02.102020.02.10功能測試執(zhí)行2020.02.112020.02.112020.02.12性能測試執(zhí)行2020.02.132020.02.132020.0 界面測試工作進度預估任務(wù)名稱計劃開始日期計劃工時(人*日)文字UI2020.02.100.25控件UI2020.02.100.25非法字符2020.0
29、2.100.25控件遮擋2020.0.3 功能測試工作進度預估任務(wù)名稱計劃開始日期計劃工時(人*日)登錄功能測試2020.02.110.5地名搜索功能測試2020.02.110.5航班查詢功能測試2020.02.120.5訂單查詢功能測試2020.0.4 性能測試工作進度預估任務(wù)名稱計劃開始日期計劃工時(人*日)內(nèi)存2020.02.130.25CPU2020.02.130.25FPS2020.02.130.25響應時間2020.02.140.25電量消耗2020.02.140.25流量消耗2020.0.5 測試環(huán)境軟件環(huán)境(相關(guān)軟
30、件、操作系統(tǒng))XmindAppium飛豬AndroidWindows硬件環(huán)境(網(wǎng)絡(luò)、設(shè)備)4GTianyi 1003.2.6 測試工具用途工具生產(chǎn)商版本編寫思維導圖Xmind深圳市愛思軟件技術(shù)有限公司8腳本代碼編寫EclipseIBM4.14自動化測試Appium測試環(huán)境配置SDKNode3.4測試環(huán)境配置3.4.1 SDK配置第一步,下載并安裝Android SDK,地址為: 第二步,我們需要設(shè)置Anderson_HOME環(huán)境變量為我們的Android SDK路徑;第三步,把Android SDK路徑下的platform-tools和tools這兩個路徑全部都加入到系統(tǒng)環(huán)境變量的path中。
31、3.4.2 Node.js 安裝第一步,在官網(wǎng)下載對應系統(tǒng)版本的node.js,地址是:/en/download/ 第二步,下載好后,按照程序的提示進行安裝node.js 第三步,檢查node.js是否安裝成功,可以cmd中輸入“node -v”查看版本信息,若成功則會顯示版本 3.4.3 Appium自動化測試工具安裝Appium的安裝我們可以再cmd中使用命令來完成,輸入“npm install -g appium”來安裝。在這一個過程中,花費的時間會比較多。安裝完成后,在cmd輸入appium會出現(xiàn)以下信息,則表示已經(jīng)安裝成功。至此,所有appium所需
32、的環(huán)境已經(jīng)配置完成,我們需要進行進一步的檢查。可以在cmd中輸入“appium-doctor”,出現(xiàn)“All checks were successful”則說明我們的自動化測試環(huán)境已經(jīng)搭建完成。第四章 進行測試活動4.1界面測試界面測試,也稱為UI測試。主要工作是測試某一模塊的界面上的元素,包括:文字、按鈕、圖片等是否正確,顏色、布局是否合理,是否符合大多數(shù)用戶的使用習慣。4.1.1界面測試常見測試點文本框。一個小小的文本框中,就會有許多的測試點。首先,文本框內(nèi)是否為空,是否會有相關(guān)的提示。其次是該文本框的邊界值,也就是最大輸入字符數(shù)和最小輸入字符數(shù)的限制,若字符數(shù)超出或者不足時,界面的提示
33、,處理等。最后是文本框中輸入的內(nèi)容限制,是否支持世界主流文字,對屏蔽字的檢測等。選項按鈕。旅行類APP的選擇按鈕很多,其中包含單選項按鈕、多選項按鈕、圖形按鈕等。對于按鈕,我們需要查看,其默認選項是否正確,多個選項組之間會不會有影響。單選按鈕在多選時,是否會自動取消其他已選中的按鈕,多選按鈕的多選功能是否成功,圖形按鈕的圖片是否正確且合適。文字UI。界面上最多的元素就是文字,這些文字可以讓用戶正確地操作APP。在界面測試中,我們需要對文字的內(nèi)容進行檢查,看是否有錯別字,是否有違法字眼。除此之外還有對其大小、顏色以及位置是否正確。4.1.2界面測試用例設(shè)計思維導圖4.1.3界面測試用例 系統(tǒng)模塊
34、功能點用例說明前置條件預期結(jié)果測試結(jié)果界面文字顏色檢查文字顏色與背景是否沖突打開App文字顏色與背景不沖突一致文字大小檢查文字大小是否合理文字大小與整體相比合理文字布局檢查文字布局是否正確文字位置正確文字顯示文字是否完全顯示文字顯示正常錯別字界面是否有錯別字界面無錯別字控件顏色控件顏色與背景是否沖突控件顏色適合,與背景無沖突控件比例控件比例是否正確控件大小合適控件布局控件位置布局是否正確控件位置布局正確控件描述控件上文字描述是否正確控件上文字描述正確控件顯示控件顯示是否正??丶@示正常非法字符界面是否存在非法字符界面無非法字符控件遮擋控件之間是否存在遮擋控件之間不存在遮擋4.2功能測試功能測試
35、,是根據(jù)該產(chǎn)品的特征、功能描述和用戶需求,來檢查當前產(chǎn)品所具有的特征和功能,以確認其是否滿足當初的設(shè)計需求。4.2.1功能測試常用方法功能測試主要是采用黑盒測試的方法,結(jié)合測試用例對當前功能進行測試。不同的測試對象,需要測試人員自行靈活地選擇不同的測試方法。等價類劃分法:此方法是把該所有可能輸入的數(shù)據(jù),劃分為若干個子集,然后從每一個子集中選取一個值作為代表,該值作為測試用例。當測試對象涉及到大量數(shù)據(jù)時,可以使用該方法。例如有一功能,它的執(zhí)行條件為 15i30 ,我們測試就需要考慮到異常和正常情況,異常情況為 i30,正常情況則為15i30。但是我們也知道,這些條件里包含的數(shù)據(jù)十分龐大,不可能全
36、部枚舉出來,這時就可以使用等價類劃分法,從三個范圍里選取一個值來代表這一類的數(shù)據(jù),提高測試效率。邊界值劃分法:當某一功能執(zhí)行需要滿足一個數(shù)據(jù)范圍時,往往很容易在邊界值處產(chǎn)生問題,因此可以使用此方法進行測試以盡量避免邊界值有可能帶來的問題。根據(jù)需求說明中的范圍,對該部分的邊界值和極限值進行設(shè)計。通常取 min-1,min,min+1,max-1,max,max+1。此方法,通常和等價類劃分法一同使用。例如有一功能,它的執(zhí)行條件為 15i30,當我們使用等價類劃分法將范圍劃分好后,就需要在各范圍選取一個值做代表,如何選取代表值,就用到了邊界值劃分法,選取邊界值作為代表值,此處則選擇15,23,30
37、。因果圖分析法:以需求說明書為基礎(chǔ),用圖來表示各個組合之間的關(guān)系和測試流程圖,從而設(shè)計出測試用例。該方法適用于功能實現(xiàn)之間有聯(lián)系的測試。當我們使用了等價類劃分法和邊界值劃分法后,各種數(shù)據(jù)輸入可能出現(xiàn)bug的情況基本都已經(jīng)描述出來了,但是各個條件之間組合起來的情況卻并未考慮到。這時就可以使用因果圖分析法,與等價類劃分法和邊界值劃分法相結(jié)合,畫出關(guān)系圖,以完善測試用例。錯誤推測法:采用逆向思維,從以往發(fā)現(xiàn)的設(shè)計上的缺陷經(jīng)驗來總結(jié)可能出現(xiàn)問題的地方,并輸出測試用例。該方法只適用于測試經(jīng)驗豐富的測試人員,且我認為當測試用例基本完成后,需要進行補充和完善時用該方法比較合適。是應該方法也不是漫無目的地去回
38、想,有幾個常見的思考依據(jù):第一,分析出各模塊中常見的錯誤;第二,從其他類似APP的bug中汲取想法;第三,曾經(jīng)出過bug但現(xiàn)在已經(jīng)修復完畢的功能。4.2.2功能測試常見測試點功能測試時一款APP上線前的核心測試內(nèi)容,是檢驗當前APP是否能完成需求的重要方式。其常見測試點有:安裝和卸載:我們需要考慮,是否可以正常安裝,覆蓋安裝是否能成功,安裝過程中出現(xiàn)異常情況的處理。權(quán)限設(shè)置:APP上的很多功能都要依賴從手機上獲取權(quán)限,這里我們需要測試,軟件是否有詢問用戶能否獲取權(quán)限,以及權(quán)限開啟后,是否有用。軟件更新:當軟件有新版本是是否會提示更新。網(wǎng)絡(luò)環(huán)境:在不同的網(wǎng)絡(luò)環(huán)境下,是否依然能夠完成用戶的需求。當
39、然最重要的,還是功能是否能實現(xiàn),這也是功能測試的關(guān)鍵所在。以上的測試點是對于整個APP來說的,當我們編寫測試用例時,還需要再針對某一功能再細分。4.2.3功能測試用例設(shè)計思維導圖(選取部分功能) 登錄用例思維導圖 地名搜索用例思維圖航班查詢用例思維圖訂單查詢用例思維圖4.2.4功能測試用例系統(tǒng)模塊功能點用例說明前置條件預期結(jié)果測試結(jié)果登錄手機號碼輸入框檢測輸入是否能正確輸入用戶未登錄用戶可在輸入框內(nèi)正確輸入內(nèi)容一致驗證碼輸入框檢測輸入是否能正確輸入用戶可在輸入框內(nèi)正確輸入內(nèi)容登錄按鈕檢查是否能完成登錄用戶可正常登錄賬戶密碼登錄檢查是否能跳轉(zhuǎn)至賬號登錄界面可正確跳轉(zhuǎn)至賬號登錄界面注冊檢查是否能跳
40、轉(zhuǎn)至注冊頁面可正確跳轉(zhuǎn)至注冊頁面獲取驗證碼檢查是否能獲得驗證碼可正確獲取驗證碼返回按鈕檢查是否會返回上一頁面可正確返回上一頁面幫助檢查是否彈出幫助可正確跳轉(zhuǎn)至幫助頁面賬號輸入框檢測輸入是否能正確輸入用戶可在輸入框內(nèi)正確輸入內(nèi)容密碼輸入框檢測輸入是否能正確輸入用戶可在輸入框內(nèi)正確輸入內(nèi)容密文按鈕檢查是否能轉(zhuǎn)換密碼顯示方式可使密碼取消密文顯示(密文顯示)忘記密碼檢查是否跳轉(zhuǎn)至“忘記密碼”頁面可正確跳轉(zhuǎn)至忘記密碼頁面短信驗證碼登錄檢查是否能跳轉(zhuǎn)至短信驗證碼登錄頁面可正確跳轉(zhuǎn)至短信驗證碼登錄頁面注冊檢查是否能跳轉(zhuǎn)至注冊頁面可正確跳轉(zhuǎn)至注冊頁面幫助檢查是否跳轉(zhuǎn)至幫助頁面可正確跳轉(zhuǎn)至幫助頁面地名搜索地名輸
41、入框檢查輸入框是否能正確輸入已安裝APP;輸入內(nèi)容正確;可以正確輸入內(nèi)容一致客服按鈕檢查是否能正確跳轉(zhuǎn)至客服頁面可以正確跳轉(zhuǎn)至客服頁面搜索按鈕檢查是否能搜索可以準確搜索關(guān)鍵詞搜索歷史檢查是否能顯示歷史查詢記錄可以正確顯示歷史搜索記錄搜索 發(fā)現(xiàn)檢查是否能顯示系統(tǒng)推薦目的地可以正確顯示系統(tǒng)推薦目的地航班查詢機票按鈕檢查是否能進入航班查詢頁面已安裝APP可以跳轉(zhuǎn)至航班查詢頁面一致單程檢查是否能到達單程票頁面可以正確跳轉(zhuǎn)至單程票一欄往返檢查是否能到達往返票頁面可以正確跳轉(zhuǎn)至往返票一欄多程檢查是否能到達多程票頁面可以正確跳轉(zhuǎn)至多程票一欄方向按鈕檢查是否能使出發(fā)地和目的地調(diào)換已正確輸入內(nèi)容;可以正確地調(diào)換
42、目的地和出發(fā)點出發(fā)點輸入框檢查是否能正確輸入內(nèi)容已安裝APP可以正確輸入內(nèi)容目的地輸入框檢查是否能正確輸入內(nèi)容可以正確輸入內(nèi)容艙位選擇檢查是否彈出艙位選項正確輸入出發(fā)地和目的地可以正確地彈出艙位選項搜索機票檢查是否能正確顯示相對應航班信息可以正確地搜索出航班信息航班動態(tài)檢查是否能彈出航班動態(tài)窗口可以正確地顯示航班動態(tài)在線選座檢查是否能轉(zhuǎn)跳至選擇頁面可以正確跳轉(zhuǎn)至選座頁面訂單查詢?nèi)繖z查是否能顯示全部訂單可以顯示所有訂單一致待付款檢查是否只顯示待付款訂單已登錄賬號只顯示待付款的訂單處理中檢查是否只顯示處理中的訂單只顯示處理中的訂單待出行檢查是否只顯示待出行的訂單只顯示待出行的訂單待評價檢查是否只
43、顯示已完成,待評價的訂單只顯示待評價的訂單退款/售后檢查是否只顯示需要退款/售后的訂單只顯示需要退款/售后的訂單返回按鈕檢查是否能正確返回上一頁面已安裝APP并運行可以正確返回上一頁面4.3性能測試性能測試是一種利用自動化測試工具來模擬正常、峰值以及異常的負載環(huán)境,并查看在這些環(huán)境下軟件各個性能的狀態(tài)。一般性能測試是由壓力測試和負載測試組成。負載測試,可以檢測到不同負載情況下,軟件的性能情況以及其變化。壓力測試則是通過明確軟件的最大受壓點,來獲得當前軟件的能提供的最大服務(wù)級別。4.3.1性能測試常見測試點第一,響應時間。一款軟件的響應的速度和響應所花費的時間,直接影響了用戶對該軟件的好感度,所
44、以對響應時間的測試是不可缺少的。其主要的測試點是:冷啟動、熱啟動、完全啟動、有網(wǎng)啟動、無網(wǎng)啟動。第二,內(nèi)存。每一個軟件的運行,都需要占用內(nèi)存,由于每一臺設(shè)備的內(nèi)存都是固定的,如果某一軟件占用內(nèi)存過大,就會導致閃退或卡頓。一款正常的軟件,在正常情況下是不應該占用過多內(nèi)存的。其只要測試點有:空閑狀態(tài)、中強度狀態(tài)、高強度狀態(tài)。第三,CPU。對該項的測試,主要是關(guān)注其占用率,當CPU占用率過高時,手機就會發(fā)燙,從而導致整個手機變得卡頓,性能降低,使得用戶的體驗感差。其主要測試點是:空閑時間的消耗、運行一些程序時,該APP的CPU占用、高負荷下的CPU表現(xiàn)。第四,F(xiàn)PS,也就是使用應用時的流暢度。每一秒
45、的幀數(shù)越多,屏幕上顯示的動畫就會越流暢。一般來說了,Android的屏幕刷新率是60幀/S。第五,耗電量。這一項很簡單,就是查看軟件使用時的,設(shè)備電量的消耗情況。第六,流量消耗。即使用APP時,流量的消耗情況。4.3.2性能測試常見方法響應時間:冷啟動和熱啟動可在cmd中執(zhí)行“adb shell am start -W 包名/ activity名”。執(zhí)行后,我們需要觀察三個參數(shù),ThisTime(該activity啟動耗時)、TotalTime(應用自身啟動耗時)以及WaitTime(系統(tǒng)啟動應用耗時)。而完全啟動、有網(wǎng)/無網(wǎng)啟動測試,則可通過charles來測試,通過charles可以模擬無
46、網(wǎng)、弱網(wǎng)等網(wǎng)絡(luò)環(huán)境。內(nèi)存:可通過使用adb命令“adb shell dumpsys meminfo 包名”來測試。在這一階段,我們需要關(guān)注Native heap alloc(JNI層的內(nèi)存分配)、Dalvik heap alloc(Java層的內(nèi)存分配)以及PSS(應用占據(jù)內(nèi)存的大小)。當前個參數(shù)一直在增長時,說明APP很可能出現(xiàn)了內(nèi)存泄漏。CPU:通過使用adb命令“top -m -s cpu |grep 包名”可查看具體某一APP的cpu占用率。FPS:測試當前APP的FPS,需要我們提前在設(shè)備打開APP,并使用adb命令“adb shell dumpsys gfxinfo 包名”。耗電量
47、和流量消耗:這兩項的測試,可直接看設(shè)備電量前后變化以及流量前后的變化。4.3.3性能測試用例設(shè)計思維導圖 性能測試用例思維圖第五章 測試程序設(shè)計以及實現(xiàn)5.1自動化測試代碼5.1.1登錄driver.findElementByXPath(/android.widget.TextViewtext=我的).click();/跳轉(zhuǎn)至登錄頁面driver.findElementById(com.taobao.trip:id/aliuser_login_mobile_et).click();/點擊輸入框driver.findElementById(com.taobao.trip:id/aliuser_l
48、ogin_mobile_et).sendKeys;/輸入電話號碼driver.findElementById(com.taobao.trip:id/aliuser_login_send_smscode_btn).click();/點擊發(fā)送驗證碼driver.findElementById(com.taobao.trip:id/aliuser_register_sms_code_et).click();/點擊驗證碼輸入框 driver.findElementById(com.taobao.trip:id/aliuser_register_sms_code_et).sen
49、dKeys(驗證碼);/輸入驗證碼driver.findElementById(com.taobao.trip:id/aliuser_login_login_btn).click();/點擊登錄driver.findElementById(com.taobao.trip:id/aliuser_login_switch_pwdlogin).click();/點擊賬號密碼登錄driver.sendKeyEvent(4);/返回上一頁面driver.findElementById(com.taobao.trip:id/aliuser_reg_tv).click();/點擊注冊按鈕 driver.se
50、ndKeyEvent(4);/返回上一頁面driver.findElementById(com.taobao.trip:id/aliuser_menu_item_help).click();/點擊幫助按鈕driver.sendKeyEvent(4);/返回上一頁面driver.findElementById(com.taobao.trip:id/aliuser_login_account_et).click();/點擊賬號輸入框 driver.findElementById(com.taobao.trip:id/aliuser_login_account_et).sendKeys(177656
51、02617);/輸入賬號 driver.findElementById(com.taobao.trip:id/aliuser_login_password_et).click();/點擊密碼輸入框 driver.findElementById(com.taobao.trip:id/aliuser_login_password_et).sendKeys(12345678);/輸入密碼 driver.findElementById(com.taobao.trip:id/aliuser_login_show_password_btn).click();/密文按鈕driver.findElementB
52、yId(com.taobao.trip:id/aliuser_login_forgot_password_tv).click();/點擊忘記密碼 5.1.2搜索地名driver.findElementById(com.taobao.trip:id/fliggy_search_bar_input_layout).click();/點擊地名搜索框driver.findElementById(com.taobao.trip:id/fliggy_search_bar_input_view).sendKeys(廣州);/輸入廣州driver.findElementByXPath(/android.widget.TextViewtext=搜索).click();/點擊搜索 driver.findElementById(com.taobao.trip:id/fliggy_search_bar_delete_icon).click();/清除輸入框內(nèi)容driver.findElementsById(com.taobao.trip:id/global_search_home_common_tag_item_layout).get(0).click();/點擊歷史記錄 driver.sendKeyEvent(4);/返回上一頁面driver.findElementById(com.taobao.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度小微企業(yè)貸款展期協(xié)議范本
- 2024-2025學年甘肅省隴南市武都實驗中學高三上學期11月月考歷史試卷
- 2025年度合作策劃發(fā)展協(xié)議書模板
- 2025年個人經(jīng)營抵押貸款合同協(xié)議
- 2025年度衛(wèi)生所液壓升降臺租賃協(xié)議
- 2025年股東聯(lián)合健身房合作發(fā)展協(xié)議
- 2025年辦公室裝潢設(shè)計合同范本
- 2025年紅外線汽車尾氣分析儀項目提案報告模板
- 2025年企業(yè)股權(quán)交易合同批準標準
- 2025年農(nóng)作物機械化種植產(chǎn)業(yè)鏈優(yōu)化合作協(xié)議
- 2024年重慶市公務(wù)員錄用考試《行測》真題及解析
- 珠海市第三人民醫(yī)院中醫(yī)智能臨床輔助診療系統(tǒng)建設(shè)方案
- 早產(chǎn)臨床診斷與治療指南
- 中華人民共和國能源法
- 人居環(huán)境綜合治理項目項目背景及必要性分析
- 2024年法律職業(yè)資格考試(試卷二)客觀題試題及解答參考
- 2024年注冊建筑師-二級注冊建筑師考試近5年真題附答案
- 川教版信息技術(shù)六年級下冊全冊教案【新教材】
- 五年級口算題卡每天100題帶答案
- 食品感官檢驗:品評人員的篩選與培訓
- 2024-2030年中國會務(wù)行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資風險預測研究報告
評論
0/150
提交評論