高志娥,武桂芬
(呂梁學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,山西 離石 033001)
·計(jì)算機(jī)科學(xué)研究·
無線搜索網(wǎng)頁自動(dòng)化測(cè)試的研究
高志娥,武桂芬
(呂梁學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,山西 離石 033001)
隨著軟件測(cè)試技術(shù)的發(fā)展,軟件質(zhì)量的好壞直接影響到智能手機(jī)的整體性能.與傳統(tǒng)的測(cè)試技術(shù)相比,將自動(dòng)化測(cè)試技術(shù)應(yīng)用到WAP手機(jī)版的無線搜索網(wǎng)頁中,提高了測(cè)試的準(zhǔn)確性和測(cè)試效率,降低了人為出錯(cuò)的風(fēng)險(xiǎn),為軟件開發(fā)人員提供了一組測(cè)試用例的模板,簡化了程序編寫流程,對(duì)提高手機(jī)軟件的可靠性具有重要的意義.
無線搜索;自動(dòng)化測(cè)試;軟件測(cè)試;網(wǎng)頁
近年來,網(wǎng)絡(luò)的飛速發(fā)展,尤其是移動(dòng)通信技術(shù)3G、4G普及,使智能手機(jī)的增長速度越來越快[1].官方數(shù)據(jù)顯示,目前國內(nèi)智能手機(jī)持有量已經(jīng)達(dá)5.3億,占比50.9%.而無線搜索引擎作為互聯(lián)網(wǎng)的第一個(gè)入口,訪問無線搜索網(wǎng)頁的用戶群體也呈指數(shù)式增長.無線搜索以快速、實(shí)時(shí)、便捷等優(yōu)勢(shì),得到了用戶的追捧,同時(shí)用戶對(duì)無限搜索網(wǎng)頁提出了更高的要求,為了給用戶呈現(xiàn)一個(gè)完美的網(wǎng)頁,對(duì)無線搜索網(wǎng)頁進(jìn)行的測(cè)試技術(shù)成為研究人員關(guān)注的熱點(diǎn)[2,3].
傳統(tǒng)的手工測(cè)試,對(duì)一些基礎(chǔ)性的功能進(jìn)行了很多重復(fù)性的回歸測(cè)試,測(cè)試周期長,工作量大,成本高,并且由于人為因素等原因?qū)е聹y(cè)試的規(guī)范性差,無法滿足和保證測(cè)試的準(zhǔn)確性[4,7].為了解決這些問題,引入自動(dòng)化測(cè)試技術(shù),提高了回歸測(cè)試的執(zhí)行效率,節(jié)省了許多時(shí)間,使人工可以集中精力去測(cè)試邏輯比較復(fù)雜的測(cè)試點(diǎn).
1.1 無線搜索網(wǎng)頁
搜索主要依靠搜索引擎來實(shí)現(xiàn)所需信息的抓取與收集.搜索引擎根據(jù)用戶輸入的關(guān)鍵字進(jìn)行信息的抓取,通過算法和排序?qū)ψト〉降男畔⑦M(jìn)行意圖篩選,把最終過濾后的優(yōu)質(zhì)結(jié)果呈現(xiàn)給用戶.簡單而言,搜索引擎就是一個(gè)可以快速、精準(zhǔn)獲取海量信息的網(wǎng)站[4].
搜索引擎網(wǎng)站一般分為PC電腦版和WAP手機(jī)版.隨著移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展,WAP版本的搜索網(wǎng)頁也成了搜索引擎的主要流量入口[5].與PC搜索網(wǎng)頁相比,無線搜索網(wǎng)頁在屏幕尺寸、分辨率、傳輸速度較滯后,但它的便捷性、隨時(shí)搜索性、單一用戶性等優(yōu)勢(shì),給人們?nèi)粘9ぷ鲙淼母咝室呀?jīng)遠(yuǎn)遠(yuǎn)覆蓋超過了PC搜索網(wǎng)頁.
1.2 軟件測(cè)試
自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程[4,6].通常,在設(shè)計(jì)了測(cè)試用例并通過評(píng)審之后,由測(cè)試人員根據(jù)測(cè)試用例中描述的規(guī)程一步步執(zhí)行測(cè)試,得到實(shí)際結(jié)果與期望結(jié)果的比較[6].軟件測(cè)試是軟件系統(tǒng)工程中一個(gè)很重要的組成部分,是軟件開發(fā)的重要環(huán)節(jié)和保證軟件質(zhì)量的關(guān)鍵步驟,其目的是以最少的時(shí)間和人力來找出軟件中存在的錯(cuò)誤和缺陷,軟件自動(dòng)化測(cè)試是當(dāng)前軟件行業(yè)的研究熱點(diǎn)之一,目前各大IT和互聯(lián)網(wǎng)公司十分重視測(cè)試技術(shù)的研究[8].
2.1 需求分析
在本次測(cè)試過程中主要是有兩個(gè)需求,一個(gè)是無線搜索網(wǎng)頁的特色首頁需求,另一個(gè)是英文垂直搜索網(wǎng)頁的首頁以及結(jié)果頁的需求.
(1)無線搜索特色首頁的需求分析
無線搜索網(wǎng)頁的特色首頁主要是對(duì)原有首頁進(jìn)行背景的替換和特色的設(shè)計(jì).在一些重大的節(jié)日(比如春節(jié)、元宵節(jié)等)二十四個(gè)節(jié)氣、特殊的紀(jì)念日(比如地球一小時(shí)、世界地球日等)和歷史人物的紀(jì)念日當(dāng)天,不能影響網(wǎng)頁原有功能,同時(shí)跳轉(zhuǎn)到特色logo的搜索結(jié)果頁.
(2)英文垂直搜索頁的需求分析
在目前的搜索網(wǎng)頁中大部分是中文的搜索結(jié)果.隨著信息的全球化,越來越多的用戶提出英文搜索的需求,因此增加一個(gè)專門的英文垂直搜索頁顯得尤為重要.本文從普通的網(wǎng)頁搜索結(jié)果頁導(dǎo)流到英文垂直搜索頁,表現(xiàn)為搜索一些含英文搜索意圖的詞匯,或者是一些英文名詞、句子等,會(huì)提示用戶點(diǎn)擊英文搜索.在英文垂直搜索頁下保持和網(wǎng)頁搜索結(jié)果頁一樣的用戶使用習(xí)慣和頁面布局,另外,還設(shè)有一些輔助查詢的相關(guān)搜索和翻譯工具.
2.2 方案設(shè)計(jì)
測(cè)試方案的設(shè)計(jì)依據(jù)V模型.V模型分為以下幾個(gè)步驟:需求分析、系統(tǒng)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、軟件編碼、單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試,如圖1所示:
圖1 V模型
結(jié)合V模型,本次無線搜索將測(cè)試過程分為以下四個(gè)階段:
單元測(cè)試:在單元測(cè)試中,主要測(cè)試特色首頁的logo跳轉(zhuǎn)是否正確、特色首頁的背景是否展現(xiàn)正常,垂搜首頁的搜索功能和結(jié)果頁的展示是否符合預(yù)期.
集成測(cè)試:在集成測(cè)試中,主要測(cè)試前后端各個(gè)模塊能否與預(yù)期一樣提供服務(wù).比如后端的翻譯模塊、后端的搜索模塊、后端的廣告模塊能否正常工作.
系統(tǒng)測(cè)試:在系統(tǒng)測(cè)試中,主要驗(yàn)證各個(gè)模塊提供的服務(wù)是否符合產(chǎn)品的需求.比如翻譯的效果是否符合產(chǎn)品的預(yù)期.
驗(yàn)收測(cè)試:在驗(yàn)收測(cè)試中,主要是站在用戶的角度來驗(yàn)證程序是否符合預(yù)期.比如英文垂直搜索頁的英文搜索結(jié)果是否是用戶所想要獲取的英文信息.
2.3 測(cè)試用例設(shè)計(jì)
本次測(cè)試設(shè)計(jì)過程中使用了等價(jià)類劃分、邊界值分析、數(shù)據(jù)覆蓋法.等價(jià)類劃分主要是區(qū)分有效等價(jià)類和無效等價(jià)類,有效等價(jià)類是對(duì)于無線英文垂直搜索,是有意義的數(shù)據(jù)的集合;無效等價(jià)類則是無意義的數(shù)據(jù)集合,用來檢驗(yàn)網(wǎng)頁是否有對(duì)應(yīng)的容錯(cuò)處理或是出錯(cuò)提示.邊界值分析主要是對(duì)搜索框中輸入的內(nèi)容長度進(jìn)行校驗(yàn).數(shù)據(jù)覆蓋法對(duì)所有的測(cè)試點(diǎn)都至少有一條測(cè)試用例,以保證測(cè)試覆蓋到所有的需求,生成較完整的測(cè)試用例表.
有了好的測(cè)試方案,軟件測(cè)試過程已經(jīng)有了50%的成功.如何將測(cè)試方案真正的落實(shí)到測(cè)試過程中,是實(shí)現(xiàn)測(cè)試的關(guān)鍵.
3.1 環(huán)境搭建
(1) python環(huán)境搭建
Python是一種功能強(qiáng)大而完善的通用性腳本語言,下載安裝Python,安裝完成后需要添加Python安裝路徑到系統(tǒng)PATH環(huán)境變量中.
(2)selenium環(huán)境搭建
在完成Python環(huán)境的搭建后,運(yùn)行Python命令Python setup.py install,安裝setuptools工具和包管理工具pip.
3.2 自動(dòng)化測(cè)試腳本
(1)主要公共調(diào)用函數(shù)
自動(dòng)化環(huán)境搭建好以后就可以嘗試寫出第一個(gè)測(cè)試腳本了.腳本如下,用來檢測(cè)環(huán)境是否搭建成功.
#!-*- coding:utf-8 -*-
from selenium import webdriver
driver=webdriver.Firefox()
#瀏覽器最大化
driver.maximize_window()
driver.get('http://www.baidu.com′)
#百度搜索輸入框輸入
selenium2driver.find_element_by_id(′kw′).send_keys(′selenium2′)
#點(diǎn)擊百度一下按鈕
driver.find_element_by_id(′su′).click()
#結(jié)束測(cè)試driver.close()
在自動(dòng)化腳本的編寫中,會(huì)遇到許多重復(fù)的操作以及重復(fù)的函數(shù)調(diào)用.為了使程序代碼看起來更美觀,在腳本開始定義了一些公共調(diào)用的函數(shù),在后面的測(cè)試腳本編寫中可以直接調(diào)用.函數(shù)如下:
#返回所查找元素進(jìn)行單擊操作
def item_click(self,item):
def init(self):
#返回所查找對(duì)象的文本信息
def item_text(self,item):
#返回所查找對(duì)象是否存在
def item_is_displayed(self,item):
#記錄程序運(yùn)行的日志
def log(a):
(2) 查找元素的方法
在selenium中主要提供了八種定位元素的方法,即通過id、name、class、xpath、tag、link、partial link、css等進(jìn)行定位,在本次自動(dòng)化測(cè)試的腳本編寫中,主要是通過id、class name、xpath、link text等方法進(jìn)行元素的定位[8].
在selenium中,定位元素是基礎(chǔ)操作,只有將元素定位后,才能針對(duì)元素進(jìn)行進(jìn)一步的操作,比如單擊、獲取對(duì)象的文本信息、返回對(duì)象是否存在等.當(dāng)查找元素較難時(shí),就要考慮是否使用相對(duì)查找方法,即借助已經(jīng)能找到的一個(gè)對(duì)象去查找另一個(gè)未知對(duì)象的方法.
(3)設(shè)置程序等待時(shí)間
由于selenium中查找元素是需要等待網(wǎng)頁加載完畢后才能進(jìn)行查找的,但是有的時(shí)候網(wǎng)頁加載的比較慢,或者網(wǎng)速不好的時(shí)候,或者由于操作失誤讓程序找不到需要查找的元素.這時(shí)候有必要設(shè)置一個(gè)讓程序等待的時(shí)間,之后再嘗試去查找元素.
自動(dòng)化測(cè)試腳本開發(fā)完成后,需要部署到一臺(tái)固定的機(jī)子上.在每次需要執(zhí)行的時(shí)候發(fā)出運(yùn)行指令自動(dòng)運(yùn)行即可,等待運(yùn)行完畢后會(huì)自動(dòng)生成一個(gè)測(cè)試報(bào)告的HTML文件.可以打開文件查看對(duì)應(yīng)的執(zhí)行情況.
3.3 測(cè)試執(zhí)行
3.3.1 正確性測(cè)試
在無線搜索特色首頁的測(cè)試中,由于特色首頁是需要到特定的日期才生效的,所以需要在linux中修改系統(tǒng)的時(shí)間到生效的日期,這樣特色首頁才會(huì)展現(xiàn).在測(cè)試過程中,首先需要驗(yàn)證logo的跳轉(zhuǎn)落地頁是否是本次主題查詢?cè)~的搜索結(jié)果頁;其次驗(yàn)證首頁上的其他功能是否實(shí)現(xiàn);然后根據(jù)測(cè)試方案,對(duì)首頁進(jìn)行測(cè)試.一旦發(fā)現(xiàn)缺陷,需要及時(shí)修改后,重新驗(yàn)證該頁面上所有的功能.
無線英文搜索頁的測(cè)試,首先要進(jìn)行普通查詢?cè)~的驗(yàn)證,看是否能正常得到需要的英文搜索結(jié)果頁.其次再驗(yàn)證一些特殊符號(hào)、外語等進(jìn)行查詢后的結(jié)果頁內(nèi)容展示.
3.3.2 兼容性測(cè)試
由于市場(chǎng)上不同品牌、不同大小屏幕尺寸分辨率、不同的智能操作系統(tǒng)等,都會(huì)對(duì)無線搜索網(wǎng)頁的展現(xiàn)效果有所影響,有的甚至影響到了基礎(chǔ)功能的使用,所以在正確性驗(yàn)證完畢后,需要尋找?guī)卓钣写硇缘氖謾C(jī)執(zhí)行兼容性測(cè)試.
本次測(cè)試,主要選取IOS和Android操作系統(tǒng)的手機(jī)各兩款,其中一個(gè)手機(jī)的屏幕比較大,分辨率比較高,另一個(gè)手機(jī)的屏幕比較小,分辨率比較低.所有手機(jī)同時(shí)進(jìn)行無線搜索網(wǎng)頁的測(cè)試,可以對(duì)比發(fā)現(xiàn)所存在的問題.
3.3.3 穩(wěn)定性測(cè)試
在穩(wěn)定性測(cè)試過程中,需要根據(jù)目前線上的QPS預(yù)估一個(gè)值,用來當(dāng)作此次穩(wěn)定性測(cè)試的QPS值,一般是線上的兩到三倍.使用壓力工具對(duì)被測(cè)試的程序發(fā)起壓力,同時(shí)再穩(wěn)定性監(jiān)控平臺(tái)上檢測(cè)虛擬機(jī)的CPU、內(nèi)存、虛擬內(nèi)存、連接數(shù)、QPS、響應(yīng)時(shí)間等指標(biāo).一般壓力持續(xù)30 min即可,壓力停止后,對(duì)得出的數(shù)據(jù)圖表進(jìn)行分析,看是否符合上線的標(biāo)準(zhǔn).如圖2、3、4、5所示.
圖2 Resin服務(wù)器的CPU曲線圖圖3 Resin服務(wù)器的內(nèi)存曲線圖
圖4 Resin服務(wù)器的QPS曲線圖圖5 Resin服務(wù)器COSTTIME曲線圖
3.4 測(cè)試報(bào)告
自動(dòng)化測(cè)試腳本完成了對(duì)無線搜索首頁80%功能的覆蓋.自動(dòng)化測(cè)試的報(bào)告如圖6、圖7所示.
圖6 Resin服務(wù)器的QPS曲線圖圖7 結(jié)果頁自動(dòng)化測(cè)試報(bào)告
本文提出了一種針對(duì)智能手機(jī)無線搜索網(wǎng)頁進(jìn)行測(cè)試的方案,結(jié)合搭建python和selenium平臺(tái),通過運(yùn)行測(cè)試腳本,對(duì)無線搜索特色首頁和英文垂直搜索頁進(jìn)行了自動(dòng)化測(cè)試.測(cè)試表明:該測(cè)試方案具有很好的偵測(cè)能力,提高了測(cè)試的效率,降低了人為測(cè)試引起的誤差,同時(shí)測(cè)試覆蓋率也得以提高.
[1]鄭婷婷.Android應(yīng)用的多設(shè)備自動(dòng)化測(cè)試實(shí)現(xiàn)[J].軟件導(dǎo)刊,2016(2).
[2]陸永忠.GUI自動(dòng)化測(cè)試用例生成策略的研究[J].系統(tǒng)工程與電子技術(shù),2009(1).
[3]劉春梅.智能電視操作系統(tǒng)組件層自動(dòng)化測(cè)試的實(shí)現(xiàn)[J].網(wǎng)絡(luò)新媒體技術(shù),2016(5).
[4]趙雅麗.GUI自動(dòng)化測(cè)試在會(huì)計(jì)信息系統(tǒng)測(cè)試中的探究[J].自動(dòng)化與儀器儀表,2016(4).
[5]朱煥亮.基于自動(dòng)化測(cè)試框架的用例研究與實(shí)現(xiàn)[J].制造業(yè)自動(dòng)化,2016(6).
[6]張新華,何永前.軟件測(cè)試方法概述[J].科技視界,2012(4).
[7]宋潔.軟件測(cè)試技術(shù)及自動(dòng)測(cè)試工具的實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2014.
[8]正光.軟件測(cè)試自動(dòng)化工具的研究與開發(fā)[D].大連:大連海事大學(xué),2014.
Research of Automated Testing Towards Wireless Search Page
GAO Zhi-e,WU Gui-fen
(Department of Computer Science and Technology,Lüliang University,Lishi Shanxi 033001,China)
With the development of software testing technology,the quality of the software has a direct impact on the overall performance of smart phones.In this paper,the application of automated testing technology to the WAP mobile version of the wireless search page,improves the test accuracy and test efficiency,reduces the risk of human error,provides a set of test case templates for software developers to simplify the programming process,has an important significance to improve the reliability of mobile phone software.
wireless search;automated testing software testing;software testing;page
2017-01-26
呂梁學(xué)院教學(xué)改革項(xiàng)目(JYYB201603).
高志娥(1984-),女,山西臨縣人,助教,研究方向?yàn)樗惴ㄔO(shè)計(jì)與分析. 武桂芬(1983-),女,山西文水人,副教授,研究方向?yàn)橛?jì)算機(jī)應(yīng)用.
TP311.53
A
2095-185X(2017)02-0032-05