軟件測(cè)試?yán)碚撆c實(shí)踐 課件 第5-7章 嵌入式應(yīng)用測(cè)試- 移動(dòng)應(yīng)用測(cè)試_第1頁
軟件測(cè)試?yán)碚撆c實(shí)踐 課件 第5-7章 嵌入式應(yīng)用測(cè)試- 移動(dòng)應(yīng)用測(cè)試_第2頁
軟件測(cè)試?yán)碚撆c實(shí)踐 課件 第5-7章 嵌入式應(yīng)用測(cè)試- 移動(dòng)應(yīng)用測(cè)試_第3頁
軟件測(cè)試?yán)碚撆c實(shí)踐 課件 第5-7章 嵌入式應(yīng)用測(cè)試- 移動(dòng)應(yīng)用測(cè)試_第4頁
軟件測(cè)試?yán)碚撆c實(shí)踐 課件 第5-7章 嵌入式應(yīng)用測(cè)試- 移動(dòng)應(yīng)用測(cè)試_第5頁
已閱讀5頁,還剩155頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第五章嵌入式應(yīng)用測(cè)試

了解嵌入式應(yīng)用測(cè)試的基本概念,重點(diǎn)是測(cè)試的原則、流程和方法相關(guān)知識(shí);

了常用嵌入式測(cè)試工具,理解測(cè)試工具的適用場(chǎng)解景;

掌握主要測(cè)試用工具的使用方法;

掌握FPGA軟件的仿真測(cè)試技術(shù)及常用的測(cè)試方法;

重點(diǎn)掌握通過測(cè)試工具,依據(jù)測(cè)試原則、執(zhí)行測(cè)試流程和運(yùn)用測(cè)試方法。

本章要點(diǎn)5.1嵌入式應(yīng)用測(cè)試的基本理論

5.2嵌入式應(yīng)用測(cè)試工具介紹

5.3基于FPGA的嵌入式軟件測(cè)試

5.4Vivadosimulation安裝與應(yīng)用

5.5仿真實(shí)驗(yàn)程序測(cè)試案例目

錄5.1嵌入式應(yīng)用測(cè)試的基本理論嵌入式系統(tǒng)安全性的失效可能會(huì)導(dǎo)致災(zāi)難性的后果,即使是非安全性系統(tǒng),由于大批量生產(chǎn)也會(huì)導(dǎo)致嚴(yán)重的經(jīng)濟(jì)損失。這就要求對(duì)嵌入式系統(tǒng),包括嵌入式軟件進(jìn)行嚴(yán)格的測(cè)試、確認(rèn)和驗(yàn)證。隨著越來越多的領(lǐng)域使用軟件和微處理器控制各種嵌入式設(shè)備,對(duì)日益復(fù)雜的嵌入式軟件進(jìn)行快速有效的測(cè)試愈加顯得重要。在嵌入式系統(tǒng)設(shè)計(jì)中,軟件正越來越多地取代硬件,以降低系統(tǒng)的成本,獲得更大的靈活性,這就需要使用更好的測(cè)試方法和工具進(jìn)行嵌入式和實(shí)時(shí)軟件的測(cè)試。本章通過嵌入式應(yīng)用的分類、特點(diǎn)、原則、流程、方法、工具和策略等幾個(gè)方面,介紹嵌入式應(yīng)用測(cè)試的基礎(chǔ)知識(shí)。5.1.1嵌入式應(yīng)用測(cè)試的分類嵌入式測(cè)試中,要考慮軟件,還要考慮軟件同硬件平臺(tái)和操作系統(tǒng)的集成,同時(shí)還有條件苛刻的時(shí)間約束和實(shí)時(shí)要求,以及其他的性能相關(guān)的要求。因此,根據(jù)測(cè)試環(huán)境不同,嵌入式系統(tǒng)可分為全數(shù)字模擬測(cè)試和交叉測(cè)試。在測(cè)試的實(shí)施過程中,根據(jù)是否運(yùn)行嵌入式系統(tǒng),測(cè)試又可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。1.全數(shù)字模擬測(cè)試全數(shù)字模擬測(cè)試是指采用數(shù)學(xué)平臺(tái)的方法,將嵌入式軟件從系統(tǒng)中剝離出來,通過開發(fā)CPU指令、常用芯片、I/O、中斷、時(shí)鐘等模擬器在開發(fā)主機(jī)平臺(tái)(Host)上實(shí)現(xiàn)嵌入式軟件的測(cè)試。該方法操作簡(jiǎn)單,適用于功能測(cè)試,是一種可以借鑒的常規(guī)軟件測(cè)試方法。5.1.1嵌入式應(yīng)用測(cè)試的分類

2.交叉測(cè)試(Host/Target測(cè)試)

高級(jí)程序設(shè)計(jì)語言出現(xiàn)后,嵌入式系統(tǒng)的開發(fā)環(huán)境和運(yùn)行環(huán)境通常是存在差異的,開發(fā)環(huán)境被認(rèn)為是主機(jī)平臺(tái)(Host),軟件運(yùn)行環(huán)境為目標(biāo)平臺(tái)(Target),相應(yīng)的測(cè)試為HostTarget測(cè)試(交叉測(cè)試)。測(cè)試過程中,充分利用高級(jí)語言的可移植性,將系統(tǒng)中與目標(biāo)環(huán)境無關(guān)的部分工作轉(zhuǎn)移到PC平臺(tái)上完成,在硬件環(huán)境未建好或調(diào)試工具缺乏時(shí)就可以開展,這時(shí)可以借鑒常規(guī)的軟件測(cè)試方法。

系統(tǒng)中與硬件密切相關(guān)的部分在Target上完成,用到的測(cè)試工具需要支持目標(biāo)環(huán)境。最后,在目標(biāo)環(huán)境中進(jìn)行驗(yàn)證確認(rèn)。交叉測(cè)試適用于高級(jí)語言,操作方便,測(cè)試成本較低,但是實(shí)時(shí)性受調(diào)試環(huán)境的制約,在目標(biāo)環(huán)境中測(cè)試時(shí)要占用一定的目標(biāo)資源。5.1.2嵌入式應(yīng)用測(cè)試的特點(diǎn)

嵌入式系統(tǒng)的軟硬件功能界限模糊,測(cè)試比通用計(jì)算機(jī)系統(tǒng)的軟件測(cè)試要困難得多,嵌入式軟件系統(tǒng)測(cè)試具有如下特點(diǎn):測(cè)試軟件功能依賴不需編碼的硬件功能,快速定位軟硬件錯(cuò)誤困難;強(qiáng)壯性測(cè)試、可知性測(cè)試很難編碼實(shí)現(xiàn);交叉測(cè)試平臺(tái)的測(cè)試用例、測(cè)試結(jié)果上載困難;基于消息系統(tǒng)測(cè)試的復(fù)雜性,包括線程、任務(wù)、子系統(tǒng)之間的交互,并發(fā)、容錯(cuò)和對(duì)時(shí)間的要求;性能測(cè)試、確定性能瓶頸困難;實(shí)施測(cè)試自動(dòng)化技術(shù)困難。5.1.3嵌入式應(yīng)用測(cè)試的原則

入式軟件測(cè)試除了要遵循普通軟件測(cè)試的原則之外,還需要遵循以下幾個(gè)原則:嵌入式軟件測(cè)試對(duì)軟件在硬件平臺(tái)的測(cè)試是必不可少的;嵌入式軟件測(cè)試需要在特定的環(huán)境下對(duì)軟件進(jìn)行測(cè)試;嵌入式軟件需進(jìn)行必要的可靠性負(fù)載測(cè)試,比如測(cè)試某些嵌入式系統(tǒng)能否連續(xù)1000個(gè)小時(shí)不斷電工作;除了要對(duì)嵌入式軟件系統(tǒng)的功能進(jìn)行測(cè)試之外,還需要對(duì)實(shí)時(shí)性進(jìn)行測(cè)試。在判斷系統(tǒng)是否失效方面,除了看它的輸出結(jié)果是否正確,還應(yīng)考慮其是否在規(guī)定的時(shí)間里輸出了結(jié)果;在對(duì)嵌入式軟件進(jìn)行測(cè)試的時(shí)候,需要在特定的硬件平臺(tái)上進(jìn)行性能測(cè)試、內(nèi)存測(cè)試、GUI測(cè)試、覆蓋分析測(cè)試。5.1.4嵌入式應(yīng)用測(cè)試的流程

根據(jù)嵌入式系統(tǒng)的開發(fā)流程,為了最經(jīng)濟(jì)地實(shí)現(xiàn)系統(tǒng)的功能,一般采用自頂向下、層層推進(jìn)的方法對(duì)嵌入式系統(tǒng)進(jìn)行測(cè)試。以下圖為基于模塊化設(shè)計(jì)的嵌入式軟件測(cè)試流程。圖6-1嵌入式軟件測(cè)試的詳細(xì)流程5.1.5嵌入式應(yīng)用測(cè)試的方法

依據(jù)一般原理,軟件測(cè)試有7個(gè)基本階段,即單元或模塊測(cè)試、集成測(cè)試、外部功能測(cè)試、回歸測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試、安裝測(cè)試。嵌入式測(cè)試在4個(gè)階段上進(jìn)行,即模塊測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、硬件/軟件集成測(cè)試。前3個(gè)階段適用于任何軟件的測(cè)試,硬件/軟件集成測(cè)試階段是嵌入式系統(tǒng)所特有的,目的是驗(yàn)證嵌入式軟件與其所控制的硬件設(shè)備能否正確地交互。在4個(gè)階段進(jìn)行測(cè)試可以采用白盒測(cè)試與黑盒測(cè)試、目標(biāo)環(huán)境測(cè)試和宿主環(huán)境測(cè)試5.1.6嵌入式應(yīng)用測(cè)試工具

用于輔助嵌入式軟件測(cè)試的工具很多,嵌入式應(yīng)用在內(nèi)存分析、性能分析、GUI測(cè)試、覆蓋分析等幾類比較具有代表性的工具有:內(nèi)存分析工具、性能分析工具、GUI測(cè)試工具、覆蓋分析工具。5.1.7嵌入式應(yīng)用測(cè)試策略

關(guān)于嵌入式軟件測(cè)試,首先要簡(jiǎn)單介紹一些軟件工程的一些觀點(diǎn),被普遍接受的軟件的定義是:軟件(software)是計(jì)算機(jī)系統(tǒng)中與硬件(hardware)相互依存的另一部分,它包括程序(program)、相關(guān)數(shù)據(jù)(data)及其說明文檔(document)。

嵌入式軟件測(cè)試或叫交叉測(cè)試(cross-test),在各個(gè)測(cè)試階段有著通用的策略:?jiǎn)卧獪y(cè)試策略、集成測(cè)試策略、系統(tǒng)測(cè)試和確認(rèn)測(cè)試策略。5.2嵌入式應(yīng)用測(cè)試工具介紹

符合嵌入式軟件特點(diǎn)的仿真測(cè)試平臺(tái)及環(huán)境,對(duì)嵌入式軟件進(jìn)行綜合全面的測(cè)試,驗(yàn)證軟件是否滿足設(shè)計(jì)要求,提高軟件的可靠性和安全性能力,分析軟件執(zhí)行過程,提高代碼效率。本節(jié)介紹主流嵌入式軟件仿真測(cè)試平臺(tái)和環(huán)境,包括ETest、CodeTEST、Tessy、Cmocka和ModelSim等工具。5.3基于FPGA的嵌入式軟件測(cè)試基于FPGA的嵌入式軟件測(cè)試技術(shù),以FPGA軟件測(cè)試流程入手,通過設(shè)計(jì)檢查、功能仿真、時(shí)序仿真、邏輯等價(jià)性驗(yàn)證、靜態(tài)時(shí)序分析,介紹FPGA軟件測(cè)試的基本方法;通過功能仿真測(cè)試、時(shí)序仿真測(cè)試、接口測(cè)試、性能測(cè)試、安全性測(cè)試、恢復(fù)性測(cè)試、強(qiáng)度測(cè)試、邊界測(cè)試介紹FPGA仿真測(cè)試。5.3.1FPGA測(cè)試流程及方法

FPGA驗(yàn)證就是通過仿真、時(shí)序分析、上板調(diào)試等手段驗(yàn)證設(shè)計(jì)的正確性,在FPGA系統(tǒng)開發(fā)流程中,驗(yàn)證主要包括功能驗(yàn)證和時(shí)序驗(yàn)證兩個(gè)部分。在FPGA開發(fā)的整個(gè)流程中,屬于驗(yàn)證的有功能仿真和時(shí)序驗(yàn)證兩個(gè)步驟。

如何能夠盡早發(fā)現(xiàn)設(shè)計(jì)中的問題,相應(yīng)地取決于驗(yàn)證過程及流程,F(xiàn)PGA測(cè)試流程主要包含以下幾個(gè)部分:制定測(cè)試計(jì)劃、編碼規(guī)則檢查、仿真測(cè)試、靜態(tài)時(shí)序分析、回歸測(cè)試。常用的FPGA測(cè)試方法有設(shè)計(jì)檢查、功能仿真、時(shí)序仿真、邏輯等價(jià)性驗(yàn)證、靜態(tài)時(shí)序分析和板級(jí)測(cè)試等。5.3.2FPGA仿真測(cè)試FPGA仿真測(cè)試是指通過仿真工具(如ModelSim、Vivadosimulation等)運(yùn)行FPGA設(shè)計(jì)的RTL級(jí)代碼或網(wǎng)表文件,動(dòng)態(tài)模擬FPGA運(yùn)行環(huán)境中與其交互的其他軟件的行為,將該行為以激勵(lì)形式發(fā)送給FPGA軟件,觀察FPGA軟件運(yùn)行結(jié)果是否與預(yù)期一致。在FPGA設(shè)計(jì)中,仿真一般分為功能仿真(前仿真)和時(shí)序仿真(后仿真)。FPGA仿真測(cè)試的主要包括功能仿真測(cè)試、時(shí)序仿真測(cè)試、接口測(cè)試、性能測(cè)試、安全性測(cè)試、恢復(fù)性測(cè)試、強(qiáng)度測(cè)試、邊界測(cè)試。5.4Vivadosimulation安裝與應(yīng)用

Vivado設(shè)計(jì)套件內(nèi)部集成了仿真器VivadoSimulation,能夠在設(shè)計(jì)流程的不同階段運(yùn)行設(shè)計(jì)的功能仿真和時(shí)序仿真,結(jié)果可以在VivadoIDE集成的波形查看器中顯示。VivadoSimulation是Vivado平臺(tái)的系統(tǒng)自帶仿真軟件,因此該工具可在Vivado安裝后自動(dòng)獲得。5.4.1Vivadosimulation的基本功能VivadoSimulation是一款硬件描述語言事件驅(qū)動(dòng)的仿真器,支持功能仿真和時(shí)序仿真,支持VHDL、Verilog、SystemVerilog和混合語言仿真。點(diǎn)擊運(yùn)行仿真后,工具欄中顯示了控制仿真過程的常用功能按鈕如圖所示。5.4.1Vivadosimulation的基本功能VivadoSimulation中將HDL設(shè)計(jì)中的一個(gè)層次劃分稱作一個(gè)scope,比如實(shí)例化一個(gè)設(shè)計(jì)單元便創(chuàng)建了一個(gè)scope;在Scope窗口中可以看到設(shè)計(jì)結(jié)構(gòu),選中一個(gè)scope后,該scope中所有的HDL對(duì)象都會(huì)顯示在Object窗口中;可以選擇將Object窗口中的對(duì)象添加到波形窗口中,這樣便可以觀察到設(shè)計(jì)中的內(nèi)部信號(hào);5.4.1Vivadosimulation的基本功能對(duì)某一scope點(diǎn)擊右鍵,彈出菜單如下:在Objects窗口中,顯示了當(dāng)前選中的scope所包含的HDL對(duì)象,不同類型或端口的對(duì)象顯示為不同的圖標(biāo),在Settings中可以設(shè)置顯示的類型,如圖所示。5.4.1Vivadosimulation的基本功能當(dāng)運(yùn)行仿真后,會(huì)自動(dòng)打開一個(gè)波形窗口,默認(rèn)顯示仿真頂層模塊中的HDL對(duì)象的波形配置,如圖所示。如果關(guān)閉了波形窗口,可以點(diǎn)擊Window->Waveform重新打開。窗口中的HDL對(duì)象和分組情況稱作一個(gè)波形配置,可以將當(dāng)前配置保存為wcfg文件,下次運(yùn)行仿真時(shí)就不需要重新添加仿真對(duì)象或分組。窗口中還有游標(biāo)、記號(hào)、時(shí)間尺等功能幫助設(shè)計(jì)者測(cè)量時(shí)間。5.4.2Vivadosimulation的測(cè)試過程

工程創(chuàng)建好后,便可運(yùn)行行為級(jí)仿真(behavioralsimulation),在成功地綜合和實(shí)現(xiàn)之后,可以運(yùn)行功能仿真(functionalsimulation)和時(shí)序仿真(timingsimulation)。在FlowNavigator中點(diǎn)擊RunSimulation,彈出菜單中選擇需要運(yùn)行的仿真:

設(shè)計(jì)者可以創(chuàng)建一個(gè)批處理文件,添加到工程中,其中的命令將在仿真開始后運(yùn)行,常用的流程步驟如下所示:創(chuàng)建一個(gè)包含仿真命令的Tcl腳本,如果想仿真運(yùn)行到5μs,添加“run5us”命令;如果想監(jiān)測(cè)設(shè)計(jì)內(nèi)部信號(hào),將其添加到波形窗口中,添加“add_wave/top/I1/signalName”命令;將腳本文件命名為post.tcl并保存;將post.tcl文件以仿真源文件的形式添加到工程中,會(huì)顯示在Sources窗口的Simulation文件夾下;在仿真工具欄中點(diǎn)擊“Relaunch”重新編譯運(yùn)行仿真,Vivado會(huì)自動(dòng)讀取并執(zhí)行文件中的命令。5.4.2Vivadosimulation的測(cè)試過程5.5仿真實(shí)驗(yàn)程序測(cè)試案例

針對(duì)一個(gè)嵌入式系統(tǒng)實(shí)例,本節(jié)通過系統(tǒng)設(shè)計(jì)需求和系統(tǒng)測(cè)試兩個(gè)部分對(duì)系統(tǒng)的設(shè)計(jì)需求、系統(tǒng)實(shí)現(xiàn)、測(cè)試用例設(shè)計(jì)和測(cè)試實(shí)施內(nèi)容進(jìn)行敘述。在系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)中,采用硬件描述語言Verilog設(shè)計(jì)實(shí)現(xiàn)一個(gè)具有調(diào)時(shí)功能的數(shù)字時(shí)鐘。在系統(tǒng)測(cè)試中,采用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,采用TESTBENCH方法編寫測(cè)試輔助程序,并通過Vivadosimulation平臺(tái)的Wave窗口給出一個(gè)代表性測(cè)試用例的顯示結(jié)果。5.5.1系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)1.設(shè)計(jì)需求

通過FPGA器件,采用Verilog硬件描述語言,設(shè)計(jì)實(shí)現(xiàn)一個(gè)能夠?qū)δ暝氯諘r(shí)分秒進(jìn)行顯示和計(jì)時(shí)的數(shù)字時(shí)鐘系統(tǒng),系統(tǒng)通過特定端口對(duì)系統(tǒng)進(jìn)行調(diào)時(shí)。

在系統(tǒng)實(shí)現(xiàn)后,采用合理的測(cè)試技術(shù)設(shè)計(jì)測(cè)試用例,以驗(yàn)證系統(tǒng)的有效性和準(zhǔn)確性。2.系統(tǒng)實(shí)現(xiàn)

通過FPGA器件,采用Verilog語言,設(shè)計(jì)實(shí)現(xiàn)數(shù)字時(shí)鐘系統(tǒng),該設(shè)計(jì)規(guī)劃一個(gè)頂層模塊和六個(gè)功能模塊。頂層模塊將各個(gè)功能模塊進(jìn)行連接,功能模塊分別實(shí)現(xiàn)年、月、日、時(shí)、分和秒等數(shù)值的計(jì)數(shù)功能。5.5.2系統(tǒng)測(cè)試1.測(cè)試用例設(shè)計(jì)

數(shù)字時(shí)鐘系統(tǒng)包括秒、分、時(shí)、日、月和年多個(gè)變量,如果采用窮盡法設(shè)計(jì)測(cè)試用例,將需要進(jìn)行無窮多次測(cè)試,使測(cè)試工作無法完成。因此,針對(duì)這一案例應(yīng)采用等價(jià)類方法設(shè)計(jì)測(cè)試用例,該方法可將無窮多種可能性劃分為有限多個(gè),進(jìn)而通過有限多個(gè)測(cè)試用例驗(yàn)證系統(tǒng)功能的正確性。

根據(jù)等價(jià)類劃分的一般原則“在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,可以確立一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類”。second(秒)、minute(分)、hour(時(shí))、day(日)、month(月)和year(年)分別可以確立一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。如表所示:5.5.2系統(tǒng)測(cè)試輸入條件有效等價(jià)類無效等價(jià)類secondS1{0,…,59}S2{second<0}S3{second>59}minuteMin1{0,…,59}Min2{minute<0}Min3{minute>59}hourH1{0,…,23}H2{hour<0}H3{hour>23}dayD1{1,…,28}D2{29}D3{30}D4{31}D5{day<1}D6{day>31}monthM1{1,3,5,7,8,10,12}M2{2}M3{4,6,9,11}M4{month<1}M5{month>12}yearY1{平年,1920≤year≤2050}Y2{閏年,1920≤year≤2050}Y3{year<1920}Y4{year>2050}5.5.2系統(tǒng)測(cè)試根據(jù)等價(jià)類劃分結(jié)果,可以進(jìn)行測(cè)試用例的設(shè)計(jì)。下表測(cè)試用例主要用于測(cè)試秒、分和時(shí)功能。測(cè)試用例secondminutehour預(yù)期輸出覆蓋的等價(jià)類Text1231622:16:24S1,Min1,H1R1Text2592222:23:00S1,Min1,H1R2Text3595945:00:00S1,Min1,H2R3Text4-1192second越界S2,Min1,H1R7Text560232second越界S3,Min1,H1R7Text619-12minute越界S1,Min2,H1R8Text727602minute越界S1,Min3,H1R8Text838331hour越界S1,Min1,H2R9Text9571624hour越界S1,Min1,H3R95.5.2系統(tǒng)測(cè)試下表測(cè)試用例主要用于測(cè)試日、月和年功能。測(cè)試用例daymonthyear預(yù)期輸出覆蓋的等價(jià)類Text1015619991999/6/16D1,M3,Y1R4Text1128219991999/3/1D1,M2,Y1R5Text1228220002000/2/29D1,M2,Y2R4Text1329220002000/3/1D2,M2,Y2R5Text1431320062006/4/1D4,M1,Y1R5Text1530420102010/5/1D3,M3,Y1R5Text16311220112012/1/1D4,M1,Y2R6Text17162001day越界D5,M3,Y1R10Text183262001day越界D6,M3,Y1R10Text19202001month越界D1,M4,Y1R11Text202132001month越界D1,M5,Y1R11Text212061919year越界D1,M3,Y3R12Text222062051year越界D1,M3,Y4R12Text19202001month越界D1,M4,Y1R11Text202132001month越界D1,M5,Y1R115.5.2系統(tǒng)測(cè)試2.測(cè)試實(shí)施Verilog功能模塊HDL設(shè)計(jì)完成后,并不代表設(shè)計(jì)工作的結(jié)束,還需要對(duì)設(shè)計(jì)進(jìn)行進(jìn)一步的仿真驗(yàn)證。掌握驗(yàn)證的方法,即如何調(diào)試自己的程序非常重要。在RTL邏輯設(shè)計(jì)中,要學(xué)會(huì)根據(jù)硬件邏輯來寫測(cè)試程序即寫TESTBENCH。Verilog測(cè)試平臺(tái)是一個(gè)例化的待測(cè)(MUT)模塊,重要的是給它施加激勵(lì)并觀測(cè)其輸出。邏輯塊與其對(duì)應(yīng)的測(cè)試平臺(tái)共同組成仿真模型,應(yīng)用這個(gè)模型就可以測(cè)試該模塊能否符合自己的設(shè)計(jì)要求。

編寫TESTBENCH的目的就是為了測(cè)試使用HDL設(shè)計(jì)的電路,對(duì)其進(jìn)行仿真驗(yàn)證、測(cè)試設(shè)計(jì)電路的功能、性能與設(shè)計(jì)的預(yù)期是否相符。通常,編寫測(cè)試文件的過程如下:產(chǎn)生模擬激勵(lì)(波形)將產(chǎn)生的激勵(lì)加入到被測(cè)試模塊中并觀察其響應(yīng);將輸出響應(yīng)與期望值比較。5.5.2系統(tǒng)測(cè)試

本章首先從嵌入式應(yīng)用測(cè)試的分類、特點(diǎn)、原則、流程、方法、工具和策略等方面進(jìn)行講解,然后介紹常用的嵌入式應(yīng)用測(cè)試工具,最后通過具體工具和實(shí)例,針對(duì)典型嵌入式系統(tǒng)FPGA,重點(diǎn)講解測(cè)試?yán)碚摵头椒ㄔ谇度胧较到y(tǒng)的運(yùn)用。本章小結(jié)第六章Web應(yīng)用測(cè)試了解Web應(yīng)用測(cè)試基本概念,重點(diǎn)圍繞Web應(yīng)用測(cè)試的分類、特點(diǎn)、思路和方法相關(guān)知識(shí);

熟悉Web應(yīng)用測(cè)試的常用工具,理解各類工具的特點(diǎn);

了解QTP的安裝與使用,重點(diǎn)掌握QTP的架構(gòu)、工作環(huán)境、測(cè)試過程;

熟悉基于QTP的網(wǎng)站測(cè)試案例并理解QTP對(duì)性能和功能的測(cè)試。本章要點(diǎn)6.1Web應(yīng)用測(cè)試基本理論

6.2Web應(yīng)用測(cè)試的常用工具

6.3QTP的安裝及應(yīng)用

6.4QTP網(wǎng)站測(cè)試案例目

錄6.1Web應(yīng)用測(cè)試基本理論基于Web應(yīng)用的復(fù)雜性,對(duì)其測(cè)試與分析的內(nèi)容也需更加細(xì)致、全面。從其特點(diǎn)與要求出發(fā),對(duì)Web應(yīng)用軟件的測(cè)試內(nèi)容主要包括:功能、性能、安全性、可用性、兼容性、接口。其中涉及界面、覆蓋性、配置、鏈接、表單、Cookie、設(shè)計(jì)語言、數(shù)據(jù)庫、回歸、任務(wù)與業(yè)務(wù)邏輯、響應(yīng)速度、負(fù)載能力、壓力恢復(fù)能力等多方面測(cè)試內(nèi)容。6.1.1Web應(yīng)用測(cè)試的分類Web應(yīng)用測(cè)試包括界面測(cè)試、功能測(cè)試、性能測(cè)試、客戶端兼容性測(cè)試、安全性測(cè)試這五部分?!そ缑鏈y(cè)試包括對(duì)整體界面、圖形、內(nèi)容的測(cè)試?!すδ軠y(cè)試包括對(duì)鏈接、表單、Cookies、數(shù)據(jù)庫、導(dǎo)航的測(cè)試?!ば阅軠y(cè)試包括對(duì)連接速度、負(fù)載、壓力的測(cè)試。·客戶端兼容性測(cè)試包括對(duì)平臺(tái)、瀏覽器的測(cè)試。6.1.2Web應(yīng)用測(cè)試的特點(diǎn)

·網(wǎng)絡(luò)和Web應(yīng)用軟件的復(fù)雜性及不可預(yù)見性是Web應(yīng)用軟件測(cè)試面臨的最大困難;另外,Web應(yīng)用不斷變化,自身又依賴大量的技術(shù),這些都增加了Web應(yīng)用軟件測(cè)試的困難?!eb測(cè)試需要兼容性測(cè)試、壓力測(cè)試及多元化的功能測(cè)試對(duì)象,測(cè)試時(shí)還要滿足不同的計(jì)算機(jī)對(duì)編程環(huán)境的要求,實(shí)時(shí)性的要求較高使得傳統(tǒng)的測(cè)試技術(shù)無法勝任。6.1.3Web應(yīng)用測(cè)試的思路

·Browsers測(cè)試(瀏覽器端測(cè)試)這種測(cè)試通常是模擬瀏覽器端的一些操作,更多地應(yīng)用到UI和Localization方面?!rotocol測(cè)試(協(xié)議測(cè)試)這種方法是建立在HTTP協(xié)議級(jí)的測(cè)試,通過POST或WebService向服務(wù)器發(fā)送請(qǐng)求,然后對(duì)服務(wù)器響應(yīng)回來的數(shù)據(jù)進(jìn)行解析、驗(yàn)證。對(duì)一些功能測(cè)試,會(huì)更多地采用這種方法。6.1.4Web應(yīng)用測(cè)試的方法

1.功能測(cè)試2.性能測(cè)試3.用戶界面測(cè)試4.兼容性測(cè)試5.安全測(cè)試6.接口測(cè)試7.測(cè)試點(diǎn)1.功能測(cè)試

(1)鏈接測(cè)試鏈接是Web應(yīng)用系統(tǒng)的一個(gè)主要特征,它是在頁面之間切換和指導(dǎo)用戶去一些不知道地址的頁面的主要手段。鏈接測(cè)試可分為三個(gè)方面:·測(cè)試所有鏈接是否按指示的那樣確實(shí)鏈接到了該鏈接的頁面;·測(cè)試所鏈接的頁面是否存在;·保證Web應(yīng)用系統(tǒng)上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。1.功能測(cè)試

(2)表單測(cè)試當(dāng)用戶使用表單進(jìn)行用戶注冊(cè)、登錄、信息提交等操作時(shí),我們必須測(cè)試提交操作的完整性,以校驗(yàn)提交給服務(wù)器的信息的正確性。例如:用戶填寫的出生日期與職業(yè)是否恰當(dāng),填寫的所屬省份與所在城市是否匹配等。如果使用了默認(rèn)值,還要檢驗(yàn)?zāi)J(rèn)值的正確性。例如:只能接受某些字符,測(cè)試時(shí)可以跳過這些字符,看系統(tǒng)是否會(huì)報(bào)錯(cuò)。1.功能測(cè)試

(3)數(shù)據(jù)校驗(yàn)如果系根據(jù)業(yè)務(wù)規(guī)則需要對(duì)用戶輸入進(jìn)行校驗(yàn),需要保證這些校驗(yàn)功能正常工作。例如,省份的字段可以用一個(gè)有效列表進(jìn)行校驗(yàn)。在這種情況下,需要驗(yàn)證列表完整而且程序正確調(diào)用了該列表(例如在列表中添加一個(gè)測(cè)試值,確定系統(tǒng)能夠接受這個(gè)測(cè)試值)。在測(cè)試表單時(shí),該項(xiàng)測(cè)試和表單測(cè)試可能會(huì)有一些重復(fù)。1.功能測(cè)試

(4)Cookies測(cè)試測(cè)試的內(nèi)容可包括Cookies是否起作用,是否按預(yù)定的時(shí)間進(jìn)行保存,刷新對(duì)Cookies有什么影響等。如果在cookies中保存了注冊(cè)信息,請(qǐng)確認(rèn)該cookie能夠正常工作而且已對(duì)這些信息已經(jīng)加密。如果使用cookie來統(tǒng)計(jì)次數(shù),需要驗(yàn)證次數(shù)累計(jì)正確。1.功能測(cè)試

(5)數(shù)據(jù)庫測(cè)試數(shù)據(jù)庫為Web應(yīng)用系統(tǒng)的管理、運(yùn)行、查詢和實(shí)現(xiàn)用戶對(duì)數(shù)據(jù)存儲(chǔ)的請(qǐng)求等提供空間。在使用了數(shù)據(jù)庫的Web應(yīng)用系統(tǒng)中,一般情況下,可能發(fā)生兩種錯(cuò)誤,分別是:·數(shù)據(jù)一致性錯(cuò)誤——主要是由于用戶提交的表單信息不正確而造成的?!ぽ敵鲥e(cuò)誤——主要是由于網(wǎng)絡(luò)速度或程序設(shè)計(jì)問題等引起的,針對(duì)這兩種情況,可分別進(jìn)行測(cè)試。1.功能測(cè)試

(6)應(yīng)用程序特定的功能需求測(cè)試人員需要對(duì)應(yīng)用程序特定的功能需求進(jìn)行驗(yàn)證。嘗試用戶可能進(jìn)行的所有操作:新增、修改、刪除、查詢等等。這是用戶之所以使用網(wǎng)站的原因,一定要確認(rèn)網(wǎng)站能像廣告宣傳的那樣神奇。2.性能測(cè)試

(1)連接速度測(cè)試用戶連接到Web應(yīng)用系統(tǒng)的速度根據(jù)上網(wǎng)方式的變化而變化,如果Web系統(tǒng)響應(yīng)時(shí)間太長(zhǎng)(例如超過5秒鐘),用戶就會(huì)因沒有耐心等待而離開。有些頁面有超時(shí)的限制,如果響應(yīng)速度太慢,用戶可能還沒來得及瀏覽內(nèi)容,就需要重新登錄了。而且,連接速度太慢,還可能引起數(shù)據(jù)丟失,使用戶得不到真實(shí)的頁面。2.性能測(cè)試

(2)負(fù)載壓力測(cè)試負(fù)載測(cè)試技術(shù)在各種極限情況下對(duì)產(chǎn)品進(jìn)行測(cè)試(如很多人同時(shí)使用該軟件,或者反復(fù)運(yùn)行該軟件),以檢查產(chǎn)品的長(zhǎng)期穩(wěn)定性。例如,使用壓力測(cè)試工具對(duì)web服務(wù)器進(jìn)行壓力測(cè)試。本項(xiàng)測(cè)試可以幫助找到一些大型的問題,如死機(jī)、崩損、內(nèi)存泄漏等。3.用戶界面測(cè)試(1)導(dǎo)航測(cè)試導(dǎo)航幫助要盡可能地準(zhǔn)確,另一個(gè)重要方面是頁面結(jié)構(gòu)、導(dǎo)航、菜單、連接的風(fēng)格是否一致,確保用戶能快速了解Web應(yīng)用系統(tǒng)中是否還有內(nèi)容以及內(nèi)容的位置。Web應(yīng)用系統(tǒng)的層次一旦決定,就要著手測(cè)試用戶導(dǎo)航功能,讓最終用戶參與這種測(cè)試,效果將更加明顯。3.用戶界面測(cè)試(2)圖形測(cè)試·確保圖形有明確的用途,且必須排列有序。圖片尺寸要盡量小,能清楚地說明某件事情,一般都鏈接到某個(gè)具體的頁面。·驗(yàn)證所有頁面字體的風(fēng)格是否一致?!け尘邦伾珣?yīng)該與字體顏色和前景顏色相搭配?!D片一般采用JPG或GIF壓縮,大小盡量減小到30KB以下。·需要驗(yàn)證的是文字回繞是否正確。如果說明文字指向右邊的圖片,應(yīng)該確保該圖片出現(xiàn)在右邊。不要因?yàn)槭褂脠D片而使窗口和段落排列古怪或者出現(xiàn)孤行。3.用戶界面測(cè)試(3)內(nèi)容測(cè)試內(nèi)容測(cè)試用來檢驗(yàn)Web應(yīng)用系統(tǒng)提供信息的正確性、準(zhǔn)確性和相關(guān)性?!ふ_性——信息是可靠的還是誤傳的。·準(zhǔn)確性——是否有語法或拼寫錯(cuò)誤,這種測(cè)試通常使用一些文字處理軟件來進(jìn)行。·相關(guān)性——是否在當(dāng)前頁面可以找到與當(dāng)前瀏覽信息相關(guān)的信息列表或入口,也就是一般Web站點(diǎn)中的所謂“相關(guān)文章列表”。3.用戶界面測(cè)試(4)整體界面測(cè)試整體界面是指整個(gè)Web應(yīng)用系統(tǒng)的頁面結(jié)構(gòu)設(shè)計(jì),是給用戶的一個(gè)整體感。一般Web應(yīng)用系統(tǒng)采取在主頁上做一個(gè)調(diào)查問卷的形式,來得到最終用戶的反饋信息。對(duì)所有的用戶界面測(cè)試來說,最好是讓最終用戶參與。4.兼容性測(cè)試(1)平臺(tái)測(cè)試同一個(gè)應(yīng)用可能在某些操作系統(tǒng)下能正常運(yùn)行,但在另外的操作系統(tǒng)下可能會(huì)運(yùn)行失敗。因此,需要在各種操作系統(tǒng)下進(jìn)行兼容性測(cè)試。(2)瀏覽器測(cè)試創(chuàng)建一個(gè)兼容性矩陣。在這個(gè)矩陣中,測(cè)試不同廠商、不同版本的瀏覽器對(duì)某些構(gòu)件和設(shè)置的適應(yīng)性。(3)分辨率測(cè)試頁面版式在不同的分辨率模式下是否顯示正常?字體是否太小以至于無法瀏覽?或者是太大?文本和圖片是否對(duì)齊?5.安全測(cè)試主要是測(cè)試系統(tǒng)在沒有授權(quán)的情況下,內(nèi)部或者外部用戶對(duì)系統(tǒng)進(jìn)行攻擊或者惡意破壞時(shí)如何進(jìn)行處理,是否仍能保證數(shù)據(jù)的安全。6.接口測(cè)試·服務(wù)器接口測(cè)試人員提交事務(wù),然后查看服務(wù)器記錄,并驗(yàn)證在瀏覽器上看到的正好是服務(wù)器上發(fā)生的,還可以查詢數(shù)據(jù)庫,確認(rèn)事務(wù)數(shù)據(jù)已正確保存?!ね獠拷涌跍y(cè)試時(shí),要使用web接口發(fā)送一些事務(wù)數(shù)據(jù),分別對(duì)有效信用卡、無效信用卡和被盜信用卡進(jìn)行驗(yàn)證?!ゅe(cuò)誤處理嘗試在處理過程中中斷事務(wù),看看會(huì)發(fā)生什么情況?訂單是否完成?嘗試中斷用戶到服務(wù)器的網(wǎng)絡(luò)連接。嘗試中斷web服務(wù)器到信用卡驗(yàn)證服務(wù)器的連接……7.測(cè)試點(diǎn)(1)文本框的測(cè)試·輸入正常的字母或數(shù)字?!ぽ斎胍汛嬖诘奈募拿Q?!ぽ斎氤L(zhǎng)字符?!ぽ斎肽J(rèn)值,空白,空格。·若只允許輸入字母,嘗試輸入數(shù)字;反之;嘗試輸入字母?!だ脧?fù)制,粘貼等操作強(qiáng)制輸入程序不允許的輸入數(shù)據(jù)。·輸入特殊字符集?!ぽ斎氤^文本框長(zhǎng)度的字符或文本,檢查所輸入的內(nèi)容是否正常顯示。·輸入不符合格式的數(shù)據(jù),檢查程序是否正常校驗(yàn)。7.測(cè)試點(diǎn)(2)命令按鈕測(cè)試首先,單擊按鈕正確響應(yīng)操作。其次,對(duì)非法的輸入或操作給出足夠的提示說明。最后,對(duì)可能造成數(shù)據(jù)無法恢復(fù)的操作必須給出確認(rèn)信息,給用戶放棄選擇的機(jī)會(huì)。7.測(cè)試點(diǎn)(3)單選按鈕的測(cè)試首先,一組單選按鈕不能同時(shí)選中,只能選中一個(gè)。其次,逐一執(zhí)行每個(gè)單選按鈕的功能。最后,一組執(zhí)行同一功能的單選按鈕在初始狀態(tài)時(shí)必須有一個(gè)被默認(rèn)選中,不能同時(shí)為空。6.2Web應(yīng)用測(cè)試的常用工具(1)Selenium(2)LoadRunner(3)Junit(4)JMeter(5)QTP1.SeleniumSelenium是ThoughtWorks公司編寫的一個(gè)開源的Web自動(dòng)化工具,目前是市場(chǎng)上最受歡迎和廣泛使用的工具。它可以跨多個(gè)操作系統(tǒng)自動(dòng)化,如Windows,Mac和Linux以及Firefox,Chrome,IE以及無頭瀏覽器等瀏覽器;可以直接運(yùn)行在瀏覽器中(WebDriver),進(jìn)行一系列的系統(tǒng)功能測(cè)試。Selenium的強(qiáng)大之處在于提供了諸多語言的開源框架,如C#、Java、Pyhon、Ruby、PHP、Perl和JavaScript等,創(chuàng)建更復(fù)雜,更先進(jìn)的自動(dòng)化腳本。Selenium通過其瀏覽器插件SeleniumIDE提供記錄和回放功能。2.LoadRunnerLoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具。通過模擬上千萬用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來確認(rèn)和查找問題,LoadRunner能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。企業(yè)使用LoadRunner能最大限度地縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。LoadRunner可適用于各種體系架構(gòu)的自動(dòng)負(fù)載測(cè)試,能預(yù)測(cè)系統(tǒng)行為并評(píng)估系統(tǒng)性能。3.JunitJUnit4是JUnit的常用方式,是JUnit框架有史以來的最大改變,其主要目標(biāo)便是利用Java5的Annotation特性簡(jiǎn)化測(cè)試用例的編寫。它包括以下特性:(1)用于測(cè)試期望結(jié)果的斷言(Assertion)。(2)用于共享共同測(cè)試數(shù)據(jù)的測(cè)試工具。(3)用于方便的組織和運(yùn)行測(cè)試的測(cè)試套件。(4)圖形和文本的測(cè)試運(yùn)行器。4.JMeterJMeter的優(yōu)點(diǎn)可概括為:高度可移植,支持100%所有基于Java的應(yīng)用程序,腳本編寫工作量少,簡(jiǎn)單的圖表足以分析與密鑰負(fù)載相關(guān)的統(tǒng)計(jì)信息和資源使用情況,支持用于監(jiān)控的集成實(shí)時(shí)Tomcat收集器。同理,其缺點(diǎn)可概括為:無法記錄HTTPS通信,無法攔截AJAX流量,無法監(jiān)控任何與ApplicationServer相關(guān)的統(tǒng)計(jì)信息,報(bào)告框架的功能非常有限。5.QTPQTP是QuickTestProfessional的簡(jiǎn)稱,是一種自動(dòng)化軟件測(cè)試工具。在軟件的測(cè)試過程中,QTP主要來用來通過已有的測(cè)試腳本執(zhí)行重復(fù)的手動(dòng)測(cè)試,用于功能測(cè)試和回歸測(cè)試。使用QTP要求測(cè)試人員在測(cè)試前考慮好應(yīng)用程序測(cè)試的內(nèi)容,步驟,輸入數(shù)據(jù)和期望的輸出數(shù)據(jù)等。6.3QTP的安裝及應(yīng)用自動(dòng)化測(cè)試相比人工測(cè)試,具有突出的優(yōu)點(diǎn)。人工測(cè)試非常浪費(fèi)時(shí)間而且容易出錯(cuò)。使用人工測(cè)試的結(jié)果,往往是在應(yīng)用程序交付前,無法對(duì)應(yīng)用程序的所有功能都作完整的測(cè)試。QuickTest可以加速整個(gè)測(cè)試的過程,可以重復(fù)使用測(cè)試腳本進(jìn)行測(cè)試。本節(jié)主要講述QTP的安裝及應(yīng)用。6.3.1QTP的架構(gòu)1.QTP主程序區(qū)域:負(fù)責(zé)控制整個(gè)測(cè)試過程,包括測(cè)試腳本的錄制、編輯、運(yùn)行和結(jié)果分析等。2.測(cè)試對(duì)象庫:存儲(chǔ)被測(cè)試應(yīng)用程序的對(duì)象信息,包括對(duì)象的屬性和方法,以便QTP能夠識(shí)別和操作這些對(duì)象。3.QTP自動(dòng)化引擎:負(fù)責(zé)執(zhí)行測(cè)試腳本,與被測(cè)試應(yīng)用程序進(jìn)行交互,并通過對(duì)象庫識(shí)別和操作被測(cè)試對(duì)象。4.數(shù)據(jù)表:用于存儲(chǔ)測(cè)試數(shù)據(jù),可以在腳本中引用和操作。5.結(jié)果分析器:用于分析和報(bào)告測(cè)試結(jié)果,包括測(cè)試通過率、失敗原因等。6.3.2QTP的工作過程1.準(zhǔn)備Testcase2.配置QTP3.錄制腳本4.修改增強(qiáng)腳本5.調(diào)試腳本6.回放腳本7.腳本維護(hù)6.3.3QTP的環(huán)境搭建QTP環(huán)境搭建過程如下:1.雙擊打開安裝程序,如圖6-1所示。圖6-1打開安裝程序2.顯示如下界面,如需修改臨時(shí)文件目錄則更改,單擊“Next”按鈕,如圖6-2所示。圖6-2設(shè)立臨時(shí)保存文件目錄圖6-3進(jìn)度安裝3.顯示安裝進(jìn)度,等待安裝,如圖6-3所示。圖6-4單擊確定4.安裝程序,單擊“確定”按鈕,如圖6-4所示。圖6-5單擊下一步5.進(jìn)入安裝向?qū)Ы缑?,單擊下一步,如圖6-5所示。圖6-6勾選接受6.勾選“我接受許可協(xié)議中的條款”,如圖6-6所示。圖6-7跳轉(zhuǎn)下一步7.單擊“下一步”,跳轉(zhuǎn)如下界面,如圖6-7所示。圖6-8單擊下一步8.單擊“下一步”,跳轉(zhuǎn)如下界面,勾選自己所需啟用項(xiàng),如圖6-8所示。圖6-9單擊安裝9.單擊“安裝”按鈕,等待安裝完成即可,如圖6-9所示。6.3.4QTP的測(cè)試過程1.錄制測(cè)試腳本:利用QTP先進(jìn)的對(duì)象識(shí)別,鼠標(biāo)和鍵盤監(jiān)控機(jī)制來錄制測(cè)試腳本,測(cè)試人員只需要模擬用戶的操作,像執(zhí)行手工測(cè)試的測(cè)試步驟一樣操作被測(cè)試應(yīng)用程序的界面即可。2.編輯測(cè)試腳本:包括調(diào)整測(cè)試步驟、編輯測(cè)試邏輯、插入檢查點(diǎn)、添加測(cè)試輸出信息、添加注釋等。3.調(diào)試測(cè)試腳本:利用“CheckSyntax”功能檢查測(cè)試腳本的語法錯(cuò)誤,利用調(diào)試功能檢查腳本邏輯。4.運(yùn)行測(cè)試腳本:可運(yùn)行單個(gè)“Action”,也可批量運(yùn)行測(cè)試腳本。5.分析測(cè)試結(jié)果:使用QTP的測(cè)試結(jié)果查看工具查看測(cè)試結(jié)果。6.4QTP網(wǎng)站測(cè)試案例本網(wǎng)站是基于SSM框架的線上購(gòu)物網(wǎng)站,用于用戶購(gòu)買服裝類商品,商品種類分為女裝,男裝和童裝三種,使用者注冊(cè)并登錄該系統(tǒng),瀏覽商品后可進(jìn)行添加購(gòu)物車或者直接購(gòu)買等操作,滿足自己的購(gòu)物需求。網(wǎng)站界面如圖6-10所示。圖6-10網(wǎng)站界面6.4.1登錄測(cè)試在未登錄狀態(tài)進(jìn)入網(wǎng)頁時(shí),依然可以正常的訪問商城首頁,只有在商品詳情界面進(jìn)行加入購(gòu)物車操作與立即購(gòu)買操作時(shí),才會(huì)出現(xiàn)提示登錄的情況??梢詥螕繇撁娴氖撞恐械牡卿洶粹o進(jìn)行登錄,登錄導(dǎo)航欄如圖6-11所示。圖6-11登錄導(dǎo)航欄進(jìn)入登錄界面、輸入正確的賬號(hào)和密碼之后,允許登錄,并且跳轉(zhuǎn)原網(wǎng)頁。如沒有注冊(cè),需要先注冊(cè)后在登錄。登錄窗口如下圖6-12所示,注冊(cè)窗口如下圖6-13所示。圖6-12登錄窗口圖6-13注冊(cè)窗口1.測(cè)試用例設(shè)計(jì)(1)針對(duì)登錄模塊的輸入條件:用戶名和密碼,有以下幾種約束1)Username只能包含字母和數(shù)字。2)Password可以包含任何字符。3)兩者都不能為空且有一定的限制長(zhǎng)度。4)如果兩者為空或不合法輸入,不執(zhí)行登錄并提示輸入錯(cuò)誤信息。5)如果兩者都不合法,則只提示Username的錯(cuò)誤信息。6)如果兩者輸入都合法,執(zhí)行登錄操作,并顯示從服務(wù)器可能返回用戶名或密碼錯(cuò)誤和登錄成功兩種可能。(2)分析原因結(jié)果

1)原因C1------輸入的用戶名為空C2------輸入的用戶名包含非字母非數(shù)字字符C3------輸入正確的用戶名C4------輸入的密碼為空C5------輸入錯(cuò)誤的密碼C6------輸入正確的密碼2)結(jié)果E1------執(zhí)行登錄并提示用戶名不能為空E2------不執(zhí)行登錄并提示用戶名不能包含非字母非數(shù)字的非法字符E3------不執(zhí)行登錄并提示密碼不能為空E4------執(zhí)行登錄并提示用戶名錯(cuò)誤E5------執(zhí)行登錄并提示密碼錯(cuò)誤E6------執(zhí)行登錄并提示登錄成(3)畫出因果圖,如下圖6-14所示。圖6-14因果圖(4)根據(jù)因果圖建立判定表

123456789101112

原因C1111000000000C2000111000000C3000000111000C4100100100100C5010010010010C6001001001001

結(jié)果E1111000000000E2000110000000E3000001100100E4000000000011E5000000010000E6000000001000表6-1判定表(5)根據(jù)上述分析,設(shè)計(jì)的測(cè)試用例見表6-2。用例編號(hào)UsernamePassword預(yù)期結(jié)果001空空不執(zhí)行登錄并提示用戶名不能為空002空密碼錯(cuò)誤不執(zhí)行登錄并提示用戶名不能為空003空密碼正確不執(zhí)行登錄并提示用戶名不能為空004含非字母非數(shù)字字符空不執(zhí)行登錄并提示用戶名不能包含非字母非數(shù)字字符005含非字母非數(shù)字字符密碼錯(cuò)誤不執(zhí)行登錄并提示用戶名不能包含非字母非數(shù)字字符006含非字母非數(shù)字字符密碼正確不執(zhí)行登錄并提示用戶名不能包含非字母非數(shù)字字符007存在用戶名空不執(zhí)行登錄并提示密碼不能為空008存在用戶名密碼錯(cuò)誤執(zhí)行登錄并提示密碼錯(cuò)誤009存在用戶名密碼正確執(zhí)行登錄并提示登錄成功010合法輸入但不存在空不執(zhí)行登錄并提示密碼不能為空011合法輸入但不存在密碼錯(cuò)誤執(zhí)行登錄并提示用戶名錯(cuò)誤012合法輸入但不存在密碼正確執(zhí)行登錄并提示用戶名錯(cuò)誤表6-2判定表(6)錄制與測(cè)試過程1)用QTP自動(dòng)打開購(gòu)物系統(tǒng)的登錄界面,輸入用戶名和密碼,確定當(dāng)前的操作,將購(gòu)物系統(tǒng)打開,登錄界面如圖6-15所示。圖6-15登錄界面2)在QTP主界面中單擊“Record”,在登錄界面的文本框中,輸入正確的用戶名和密碼,單擊“登錄”按鈕,進(jìn)入購(gòu)物系統(tǒng)界面。在QTP主界面,單擊“Stop”按鈕,結(jié)束當(dāng)前的錄制,如圖6-16所示。圖6-16錄制界面3)在QTP主界面的工具欄中單擊“Run”按鈕,回訪腳本,測(cè)試報(bào)告的結(jié)果如圖6-17所示。圖6-17測(cè)試結(jié)果界面(7)測(cè)試結(jié)果通過運(yùn)用QTP對(duì)購(gòu)物系統(tǒng)的測(cè)試,將已設(shè)計(jì)好的測(cè)試用例添加到QTP中,通過腳本的參數(shù)化設(shè)置,對(duì)測(cè)試用例進(jìn)行自動(dòng)化循環(huán)測(cè)試,如圖6-18所示。圖6-18數(shù)據(jù)界面QTP對(duì)測(cè)試用例的自動(dòng)化測(cè)試后,對(duì)每一條數(shù)據(jù)測(cè)試用例進(jìn)行測(cè)試,運(yùn)行結(jié)果如圖6-19所示。圖6-19運(yùn)行結(jié)果6.4.2支付訂單測(cè)試在訂單支付界面中,需要用戶填寫收貨人的姓名、電話、地址,并且選擇支付方式,所有的信息都采用非空限制,當(dāng)出現(xiàn)空信息欄時(shí),將會(huì)在該信息欄下進(jìn)行提醒,如圖6-20所示。當(dāng)用戶在所有的信息欄上都填寫好合法數(shù)據(jù)之后,單擊支付,將會(huì)彈出支付成功提醒,如圖6-21所示。圖6-20信息欄提示圖6-21支付成功提示1.支付訂單實(shí)例支付訂單實(shí)例是在用戶下單加入購(gòu)物車之后的訂單,進(jìn)入我的購(gòu)物車,填寫收貨地址(姓名,電話,地址),選擇支付方式,最后進(jìn)行支付完成功能。支付頁面如圖6-22所示。圖6-22訂單支付頁面2.測(cè)試用例設(shè)計(jì)(1)針對(duì)收貨信息的輸入條件:姓名,電話,地址信息有以下幾種約束。1)姓名不能少于2個(gè)字符,不能超過20字符。2)電話位數(shù)為11位且只能是數(shù)字。3)電話要以1開頭。4)地址信息不能超過50字符。(2)劃分等價(jià)類,見表6-3。輸入數(shù)據(jù)有效等價(jià)類無效等價(jià)類姓名(1)大于等于2字符小于等于20字符(2)小于2字符(3)大于20字符

電話號(hào)碼

(4)11位以1開頭的數(shù)串(5)小于11位以1開頭的數(shù)串(6)大于11位以1開頭的數(shù)串(7)以非1開頭的數(shù)串(8)包含非數(shù)字的字符串地址(9)大于0小于50位的字符串(10)大于50位的字符串

表6-3等價(jià)類表(3)設(shè)計(jì)測(cè)試用例覆蓋所有等價(jià)類,見表6-4。測(cè)試數(shù)據(jù)期望結(jié)果覆蓋范圍姓名:zhangsan電話號(hào)碼址:和平路解放區(qū)7號(hào)提交成功(1),(4),(9)姓名:A電話號(hào)碼:135123地址:新疆維吾爾自治區(qū)伊犁哈薩克自治州塔城地區(qū)和布克賽爾蒙古自治縣和什托洛蓋鎮(zhèn)西特木恩哈布其克村長(zhǎng)安大街7號(hào)路北3單元4號(hào)提交失敗(2),(5),(10)姓名:luofusijiaerfadiledulud電話號(hào)碼:12345678915地址:和平路解放區(qū)7號(hào)

提交失敗

(3),(6),(9)姓名:liSi電話號(hào)碼:6351578地址:提交失敗

提交失敗

(1),(7),(9)姓名:大阿杜夫·布里恩·查爾士·大衛(wèi)·愛爾·費(fèi)得力·積魯·胡柏·伊凡·約翰·根尼夫·萊特·馬丁·尼羅·奧利佛·保羅·君詩·蘭杜夫·雪文·湯馬士·恩卡士·維克多·威廉·賽塞斯電話號(hào)碼:1340768123X地址:和平路解放區(qū)7號(hào)

提交失敗(3),(8),(9)表6-4設(shè)計(jì)用例2.錄制與測(cè)試過程(1)開啟錄制并單擊“購(gòu)物車”標(biāo)識(shí),如圖6-23所示。圖6-23購(gòu)物車列表(2)單擊“提交訂單”按鈕,如圖6-24所示。圖6-24提交訂單頁面(3)填寫“收貨地址”,如圖6-25所示。圖6-25收貨地址界面(4)選擇支付方式并支付,如圖6-26所示。圖6-26支付方式界面(5)單擊“Stop”結(jié)束錄制過程,腳本錄制成功,如圖6-27所示。圖6-27錄制結(jié)束界面3.測(cè)試結(jié)果單擊“Run”運(yùn)行腳本,如圖6-28所示。圖6-28運(yùn)行結(jié)果在商品詳情界面,在選擇好顏色,尺寸,商品數(shù)量之后,可以單擊加入購(gòu)物車,將該商品加入購(gòu)物車。當(dāng)選擇的對(duì)應(yīng)商品的庫存不夠時(shí),單擊加入購(gòu)物車,會(huì)提示庫存不足;當(dāng)選擇的對(duì)于商品的庫存充足時(shí),會(huì)提示已經(jīng)加入購(gòu)物車,并且提示可以結(jié)算和繼續(xù)購(gòu)物;添加購(gòu)物車界面如圖6-29所示。6.4.3添加購(gòu)物車測(cè)試圖6-29購(gòu)物車界面1.添加功能訂單實(shí)例的前提是成功登錄系統(tǒng),該實(shí)例是在購(gòu)物系統(tǒng)中進(jìn)行下單操作:選擇下單商品,選擇商品顏色,選擇商品尺寸,選擇購(gòu)買數(shù)量,單擊“立即購(gòu)買”或“添加購(gòu)物車”,完成添加功能。2.測(cè)試用例設(shè)計(jì)對(duì)于添加購(gòu)物車操作需要選擇相應(yīng)的購(gòu)買商品數(shù)量(商品顏色,商品尺寸系統(tǒng)會(huì)給予默認(rèn)選項(xiàng),如需更改,選擇相應(yīng)選項(xiàng)即可),設(shè)計(jì)用例見表6-5。測(cè)試編號(hào)輸入預(yù)期結(jié)果實(shí)際結(jié)果001顏色:綠色尺寸:M數(shù)量:0提示:請(qǐng)正確的輸入數(shù)量提示:請(qǐng)正確的輸入數(shù)量002顏色:綠色尺寸:M數(shù)量:11提示:您輸入的數(shù)量超過庫存上限提示:您輸入的數(shù)量超過庫存上限003顏色:綠色尺寸:M數(shù)量:1已成功加入購(gòu)物車!已成功加入購(gòu)物車!004顏色:紅色尺寸:L數(shù)量:4已成功加入購(gòu)物車!已成功加入購(gòu)物車!005空已成功加入購(gòu)物車!已成功加入購(gòu)物車!表6-5測(cè)試用例(2)在登錄賬號(hào)和密碼框中輸入用戶名和密碼,單擊“登錄”按鈕,如圖6-31所示。3.錄制與測(cè)試過程(1)錄制腳本,選擇“Record”,如圖6-30所示。圖6-30腳本錄制圖6-31登錄界面(3)選擇商品、選擇購(gòu)買方式、商品尺碼、商品種類和數(shù)量,如圖6-32所示。圖6-32商品詳情(4)單擊“加入購(gòu)物車”按鈕,如圖6-33所示。圖6-33添加購(gòu)物車(5)單擊“Stop”結(jié)束錄制過程,腳本錄制成功,如圖6-34所示。圖6-34結(jié)束錄制(6)根據(jù)錯(cuò)誤推測(cè)法,在容易出錯(cuò)的點(diǎn)上右擊鼠標(biāo),選擇“InsertStandardCheckpoint”,如圖6-35所示。圖6-35插入標(biāo)準(zhǔn)檢查點(diǎn)(7)單擊“確定”按鈕,如圖6-36所示。腳本(截圖)如圖6-37所示。圖6-36確認(rèn)檢查點(diǎn)圖6-37關(guān)鍵字視圖4.測(cè)試結(jié)果運(yùn)行測(cè)試腳本后,測(cè)試結(jié)果如圖6-38所示。圖6-38測(cè)試結(jié)果

本章是軟件測(cè)試的一部分,是針對(duì)Web應(yīng)用的一類測(cè)試。通過測(cè)試可以盡可能地多的發(fā)現(xiàn)瀏覽器端和服務(wù)器端程序中的錯(cuò)誤并及時(shí)加以修正,以保證應(yīng)用的質(zhì)量。由于Web具有分布、異構(gòu)、并發(fā)和平臺(tái)無關(guān)的特性,因而它的測(cè)試要比普通程序復(fù)雜得多。本章小結(jié)第七章移動(dòng)應(yīng)用測(cè)試熟悉移動(dòng)應(yīng)用測(cè)試基本理論,包括移動(dòng)應(yīng)用測(cè)試的分類、特點(diǎn)和思路;

了解軟件測(cè)試的目的,理解軟件測(cè)試的原則;

掌握Appium的架構(gòu)和工作過程,能夠熟練搭建測(cè)試環(huán)境;

根據(jù)具體的移動(dòng)應(yīng)用測(cè)試要求,能夠使用Appium進(jìn)行測(cè)試。本章要點(diǎn)7.1

移動(dòng)應(yīng)用測(cè)試的基本理論

7.2移動(dòng)應(yīng)用測(cè)試工具介紹

7.3Appium的安裝及應(yīng)用

7.4Appium移動(dòng)應(yīng)用測(cè)試案例目

錄7.1

移動(dòng)應(yīng)用測(cè)試的基本理論

移動(dòng)應(yīng)用測(cè)試是指對(duì)移動(dòng)應(yīng)用進(jìn)行測(cè)試,包括自動(dòng)化測(cè)試和人工測(cè)試等。移動(dòng)應(yīng)用測(cè)試指在移動(dòng)應(yīng)用開發(fā)完成后,測(cè)試人員按照一定策略對(duì)其進(jìn)行測(cè)試的過程,以確保應(yīng)用在各種移動(dòng)設(shè)備及其操作系統(tǒng)上能夠高效、穩(wěn)定地運(yùn)行。7.1.1

移動(dòng)應(yīng)用測(cè)試的分類現(xiàn)將移動(dòng)應(yīng)用測(cè)試分為以下六大類:(1)功能測(cè)試(2)回歸測(cè)試(3)性能測(cè)試(4)安全測(cè)試(5)可用性測(cè)試(6)兼容性測(cè)試7.1.2移動(dòng)應(yīng)用測(cè)試的特點(diǎn)

1.網(wǎng)絡(luò)多樣2.操作3.間斷4.安裝、卸載、版本更新5.兼容性7.1.3移動(dòng)應(yīng)用測(cè)試的思路

當(dāng)移動(dòng)應(yīng)用被大量用戶安裝和使用時(shí),就會(huì)暴露出很多之前完全沒有預(yù)料到的問題,比如:(1)流量使用過多。(2)耗電量過大。(3)多個(gè)移動(dòng)應(yīng)用相互切換后,行為異常。(4)在某些設(shè)備上無法順利安裝或卸載。(5)弱網(wǎng)絡(luò)環(huán)境下,無法正常使用。(6)APP運(yùn)行時(shí)進(jìn)入低電量模式。(7)APP運(yùn)行時(shí)第三方安全軟件彈出警告。(8)APP運(yùn)行時(shí)發(fā)生網(wǎng)絡(luò)切換,比如由WiFi切換到移動(dòng)4G網(wǎng)絡(luò)。7.1.4移動(dòng)應(yīng)用測(cè)試的方法

·WebAPP:基于瀏覽器的網(wǎng)頁應(yīng)用,測(cè)試方法與傳統(tǒng)Web測(cè)試一致?!ativeAPP:原生應(yīng)用,測(cè)試框架與平臺(tái)相關(guān),但核心測(cè)試思想通用?!ybridAPP:混合應(yīng)用,需要結(jié)合原生和Web測(cè)試方法,測(cè)試復(fù)雜度較高。7.2移動(dòng)應(yīng)用測(cè)試的常用工具(1)Calabash(2)KIF(3)Robolectric(4)Monkey(5)Appium1.CalabashCalabash是一款適用于iOS和Android平臺(tái)的跨平臺(tái)應(yīng)用測(cè)試框架,支持Cucumber(Cucumber是一個(gè)能夠理解用普通語言描述的測(cè)試用例,支持BDD(行為驅(qū)動(dòng)開發(fā))的自動(dòng)化測(cè)試工具,用Ruby編寫,支持Java和.Net等多種開發(fā)語言。),開源且免費(fèi),隸屬于Xamarin公司。通過Calabash,開發(fā)者可以對(duì)應(yīng)用進(jìn)行多方位測(cè)試,比如截屏、手勢(shì)識(shí)別、實(shí)際功能代碼等。2.KIFKIF的全稱是KeepItFunctional,來自Square,是一款專為iOS設(shè)計(jì)的移動(dòng)應(yīng)用測(cè)試框架。由于KIF是使用Objective-C語言編寫的,因此,對(duì)于iOS開發(fā)者而言,用起來要更得心應(yīng)手,可以稱得上是一款非常值得收藏的iOS測(cè)試?yán)鳌?.RobolectricRobolectric是Android端的單元測(cè)試工具,優(yōu)勢(shì)是可以不需要Android模擬器、真機(jī)環(huán)境,只需要JVM環(huán)境就可以運(yùn)行單元測(cè)試用例,節(jié)省了代碼編譯、啟動(dòng)模擬器、安裝應(yīng)用等時(shí)間,所以運(yùn)行速度會(huì)快很多,通過Robolectric來編寫單元測(cè)試用例的話和持續(xù)集成整合還是比較不錯(cuò)的,可以做到有代碼變更,快速運(yùn)行單元測(cè)試用例,快速反饋結(jié)果。Robolectric可以解壓AndroidSDK,還能直接對(duì)應(yīng)用進(jìn)行測(cè)試,從而幫你解決可能遇到的一些問題。4.MonkeyMonkey通過向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流(如按鍵輸入、觸摸屏輸入、滑動(dòng)Trackball、手勢(shì)輸入等操作),來對(duì)設(shè)備上的程序進(jìn)行測(cè)試,檢測(cè)程序長(zhǎng)時(shí)間的穩(wěn)定性,多久的時(shí)間會(huì)發(fā)生異常。Monkey工具存在Android系統(tǒng)中,使用Java語言寫成,jar包在Android文件系統(tǒng)中的存放路徑是:/system/framework/monkey.jar;Monkey.jar程序是由一個(gè)名為“monkey”的Shell腳本來啟動(dòng)執(zhí)行,shell腳本在Android文件系統(tǒng)中的存放路徑是:/system/bin/monkey;monkey需要通過adb來喚醒,即通過在cmd窗口中執(zhí)行:adbshellmonkey{+命令參數(shù)}來進(jìn)行Monkey測(cè)試5.AppiumAppium是一個(gè)開源的、跨平臺(tái)的自動(dòng)化測(cè)試工具,適用于測(cè)試原生或混合型移動(dòng)App,支持iOS、Android和FirefoxOS平臺(tái)。開發(fā)者可以利用測(cè)試代碼完全訪問后端API和數(shù)據(jù)庫。Appium的設(shè)計(jì)理念是無須SDK和編譯即可測(cè)試原生應(yīng)用。換句話說,它可以讓用戶輕松地對(duì)原生應(yīng)用進(jìn)行測(cè)試,而不需要煩瑣的SDK和編譯過程。該框架不僅能完美支持iOS、Android應(yīng)用,還可直接在PHP、Python、Ruby、C#、Clojure、Java、Objective-C、JavaScript及Perl等語言中編寫測(cè)試腳本。7.3Appium的安裝及應(yīng)用7.3.1Appium的架構(gòu)圖7-1Appium架構(gòu)圖7.3.1Appium的架構(gòu)1.Appium客戶端此模塊是指實(shí)現(xiàn)了Appium功能的WebDriver協(xié)議的客戶端,它負(fù)責(zé)與Appium服務(wù)器建立連接,并將測(cè)試腳本的指令發(fā)送到Appium服務(wù)器?,F(xiàn)有客戶端可有多種語言實(shí)現(xiàn),支持語言:Python、Java、JavaScript、Ruby、Objective-C、PHP、C#。7.3.1Appium的架構(gòu)2.Appium服務(wù)器Appium服務(wù)器是Appium框架的核心,它是一個(gè)基于Node.js實(shí)現(xiàn)的HTTP服務(wù)器。Appium服務(wù)器的主要功能是接收從Appium客戶端發(fā)起的連接,監(jiān)聽客戶端發(fā)送過來的命令,然后將命令轉(zhuǎn)化為移動(dòng)端能夠識(shí)別的命令,然后并發(fā)送給移動(dòng)設(shè)備進(jìn)行操作,再等待移動(dòng)設(shè)備返回的操作結(jié)果,將操作結(jié)果通過HTTP應(yīng)答反饋給Appium客戶端。(1)Bootstrap.jar(2)Devices(設(shè)備)(3)Appium7.3.1Appium的架構(gòu)3.Appium工具Appium是在手機(jī)操作系統(tǒng)自帶的測(cè)試框架基礎(chǔ)上實(shí)現(xiàn)的,Android和iOS的系統(tǒng)上使用的工具分別如下。1)Android(版本<4.3):Google的Instrumentation。2)Android(版本>=4.3):Google的UiAutomator/UiAutomator2。3)iOS(版本<9.3):蘋果的UIAutomation。4)iOS(版本<=9.3):蘋果的XCUITest。7.3.2Appium的工作過程Appium在Android設(shè)備的工作過程如圖7-2所示。1.AppiumServer通過4723端口監(jiān)聽客戶端發(fā)送過來的腳本指令,并解析指令參數(shù)給PC端4724端口,然后再發(fā)送給設(shè)備4724端口。2.Bootstrap監(jiān)聽設(shè)備4724端口接收AppiumServer指令。3.Bootstrap再通過調(diào)用UIAutomator的命令來實(shí)現(xiàn)具體的操作。4.最后Bootstrap將執(zhí)行的結(jié)果返回給AppiumServer。圖7-2Appium工作流程圖7.3.3Appium的環(huán)境搭建1.安裝jdk1.8(1)下載并安裝jdkjdk1.8的下載地址為:/java/technologies/downloads/#jre8-windows官方的下載頁面如圖7-3所示。圖7-3

jdk下載頁面在下載完exe文件后,可以直接運(yùn)行該文件,接下來會(huì)出現(xiàn)一個(gè)安裝界面。通常情況下,安裝界面會(huì)提供一些選項(xiàng),例如選擇安裝路徑,選擇默認(rèn)即可,如圖7-4所示。圖7-4jdk安裝路徑選擇完成jdk的安裝后,系統(tǒng)會(huì)自動(dòng)彈出Java運(yùn)行環(huán)境(JRE)的安裝程序。JRE是Java程序的運(yùn)行環(huán)境,是運(yùn)行Java程序的必要組件,如圖7-5所示。圖7-5

jre安裝程序(2)配置環(huán)境變量:此電腦右擊屬性→高級(jí)系統(tǒng)設(shè)置→系統(tǒng)變量→新建系統(tǒng)環(huán)境變量中新建JAVA_HOME:變量名:JAVA_HOME變量值:C:\ProgramFiles\Java\jdk1.8.0_311(計(jì)算機(jī)上JDK安裝的絕對(duì)路徑)系統(tǒng)環(huán)境變量中新建CLASSPATH:變量名:CLASSPATH變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;修改Path變量:Path變量中新建兩條路徑:%JAVA_HOME%\bin%JAVA_HOME%\jre\bincmd中輸入java-version出現(xiàn)如圖7-6所示即安裝成功。圖7-6jdk安裝成功提示2.安裝AndroidSDK(1)下載并安裝AndroidSDK下載地址為:/studio下載完后,直接運(yùn)行該exe文件,接下來會(huì)出現(xiàn)一個(gè)安裝界面,選擇自己的安裝路徑即可,如圖7-7所示。圖7-7選擇AndroidStudio安裝路徑選擇完安裝路徑后,點(diǎn)擊“next”,然后單擊install進(jìn)行AndroidStudio的安裝,安裝完成后啟動(dòng)AndroidStudio(如圖7-8和7-9所示)。圖7-8安裝AndroidStudio圖7-9AndroidStudio安裝完成界面下一步選擇自定義安裝方式Custom,如圖7-10所示。圖7-10選擇安裝類型下一步,為Android開發(fā)工具部署java環(huán)境,選擇java安裝路徑,如圖7-11所示。圖7-11為AndroidStudio選擇java開發(fā)環(huán)境下一步安裝AndroidSDK,并且更改SDK安裝路徑,選擇自己的安裝文件夾即可,如圖7-12所示。圖7-12為AndroidStudio選擇java開發(fā)環(huán)境下一步設(shè)置虛擬設(shè)備運(yùn)行內(nèi)存,根據(jù)自己的計(jì)算機(jī)配置選擇,默認(rèn)即可。單擊Finish完成安裝,如圖7-13所示。下一步單擊Finish完成安裝。圖7-13AndroidSDK安裝完成界面(2)為AndroidSDK配置環(huán)境變量配置步驟如下:此電腦右擊屬性→高級(jí)系統(tǒng)設(shè)置→系統(tǒng)變量→新建系統(tǒng)變量新建ANDROID_HOME:變量名:ANDROID_HOME變量值:E:\AndroidStudio\SDK(安裝SDK的絕對(duì)路徑)修改Path變量:Path變量中新建三條路徑:%ANDROID_HOME%\tools%ANDROID_HOME%\platform-tools%ANDROID_HOME%\build-toolscmd中輸入adb--version出現(xiàn)如下提示即安裝成功,如圖7-14所示。圖7-14驗(yàn)證SDK是否安裝成功3.安裝node.js首先在官網(wǎng)上選擇合適的操作系統(tǒng)版本。node.js支持多種操作系統(tǒng),如Windows、macOS、Linux等等。選擇與你的操作系統(tǒng)匹配的版本。點(diǎn)擊下載按鈕,然后選擇你的操作系統(tǒng),下載對(duì)應(yīng)的安裝包。一般來說,可以選擇最新的LTS(長(zhǎng)期支持)版本,如圖7-15所示。下載地址為/zh-cn/download/。圖7-15node.js官方下載界面運(yùn)行下載的安裝包msi文件,按照提示進(jìn)行安裝,一直下一步安裝即可,然后打開命令行或終端窗口。輸入如圖7-16的命令,出現(xiàn)以下即安裝成功。圖7-16驗(yàn)證node.js安裝成功4.安裝Appium-Desktop打開Appium-Desktop下載

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論