劉寶銀
(遼寧理工職業(yè)大學(xué),遼寧 錦州 121000)
在軟件行業(yè)漫長(zhǎng)的發(fā)展歷程中,軟件測(cè)試技術(shù)自身在不斷改進(jìn)與完善,測(cè)試系統(tǒng)軟件時(shí)的快捷性、有效性顯著提升。計(jì)算機(jī)行業(yè)在發(fā)展中應(yīng)充分認(rèn)識(shí)到合理應(yīng)用軟件測(cè)試技術(shù)的必要性,有針對(duì)性地優(yōu)化其應(yīng)用過程,預(yù)測(cè)其發(fā)展趨向,進(jìn)而使技術(shù)應(yīng)用能凸顯出更大的實(shí)用性。
不管是在新軟件設(shè)計(jì)研發(fā)還是最后的系統(tǒng)測(cè)試中,軟件測(cè)試技術(shù)應(yīng)用均是不可缺少的環(huán)節(jié),其應(yīng)用于軟件開發(fā)整個(gè)流程,對(duì)軟件自身的性能及運(yùn)行穩(wěn)定程度能起到驗(yàn)證性作用。軟件測(cè)試的宗旨主要是在將軟件交給用戶之前通過檢測(cè),探查到設(shè)計(jì)存在的漏洞,及時(shí)彌補(bǔ)與修復(fù),或者是為滿足用戶群體的部分需求而改進(jìn)部分性能或功能。大部分情況下,軟件測(cè)試工作推進(jìn)過程中需要投入大量精力及時(shí)間成本,結(jié)合既往相關(guān)資料記載,測(cè)試投入的時(shí)間與精力在軟件總投入中占比約40%~50%[1]。測(cè)試實(shí)踐中很多操作是重復(fù)執(zhí)行的,故而通常不會(huì)進(jìn)行過多的腦力分析。為了有效處理以上部分技術(shù)含量較低的額外工作內(nèi)容,迫切需要相關(guān)部門盡早開發(fā)出一種運(yùn)行安全、高效的測(cè)試系統(tǒng)。軟件測(cè)試技術(shù)應(yīng)時(shí)而生,通過執(zhí)行合理的方式明顯縮短軟件或系統(tǒng)的測(cè)試周期,提升測(cè)試工作效率與精準(zhǔn)度。
(1)盡早執(zhí)行測(cè)試工作。世界上軟件業(yè)巨頭IBM曾發(fā)出一份報(bào)告指出,伴隨軟件開發(fā)深度的拓展,軟件自身缺陷問題也不斷放大,這也就意味著越早發(fā)現(xiàn)軟件缺陷,相關(guān)問題的處理效率就越高,消耗的成本也就越低。故而,從用戶需求調(diào)研開始就應(yīng)盡快編制出測(cè)試實(shí)施計(jì)劃,在產(chǎn)品研發(fā)周期開始時(shí)就堅(jiān)持落實(shí)測(cè)試工作,力爭(zhēng)在初期就消除故障,使軟件整個(gè)開發(fā)過程的穩(wěn)定性得到保障。
(2)從小至大,遞增式測(cè)試。多數(shù)情況下,軟件是由數(shù)個(gè)功能模塊堆疊形成的,各個(gè)功能模塊作為一個(gè)單元,在具體開發(fā)過程中,每當(dāng)編寫好一個(gè)單元的開發(fā)程序時(shí)就要對(duì)其進(jìn)行相應(yīng)的測(cè)試檢測(cè)工作[2]。確定數(shù)個(gè)模塊單元組建成一個(gè)小型集成塊后,需要對(duì)其開展集成測(cè)試活動(dòng),最后還要對(duì)整個(gè)軟件系統(tǒng)進(jìn)行測(cè)試分析。以上過程執(zhí)行過程要嚴(yán)格遵循由小至大的檢測(cè)順序。
(3)規(guī)避測(cè)試檢驗(yàn)本體的程序。計(jì)算機(jī)軟件編寫是一項(xiàng)工作量龐大的過程,各個(gè)開發(fā)人員要做好相應(yīng)單元的編寫工作,軟件測(cè)試時(shí)多數(shù)開發(fā)者對(duì)自己編寫的元件在認(rèn)識(shí)判斷上存在一定局限性,主觀色彩較為濃重,可能會(huì)影響測(cè)試精準(zhǔn)度。為規(guī)避以上情況,應(yīng)指派專業(yè)技術(shù)人員測(cè)試,以確保測(cè)試結(jié)果的客觀性、有效性。
嵌入式系統(tǒng)最大的特點(diǎn)是有效結(jié)合微型處理器的系統(tǒng)電路及運(yùn)行軟件,進(jìn)而提升系統(tǒng)的運(yùn)行效率。該系統(tǒng)的功能主要是管理計(jì)算機(jī)外部設(shè)備,對(duì)該系統(tǒng)進(jìn)行測(cè)試的目的主要是使系統(tǒng)應(yīng)用過程中能將傳統(tǒng)硬件取代,進(jìn)而減少使用費(fèi)用的投入,幫助用戶獲得更好的體驗(yàn)。通常情況下,嵌入式系統(tǒng)測(cè)試過程中,對(duì)系統(tǒng)自身的可靠性提出了較高的要求,若其自身的安全性很低,系統(tǒng)很容易被直接破壞,以致用戶承受較大的經(jīng)濟(jì)損失。
嵌入式系統(tǒng)軟件測(cè)試與開發(fā)過程有很大的相似點(diǎn),測(cè)試過程等同于系統(tǒng)功能實(shí)現(xiàn)的過程,一定要嚴(yán)格遵守設(shè)計(jì)方法與理論指導(dǎo)原則,進(jìn)而更好地實(shí)現(xiàn)項(xiàng)目的綜合要求,且整個(gè)系統(tǒng)軟件測(cè)試過程中,應(yīng)結(jié)合多個(gè)方面分析測(cè)試實(shí)施計(jì)劃的可行性與測(cè)試結(jié)果的有效性。針對(duì)一個(gè)系統(tǒng)軟件設(shè)計(jì)得是否成功,可以將其處理實(shí)際問題的能力作為評(píng)判標(biāo)準(zhǔn)。一個(gè)良好的測(cè)試實(shí)施計(jì)劃是專業(yè)測(cè)試活動(dòng)開展的基礎(chǔ),只有這樣才能提升系統(tǒng)內(nèi)軟件測(cè)試效率[3]。比如,在測(cè)試手機(jī)通訊錄模塊,首先是要精準(zhǔn)區(qū)分手機(jī)電話簿和 SIM 卡電話簿;其次闡述測(cè)試所需的規(guī)格大小,借此方式較好地滿足TestLink 測(cè)試模塊提出的要求;隨后結(jié)合TestLink模塊提供額度文件,開展相應(yīng)的導(dǎo)入測(cè)試活動(dòng),此時(shí)就能較有效地完成嵌入式系統(tǒng)的軟件測(cè)試工作。
收錄管理系統(tǒng)內(nèi)不同模塊之間的接口與數(shù)據(jù)通信關(guān)聯(lián)性較多,要先梳理以上情況,這樣才能使軟件測(cè)試過程中模塊檢測(cè)工作能順利推進(jìn)。通常采用如下流程對(duì)系統(tǒng)軟件進(jìn)行測(cè)試分析:首先對(duì)系統(tǒng)進(jìn)行模塊測(cè)試;其次結(jié)合測(cè)試結(jié)果對(duì)系統(tǒng)進(jìn)行集成處理;最后對(duì)系統(tǒng)開展軟件測(cè)試,只有這樣才能抓住測(cè)試工作中的主要內(nèi)容,并編制一個(gè)完善度高、針對(duì)性較強(qiáng)的測(cè)試執(zhí)行方式,確保系統(tǒng)測(cè)試活動(dòng)能順利、有效推進(jìn)。
系統(tǒng)軟件測(cè)試的目標(biāo)主要集中在核實(shí)、處置系統(tǒng)數(shù)據(jù)等方面上,借此方式確保系數(shù)數(shù)據(jù)能和相關(guān)業(yè)務(wù)規(guī)范相吻合;兼容性測(cè)試及測(cè)試操作系統(tǒng)及軟件的兼容性,其中主要包括 Windows7和WindowsXP等系統(tǒng)類型,后者主要是集中調(diào)度模塊,檢查并判斷收錄模塊是否能夠兼容到另一個(gè)設(shè)備內(nèi),進(jìn)行科學(xué)、有效的確認(rèn)。安全性測(cè)試即檢測(cè)應(yīng)用程序及系統(tǒng)級(jí)別的安穩(wěn)性。前者主要是測(cè)試有加密的收錄服務(wù),后者執(zhí)行的工作內(nèi)容主要是設(shè)置系統(tǒng)用戶的權(quán)限,這是驗(yàn)證BS界面內(nèi)權(quán)限的有效方法之一,在此基礎(chǔ)上針對(duì)一些較重要的模塊設(shè)置只有管理員進(jìn)入的權(quán)限。
針對(duì)本次軟件測(cè)試中發(fā)現(xiàn)的缺陷部分,采用流程定義方式(見圖1),測(cè)試人員如果探查到Bug,就還會(huì)把相關(guān)信息直接反饋卡給研發(fā)人員,研發(fā)人員于管理員系統(tǒng)內(nèi)新創(chuàng)建一個(gè)文件,隨后將bug呈遞給項(xiàng)目經(jīng)理,經(jīng)理重新派送bug,組織研發(fā)人員對(duì)其進(jìn)行處置及整改,修整后測(cè)試員對(duì)其進(jìn)行測(cè)試檢測(cè),通過測(cè)試后直接閉合,若測(cè)試未通過,則返送給研發(fā)人員再進(jìn)行優(yōu)化[4]。
圖1 系統(tǒng)缺陷生命周期管理流程
2.3.1 界面測(cè)試
界面測(cè)試實(shí)質(zhì)上就是檢測(cè)部署是否達(dá)到合理、整體風(fēng)格是否保持一致,各控件的安置部位是否和用戶使用習(xí)慣相契合。另外,也要測(cè)試界面操作便捷性、導(dǎo)航易懂性、頁(yè)面元素的可用程度、界面內(nèi)文字使用是否準(zhǔn)確等。
通常情況,在界面測(cè)試活動(dòng)中,可以直接依照產(chǎn)品原型圖及UI切圖/效果圖即可,通過比較驗(yàn)證分析,確定是否實(shí)現(xiàn)一致。若缺少以上參照?qǐng)D,則可以參照市面上同型的成熟產(chǎn)品進(jìn)行界面比較,并考慮如下幾點(diǎn)問題[5]:
(1)導(dǎo)航測(cè)試:①是否便于導(dǎo)航,導(dǎo)航是否真正實(shí)現(xiàn)了直觀化;②是否基于主頁(yè)存取Web系統(tǒng)的主要部分;③Web應(yīng)用系統(tǒng)的導(dǎo)航協(xié)助要盡量做到精準(zhǔn)無(wú)誤;④Web系統(tǒng)在站點(diǎn)地圖、搜索引擎等方面是否提出需求;⑤界面結(jié)構(gòu)、導(dǎo)航及菜單等的風(fēng)格是否實(shí)現(xiàn)一致化。
(2)圖形測(cè)試:①保證圖形自身用途明確;②頁(yè)面之間字的風(fēng)格、顏色及格式是否保持一致;③背景顏色是否和字體及前景顏色做到科學(xué)搭配;③檢測(cè)圖片的大小與質(zhì)量,通常應(yīng)用JPG或GIF壓縮。
(3)內(nèi)容測(cè)試:信息的精準(zhǔn)性是否存在者語(yǔ)法或拼寫錯(cuò)誤;信息是否具備良好的相關(guān)性,即在當(dāng)前頁(yè)面上能否探查到和當(dāng)下瀏覽信息有關(guān)的信息列表或者入口。
(4)表格測(cè)試:①存有的篩選、檢索條件等是否被列在頁(yè)面上方;②針對(duì)某個(gè)搜索條件的場(chǎng)景,是否統(tǒng)一應(yīng)用了高級(jí)搜索按鈕并對(duì)其進(jìn)行打包收起處理;③字段數(shù)目過多時(shí),需采用橫向滾動(dòng)表格。
(5)整體界面測(cè)試:①用戶瀏覽Web應(yīng)用系統(tǒng)時(shí)主觀上是否舒適;②是否憑感覺就能探尋到信息所處位置;③整個(gè)系統(tǒng)的設(shè)計(jì)風(fēng)格是否統(tǒng)一[6]。
2.3.2 訪問性能測(cè)試
因?yàn)閃eb系統(tǒng)采用的是C/B模式,故而其性能檢測(cè)具有很大必要性,可以將掛載Web系統(tǒng)的服務(wù)端作為重點(diǎn)測(cè)試對(duì)象,測(cè)試實(shí)際訪問量,檢測(cè)系統(tǒng)對(duì)大數(shù)據(jù)的處理能力。服務(wù)端的性能測(cè)試是系統(tǒng)測(cè)試工作的主要內(nèi)容之一,Web系統(tǒng)運(yùn)行過程中一定要能承受住大量用戶的同時(shí)訪問行為,且在多用戶同步訪問的情境下響應(yīng)速率也不能過慢。在執(zhí)行該項(xiàng)測(cè)試工作時(shí),通常應(yīng)用軟件模擬訪問Web系統(tǒng),檢測(cè)系統(tǒng)的并發(fā)訪問狀況。
2.3.3 安全性測(cè)試
Web系統(tǒng)內(nèi)承載著大量的用戶信息,用戶重要信息一旦泄露,可能會(huì)折損其社會(huì)形象,甚至對(duì)個(gè)人財(cái)產(chǎn)安全構(gòu)成威脅,故而應(yīng)積極做好系統(tǒng)安全性檢測(cè),進(jìn)而使用戶信息安全得到保障。Web系統(tǒng)身處復(fù)雜的網(wǎng)絡(luò)環(huán)境內(nèi),易遭受到網(wǎng)絡(luò)的攻擊,系統(tǒng)若在設(shè)計(jì)方面存有漏洞,則很可能被攻擊者使用,釀成嚴(yán)重后果。Web系統(tǒng)的安全性主要表現(xiàn)在如下兩個(gè)方面。
(1)信息傳遞:信息以網(wǎng)絡(luò)為載體抵達(dá)服務(wù)器,故而需傳遞的信息要進(jìn)行加密處理,合理應(yīng)用加密算法是重要的一個(gè)步驟,其中數(shù)據(jù)加密是常用的加密技術(shù)類型(見圖2),測(cè)試是在密碼未知的試驗(yàn)條件下進(jìn)行硬性解密[7]。
圖2 數(shù)據(jù)加密原理模型
(2)信息存儲(chǔ):服務(wù)器是計(jì)算機(jī)系統(tǒng)存儲(chǔ)信息的主要場(chǎng)所,一定要確保服務(wù)器數(shù)據(jù)庫(kù)訪問過程的安全性,及時(shí)屏蔽排除系統(tǒng)應(yīng)用之外的所有訪問形式。測(cè)試過程中遵循的原則是采用所有可能出現(xiàn)的形式去訪問數(shù)據(jù)庫(kù),確保整個(gè)訪問過程順利運(yùn)行。
2.3.4 兼容性測(cè)試
當(dāng)Web系統(tǒng)被發(fā)布到網(wǎng)絡(luò)上以后,廣大用戶采用的操作系統(tǒng)類型可能會(huì)有一定差異,但一定要確保用戶通過不同操作系統(tǒng)方位Web時(shí)所得的信息是相同的,也要確保Web系統(tǒng)在不同操作系統(tǒng)均能正常運(yùn)作。
系統(tǒng)兼容性測(cè)試較簡(jiǎn)單僅需要應(yīng)用不同操作系統(tǒng)執(zhí)行系統(tǒng)訪問過程,確保試驗(yàn)中Web系統(tǒng)能正常運(yùn)作即可。瀏覽器為Web客戶端的核心構(gòu)件,重點(diǎn)是第腳本、ActiveX控件、HTML及頁(yè)面上的媒體文件是否能直接播放等進(jìn)行兼容性測(cè)試。在以上過程中要注意評(píng)估瀏覽器的后退、刷新按鈕等是否會(huì)影響功能等[8]。
在互聯(lián)網(wǎng)時(shí)代中,我國(guó)軟件行業(yè)獲得更大的發(fā)展,在測(cè)試方面提出更多、更大的需求,外加測(cè)試過程的智能水平顯著提升,自動(dòng)化測(cè)試將傳統(tǒng)手工測(cè)試模式取而代之,一方面顯著提升了實(shí)際測(cè)試工作效率,另一方面減輕了測(cè)試人員的工作壓力,有效解放了生產(chǎn)力,這樣測(cè)試人員能將更多的時(shí)間、精力投放在系統(tǒng)性能優(yōu)化等方面。軟件行業(yè)在后續(xù)發(fā)展過程中,人工測(cè)試形式將逐漸減少至消失,自動(dòng)化軟件測(cè)試模式日益盛行,軟件測(cè)試將在智能化發(fā)展道路上獲得更大的發(fā)展,測(cè)試效率也將會(huì)抵達(dá)更高的層次。
此外,軟件測(cè)試積極與產(chǎn)品開發(fā)過程相融合,由此將會(huì)演變成一種特殊的測(cè)試方法。未來(lái)軟件開發(fā)與測(cè)試過程不再是十分簡(jiǎn)易的串聯(lián)關(guān)系,測(cè)試將會(huì)和開發(fā)全過程并行。傳統(tǒng)測(cè)試僅是產(chǎn)品設(shè)計(jì)工作結(jié)束后開展相應(yīng)檢測(cè)工作,這很難全面確保軟件質(zhì)量,從某種程度上分析是一種“亡羊補(bǔ)牢”的測(cè)試形式[9]。和傳統(tǒng)測(cè)試方法相比,軟件測(cè)試一方面減少了產(chǎn)品開發(fā)風(fēng)險(xiǎn),另一方面也能提前規(guī)避軟件部分不足,表現(xiàn)出更高的實(shí)用價(jià)值。
總之,軟件在社會(huì)生產(chǎn)生活等諸多方面均有廣泛應(yīng)用,給人們創(chuàng)造了很多便利條件,在未來(lái)其將會(huì)有更寬闊的發(fā)展前景。軟件質(zhì)量安全是社會(huì)公眾高度重視的問題,合理應(yīng)用軟件測(cè)試技術(shù)有很大現(xiàn)實(shí)意義。這在無(wú)形中對(duì)軟件測(cè)試技術(shù)提出了更多、更高的要求,故而實(shí)踐中應(yīng)采用適宜的方法提升軟件測(cè)試的實(shí)際工作質(zhì)效,進(jìn)而使軟件安全、高質(zhì)量應(yīng)用有更大的保障,造福人類社會(huì)。