正當(dāng)時(shí)......

學(xué)術(shù)咨詢(xún)服務(wù)
當(dāng)前位置:職稱(chēng)那點(diǎn)事電子信息職稱(chēng)》職稱(chēng)論文指向淺析軟件測(cè)試方法的應(yīng)用價(jià)值

職稱(chēng)論文指向淺析軟件測(cè)試方法的應(yīng)用價(jià)值

來(lái)源:職稱(chēng)那點(diǎn)事作者:職稱(chēng)論文時(shí)間:2016-12-13 14:54
掃碼咨詢(xún)

  本篇文章是由電子核心期刊刊發(fā)職稱(chēng)論文《系統(tǒng)仿真技術(shù)》創(chuàng)刊于2005年,由同濟(jì)大學(xué)主辦。本刊主要刊登通信工程、信息工程、計(jì)算機(jī)科學(xué)與技術(shù)、機(jī)電工程與自動(dòng)控制、微電子學(xué)、物理電子學(xué)、電磁場(chǎng)與微波技術(shù)、無(wú)線電物理、密碼學(xué)、應(yīng)用數(shù)學(xué)等方面的有創(chuàng)見(jiàn)有參考價(jià)值的學(xué)術(shù)論文,現(xiàn)此期刊正在火熱征稿,詳情咨詢(xún)

編輯老師。

  摘要:軟件在嵌入式系統(tǒng)中的作用越來(lái)越大。軟件的質(zhì)量不僅直接影響任務(wù)的成敗,也關(guān)系著設(shè)備甚至人員的安全。隨著用戶對(duì)嵌入式系統(tǒng)軟件質(zhì)量要求的提升,軟件測(cè)試已成為嵌入式系統(tǒng)交付前必不可少的環(huán)節(jié)[1]。

  關(guān)鍵詞:嵌入式系統(tǒng) 用戶體驗(yàn) 軟件測(cè)試 電子核心期刊

  經(jīng)典的測(cè)試方法要求依據(jù)軟件需求和設(shè)計(jì)文檔,遵循既定的測(cè)試流程,嚴(yán)格按照預(yù)先設(shè)計(jì)的“腳本”開(kāi)展。因此經(jīng)典測(cè)試方法也稱(chēng)為腳本測(cè)試(Script Testing)。隨著嵌入式軟件迭代的加速,給軟件測(cè)試留出時(shí)間逐漸減少。嵌入式系統(tǒng)軟件測(cè)試呈現(xiàn)出一些新特點(diǎn),包括軟件需求變化快、軟件文檔缺乏、軟件測(cè)試周期短、測(cè)試時(shí)間不足等。

  探索性測(cè)試(Exploratory Testing)具有在時(shí)間短和文檔不完善的情況下,充分發(fā)揮測(cè)試人員的經(jīng)驗(yàn)和能力,快速、高質(zhì)量完成軟件測(cè)試等優(yōu)點(diǎn)。已形成了一套管理方法和應(yīng)用模型[2?3],并在微軟等多個(gè)企業(yè)開(kāi)展了成功的實(shí)踐[3?5]。探索性測(cè)試方法關(guān)注于實(shí)用,對(duì)它的研究也多數(shù)集中在實(shí)際應(yīng)用方法而不是理論研究上[3,6?8]。

  探索性測(cè)試是解決嵌入式系統(tǒng)軟件測(cè)試需求變化快、軟件文檔缺乏、測(cè)試周期短等現(xiàn)實(shí)問(wèn)題的可行手段之一。為了恰當(dāng)運(yùn)用,需要總結(jié)探索性測(cè)試的一般性應(yīng)用方法體系,并探討其與嵌入式系統(tǒng)軟件測(cè)試體系的聯(lián)系和沖突。在此基礎(chǔ)上提出適用于嵌入式系統(tǒng)軟件測(cè)試的探索性測(cè)試應(yīng)用模型。

  1 探索性軟件測(cè)試的基本原理

  探索性測(cè)試的概念形成較早,經(jīng)過(guò)隨后的發(fā)展已形成了一定的應(yīng)用體系。

  1.1 探索性軟件測(cè)試的概念

  傳統(tǒng)的軟件測(cè)試分為測(cè)試需求分析、測(cè)試策劃、測(cè)試用例設(shè)計(jì)、測(cè)試執(zhí)行和測(cè)試總結(jié)等主要階段,依次開(kāi)展[1]。傳統(tǒng)軟件測(cè)試流程依賴(lài)于完整、詳實(shí)的軟件需求和設(shè)計(jì)文檔作為輸入。而在現(xiàn)實(shí)的測(cè)試任務(wù)中,軟件需求和設(shè)計(jì)文檔往往有誤或不完備,這導(dǎo)致腳本測(cè)試活動(dòng)無(wú)法正常有效開(kāi)展。

  “探索性測(cè)試是同時(shí)進(jìn)行學(xué)習(xí)、測(cè)試設(shè)計(jì)和測(cè)試執(zhí)行的一種測(cè)試方法;也就是說(shuō),測(cè)試沒(méi)有事先通過(guò)確定的測(cè)試計(jì)劃定義,而是動(dòng)態(tài)地被設(shè)計(jì)、執(zhí)行和修改”[9]。探索性測(cè)試(也稱(chēng)為探索式測(cè)試)最早于1983年提出,并在實(shí)踐中發(fā)展 [1011]。與傳統(tǒng)腳本測(cè)試相比,探索性測(cè)試具有以下技術(shù)特點(diǎn):

  (1) 測(cè)試活動(dòng)的同時(shí)性。鼓勵(lì)在測(cè)試執(zhí)行的過(guò)程中,同時(shí)進(jìn)行對(duì)被測(cè)軟件的學(xué)習(xí)和測(cè)試設(shè)計(jì)。

  (2) 關(guān)注測(cè)試任務(wù)。更關(guān)注于被測(cè)軟件本身和需要測(cè)試的問(wèn)題。

  (3) 測(cè)試中的演繹推理。通過(guò)前一個(gè)測(cè)試活動(dòng)的結(jié)果來(lái)指向后期測(cè)試的開(kāi)展。

  (4) 利用人的優(yōu)勢(shì)。關(guān)注于人本身的優(yōu)勢(shì),如判斷、分析、應(yīng)變和協(xié)作的能力。

  作為一種敏捷軟件測(cè)試方法,探索性測(cè)試弱化了對(duì)測(cè)試的預(yù)先設(shè)計(jì)和測(cè)試流程的嚴(yán)格要求,而強(qiáng)調(diào)測(cè)試的同時(shí)性以及人的經(jīng)驗(yàn)和創(chuàng)造性,關(guān)注于發(fā)現(xiàn)軟件缺陷,持續(xù)優(yōu)化測(cè)試工作[12?13]。測(cè)試人員在測(cè)試?理解?再細(xì)化測(cè)試的迭代中,通過(guò)測(cè)試活動(dòng)本身不斷深入學(xué)習(xí)被測(cè)軟件,從而能夠縮減測(cè)試準(zhǔn)備時(shí)間,發(fā)現(xiàn)更多缺陷,并使得軟件測(cè)試可以在被測(cè)軟件說(shuō)明或文檔不齊全的情況下開(kāi)展[14]。

  1.2 探索性軟件測(cè)試的主要方法

  探索性測(cè)試的概念提出后,經(jīng)過(guò)工業(yè)界和學(xué)術(shù)界人士的工作,已初步形成包含經(jīng)驗(yàn)運(yùn)用、執(zhí)行策略、管理模型的體系。

  1.2.1 探索方法

  探索性測(cè)試強(qiáng)調(diào)對(duì)測(cè)試人員的知識(shí)和經(jīng)驗(yàn)的運(yùn)用。這些經(jīng)驗(yàn)和知識(shí)可分為領(lǐng)域知識(shí)、系統(tǒng)知識(shí)和一般的軟件工程知識(shí)[15]。領(lǐng)域知識(shí)指領(lǐng)域規(guī)則、客戶流程和操作場(chǎng)景等,包括用戶使用和具體應(yīng)用領(lǐng)域知識(shí)。系統(tǒng)知識(shí)是關(guān)于待測(cè)軟件的特性和技術(shù)細(xì)節(jié)的具體知識(shí),包括系統(tǒng)級(jí)的交互以及個(gè)體功能細(xì)節(jié)。一般的軟件工程知識(shí)即不需要對(duì)被測(cè)軟件系統(tǒng)和應(yīng)用領(lǐng)域的具體知識(shí)。

  豐富的知識(shí)和經(jīng)驗(yàn)是對(duì)探索性測(cè)試人員的基本要求,以此為基礎(chǔ),探索性測(cè)試的發(fā)揮人的創(chuàng)造性,并由此增強(qiáng)了測(cè)試過(guò)程的適用性。從工程應(yīng)用的實(shí)踐中,已總結(jié)出了一些有用的啟發(fā)式方法。運(yùn)用這些策略和啟發(fā)式方法,可以幫助軟件測(cè)試人員在具備了基本的知識(shí)和經(jīng)驗(yàn)的情況下,盡快熟悉被測(cè)系統(tǒng),并在測(cè)試過(guò)程中充分運(yùn)用經(jīng)驗(yàn)和創(chuàng)造性。

  在開(kāi)展具體的測(cè)試活動(dòng)時(shí),測(cè)試人員則可以借助一些啟發(fā)式方法在測(cè)試活動(dòng)中“探索”被測(cè)軟件。這些啟發(fā)式的方法是測(cè)試中為了發(fā)現(xiàn)可能的缺陷,測(cè)試人員常用的一些技巧 [16]。這其中典型的有Hendrickson的檢查單[17]以及Whittaker的漫游方法[3]。這些方法的共同特性是提醒測(cè)試人員:

  (1) 應(yīng)關(guān)注軟件最主要的功能,并在測(cè)試的過(guò)程中對(duì)軟件的行為進(jìn)行聯(lián)想、質(zhì)疑并發(fā)散,充分利用逆向輸入、邊界情況、近似值、錯(cuò)誤輸入和特殊值(如0),通過(guò)軟件行為的原因、表現(xiàn)等舉一反三;

  (2) 應(yīng)刻意構(gòu)造一些特殊的行為,如嘗試遍歷所有輸出、嘗試最長(zhǎng)操作路徑、嘗試關(guān)注關(guān)鍵數(shù)據(jù)的演化、打散或集中事物、長(zhǎng)時(shí)間運(yùn)行軟件等;

  (3) 應(yīng)構(gòu)造測(cè)試檢查軟件主要功能往往不關(guān)注的情景,例如啟動(dòng)和退出、全選、空值、資源過(guò)量和緊張、取消操作、重復(fù)、同時(shí)運(yùn)行等。

  傳統(tǒng)方法假設(shè)軟件文檔中說(shuō)明了軟件的各種預(yù)期行為,因而可以通過(guò)分析文檔來(lái)提取測(cè)試預(yù)期(Test Oracles)。然而,在軟件信息不完備的情況下,測(cè)試預(yù)期則無(wú)法提前預(yù)知。HICCUPPS的啟發(fā)式方法,從歷史(History)信息、顧客形象(Image)在軟件中的恰當(dāng)映射、類(lèi)似軟件的對(duì)照(Comparable Products)、與軟件和商業(yè)聲明(Claims)、用戶預(yù)期(User’s Expectations)、同類(lèi)產(chǎn)品本身(the Product itself)、明顯的意圖(Purpose)和法律規(guī)章(Statutes)等角度,幫助測(cè)試人員在判定測(cè)試是否通過(guò)[14]。

  1.2.2 管理模型

  良好的測(cè)試管理模型是保證測(cè)試質(zhì)量、提高測(cè)試效率的必要保障?;跁?huì)話的測(cè)試管理(SBTM)是探索性測(cè)試領(lǐng)域中最常用的管理實(shí)踐。SBTM將軟件測(cè)試活動(dòng)分解為若干會(huì)話(Session)[2]。會(huì)話特征如下:

  會(huì)話圍繞主旨(Charter)開(kāi)展:即待測(cè)試的任務(wù)和目標(biāo);會(huì)話時(shí)間較短:時(shí)間長(zhǎng)度在90 min左右;會(huì)話需要記錄:借助會(huì)話記錄單;每輪會(huì)話需要計(jì)劃和總結(jié):一輪會(huì)話執(zhí)行通常是一天,其中包含若干個(gè)會(huì)話測(cè)試。

  基于會(huì)話的測(cè)試過(guò)程如圖1所示。當(dāng)接到測(cè)試任務(wù)時(shí),測(cè)試小組通過(guò)對(duì)測(cè)試任務(wù)進(jìn)行分析討論,確定各會(huì)話的主旨。會(huì)話主旨包含被測(cè)軟件的主題、測(cè)試人員的角色、目的、條件、優(yōu)先級(jí)、參考文檔、數(shù)據(jù)、思路、預(yù)期等信息[18]。測(cè)試項(xiàng)目負(fù)責(zé)人分配各會(huì)話測(cè)試人員,隨后開(kāi)展首輪會(huì)話執(zhí)行。一輪會(huì)話執(zhí)行通常為一天。每輪會(huì)話執(zhí)行結(jié)束后,需組織會(huì)話總結(jié),主要借助以下維度進(jìn)行:會(huì)話執(zhí)行情況、筆記、缺陷、問(wèn)題、數(shù)據(jù)、時(shí)間分解、人員安排等。通過(guò)總結(jié)確定下一輪會(huì)話、資源分配。下一輪會(huì)話執(zhí)行按照相似的方式開(kāi)展。在測(cè)試達(dá)到預(yù)期時(shí)間和充分度要求后,測(cè)試結(jié)束,并根據(jù)每輪會(huì)話報(bào)告單整理測(cè)試報(bào)告。

  圖1 基于會(huì)話的測(cè)試管理示意圖

  會(huì)話還可以根據(jù)需要進(jìn)行擴(kuò)展,例如可以包含對(duì)會(huì)話的風(fēng)險(xiǎn)評(píng)估和資源統(tǒng)計(jì)[4],也可以將會(huì)話延伸為對(duì)特定問(wèn)題的關(guān)注,形成測(cè)試的線索[19]。

  1.3 探索性測(cè)試工具

  探索性測(cè)試的有效開(kāi)展同時(shí)依賴(lài)于工具的輔助。已有一些探索性測(cè)試的工具可供參考,例如Microsoft Test Manager(與Visual Studio組件),BBTestAssistant、TestExplorer,Session Tester,Rapid Reporter,Wink。這些工具通過(guò)基于錄制回放、截屏和輔助文字信息的方式幫助測(cè)試人員記錄探索性測(cè)試的執(zhí)行過(guò)程,其中Session Tester、Rapid Reporter和Wink是免費(fèi)的,Session Tester和Rapid Reporter則專(zhuān)門(mén)針對(duì)會(huì)話機(jī)制進(jìn)行了設(shè)計(jì)和優(yōu)化。

  雖然這些基于錄制回放原理的工具能夠輔助測(cè)試人員整理測(cè)試報(bào)告,但是卻缺少對(duì)測(cè)試人員運(yùn)用其知識(shí)和經(jīng)驗(yàn)的指向,對(duì)探索性測(cè)試的執(zhí)行也缺少引導(dǎo)作用。目前沒(méi)有專(zhuān)門(mén)的探索性測(cè)試流程管理工具,不能起到控制測(cè)試流程的作用。有必要針對(duì)具體應(yīng)用研發(fā)相應(yīng)的輔助工具。

  2 探索性測(cè)試的應(yīng)用及其效果

  經(jīng)過(guò)發(fā)展,探索性測(cè)試已在多個(gè)企業(yè)運(yùn)用。人們對(duì)探索性測(cè)試方法的優(yōu)缺點(diǎn)也有了更加明確的認(rèn)識(shí)。

  2.1 探索性測(cè)試在工業(yè)界的應(yīng)用

  微軟是較早實(shí)踐探索性測(cè)試方法的軟件企業(yè)。微軟在Windows 2000系統(tǒng)徽標(biāo)認(rèn)證、必應(yīng)搜索引擎和地圖、Visual Studio、Windows Media Player等系統(tǒng)、網(wǎng)絡(luò)和桌面應(yīng)用中廣泛使用了探索性測(cè)試的技巧和方法,尤其是漫游探索法[3,7,20?21]。在其他公司,探索性測(cè)試也成功的運(yùn)用于互聯(lián)網(wǎng)應(yīng)用行業(yè)以及信息系統(tǒng)的軟件測(cè)試中。這些測(cè)試任務(wù)往往在軟件文檔不全、測(cè)試時(shí)間緊、企業(yè)對(duì)采用傳統(tǒng)的腳本測(cè)試流程不滿意的背景下開(kāi)展,通過(guò)運(yùn)用基于會(huì)話的方法,測(cè)試團(tuán)隊(duì)都能夠高效的完成測(cè)試任務(wù),甚至發(fā)現(xiàn)了采用傳統(tǒng)方法在類(lèi)似項(xiàng)目中遺漏的缺陷,在系統(tǒng)上線后也沒(méi)有發(fā)生重大問(wèn)題,軟件項(xiàng)目組對(duì)測(cè)試團(tuán)隊(duì)的滿意度有提升[22?24]。

  雖然可能沒(méi)有直接說(shuō)明采用探索性測(cè)試,開(kāi)源軟件的測(cè)試往往具有探索性測(cè)試的特點(diǎn)。這些測(cè)試往往在沒(méi)有詳細(xì)的軟件文檔和測(cè)試用例設(shè)計(jì)的基礎(chǔ)上,利用志愿測(cè)試人員的經(jīng)驗(yàn)和興趣開(kāi)展 [25]。在敏捷軟件研發(fā)團(tuán)隊(duì)中,探索性測(cè)試的方法也多有運(yùn)用[26]。成功案例包括與XP和Scrum敏捷軟件開(kāi)發(fā)的結(jié)合[5,27]。

  除了在工業(yè)界的運(yùn)用,也有學(xué)者對(duì)敏捷軟件測(cè)試的應(yīng)用進(jìn)行了系統(tǒng)的研究和討論。Itkonen等人在芬蘭多個(gè)軟件公司中研究了測(cè)試人員對(duì)探索性測(cè)試的使用方法、效果和評(píng)價(jià)[28],對(duì)探索性測(cè)試的優(yōu)缺點(diǎn)、應(yīng)用條件合場(chǎng)景以及推薦的方法進(jìn)行了總結(jié)[29];通過(guò)研究和實(shí)驗(yàn),發(fā)現(xiàn)了探索性測(cè)試在缺陷檢測(cè)能力上能達(dá)到甚至超過(guò)傳統(tǒng)腳本測(cè)試的水平[6]。Naseer,史亮和高翔也總結(jié)了探索性軟件測(cè)試在瑞典軟件公司、國(guó)內(nèi)的微軟和淘寶等企業(yè)運(yùn)用的經(jīng)驗(yàn),對(duì)探索性測(cè)試的活動(dòng)進(jìn)行了總結(jié)[8,10]。Bach等人還成立了公司專(zhuān)門(mén)從事測(cè)試方面的研究和推廣。另外,也有一些研究將探索性測(cè)試思想與測(cè)試自動(dòng)化方法結(jié)合[30],或利用探索性測(cè)試的思想提高測(cè)試效率和質(zhì)量的工作[5]。

  從目前的應(yīng)用情況來(lái)看,探索性測(cè)試技術(shù)多數(shù)是在桌面應(yīng)用、B/S架構(gòu)信息系統(tǒng)等領(lǐng)域的應(yīng)用,在嵌入式系統(tǒng)軟件測(cè)試中的應(yīng)用較少。

  2.2 探索性測(cè)試的優(yōu)缺點(diǎn)

  經(jīng)過(guò)實(shí)踐,總結(jié)上述對(duì)探索性測(cè)試的應(yīng)用,能夠發(fā)現(xiàn),探索性測(cè)試尤其適用于要求在短時(shí)間內(nèi)發(fā)現(xiàn)被測(cè)軟件一些重要缺陷或事先沒(méi)有能夠進(jìn)行詳細(xì)測(cè)試設(shè)計(jì)的情況;但也具有測(cè)試過(guò)程不易控制、測(cè)試文檔不全等問(wèn)題。因此,在具體領(lǐng)域中運(yùn)用探索性測(cè)試技術(shù)時(shí),有必要根據(jù)領(lǐng)域特性,設(shè)計(jì)適合的測(cè)試流程,揚(yáng)長(zhǎng)避短。

  一般認(rèn)為探索性測(cè)試的主要優(yōu)點(diǎn)和缺點(diǎn)如下:

  優(yōu)點(diǎn):便于利用人員經(jīng)驗(yàn);適合于從用戶角度的測(cè)試;適用于缺少軟件文檔、測(cè)試時(shí)間緊情況;靈活且適應(yīng)性強(qiáng);對(duì)測(cè)試人員和開(kāi)發(fā)人員的反饋較快;能夠?yàn)闇y(cè)試帶來(lái)新內(nèi)容,降低“殺蟲(chóng)劑”效應(yīng)。

  缺點(diǎn):缺少足夠的文檔,不易度量覆蓋率;測(cè)試統(tǒng)計(jì)數(shù)據(jù)不足,不利于決策;對(duì)測(cè)試人員經(jīng)驗(yàn)要求較高;在測(cè)試人員經(jīng)驗(yàn)不足、管理不嚴(yán)格的情況下,可能會(huì)影響測(cè)試質(zhì)量;如缺少恰當(dāng)工具,則不利于缺陷復(fù)現(xiàn)。

  3 探索性測(cè)試在嵌入式系統(tǒng)中的應(yīng)用

  探索性測(cè)試技術(shù)卻是能夠應(yīng)對(duì)嵌入式系統(tǒng)軟件測(cè)試中軟件需求變化快、測(cè)試周期短、軟件文檔不全等現(xiàn)實(shí)問(wèn)題的可行方法之一。本文首先分析探索性測(cè)試在嵌入式軟件測(cè)試中應(yīng)用的需求和困難,然后探討探索性測(cè)試技術(shù)與嵌入式系統(tǒng)軟件測(cè)試體系的結(jié)合方法,對(duì)應(yīng)用模型提出建議,并對(duì)應(yīng)用中可能的問(wèn)題和后續(xù)研究進(jìn)行討論和展望。

  3.1 探索性測(cè)試一般性方法的適用性

  隨著IT技術(shù)的發(fā)展和各國(guó)在國(guó)防、智能電網(wǎng)、物聯(lián)網(wǎng)、智能手機(jī)等行業(yè)投入的加大,嵌入式軟件產(chǎn)品越來(lái)越多,測(cè)試任務(wù)越來(lái)越重,往往難以保證充裕的測(cè)試時(shí)間。軟件需求和開(kāi)發(fā)文檔存在不準(zhǔn)確、不完備的情況。而同時(shí),嵌入式軟件的測(cè)試具有較強(qiáng)的領(lǐng)域特性,領(lǐng)域內(nèi)測(cè)試人員對(duì)被測(cè)系統(tǒng)的經(jīng)驗(yàn)比較豐富。因此,需要也有條件在嵌入式系統(tǒng)軟件中開(kāi)展探索性測(cè)試,以降低對(duì)軟件需求和設(shè)計(jì)規(guī)約的依賴(lài)、發(fā)揮探索性測(cè)試對(duì)軟件變化的適應(yīng)性和充分利用測(cè)試人員經(jīng)驗(yàn)的優(yōu)勢(shì)。

  然而,探索性測(cè)試技術(shù)在嵌入式領(lǐng)域中的應(yīng)用卻較少。探索性測(cè)試的通用方法沒(méi)有直接用于嵌入式系統(tǒng)軟件測(cè)試的原因主要是 [1,31?33]:

  (1) 軟件測(cè)試文檔:探索性測(cè)試不鼓勵(lì)測(cè)試花費(fèi)精力在策劃和準(zhǔn)備上,而測(cè)試執(zhí)行記錄風(fēng)格隨意性較大,不利于形成統(tǒng)一、完備的測(cè)試文檔;這與按照國(guó)標(biāo)和軍標(biāo)中對(duì)完整的軟件測(cè)試文檔的要求沖突。

  (2) 軟件測(cè)試充分性度量:不易度量測(cè)試覆蓋率,不易評(píng)價(jià)測(cè)試質(zhì)量。

  (3) 軟件測(cè)試過(guò)程控制:缺少對(duì)配置和測(cè)試流程的系統(tǒng)性管理,可能造成測(cè)試過(guò)程失控。

  3.2 探索性測(cè)試應(yīng)用模型探討

  為了解決嵌入式系統(tǒng)測(cè)試中軟件需求變化快、測(cè)試周期短、軟件文檔不完備等現(xiàn)實(shí)問(wèn)題,有必借鑒探索性測(cè)試技術(shù)在信息系統(tǒng)、網(wǎng)絡(luò)應(yīng)用、操作系統(tǒng)等方面的成功經(jīng)驗(yàn),將其融入嵌入式系統(tǒng)軟件測(cè)試體系中來(lái)[24,34]。為了與相應(yīng)的軟件測(cè)評(píng)體系和標(biāo)準(zhǔn)匹配,必須對(duì)探索性測(cè)試通用方法進(jìn)行調(diào)整,設(shè)計(jì)探索性測(cè)試在嵌入式系統(tǒng)軟件測(cè)試的應(yīng)用模型。

  一種可參考的“腳本會(huì)話模型”如圖2所示,是以探索性測(cè)試一般性理論、探索性測(cè)試各特性在各型產(chǎn)品軟件的適用性研究為基礎(chǔ),將探索性測(cè)試與傳統(tǒng)腳本測(cè)試相結(jié)合的軟件測(cè)試模型。為充分利用兩者的優(yōu)勢(shì),腳本會(huì)話模型的整體仍以傳統(tǒng)腳本方法為基礎(chǔ),從而利用腳本測(cè)試管理中測(cè)試文檔完備和過(guò)程管理控制完善等優(yōu)點(diǎn),而在測(cè)試執(zhí)行過(guò)程中充分發(fā)揮探索性測(cè)試的靈活、高效優(yōu)點(diǎn),引入會(huì)話、漫游測(cè)試法等探索性測(cè)試等方法,同時(shí)借助嵌入式系統(tǒng)軟件測(cè)試典型數(shù)據(jù)復(fù)用庫(kù)來(lái)實(shí)現(xiàn)對(duì)測(cè)試人員經(jīng)驗(yàn)的固化和復(fù)用。

  圖2 嵌入式系統(tǒng)軟件腳本會(huì)話測(cè)試模型

  如圖3所示,腳本會(huì)話模型整體流程遵循經(jīng)典的腳本測(cè)試流程,但發(fā)揮了探索性測(cè)試對(duì)經(jīng)驗(yàn)的利用和靈活性的特點(diǎn)。

  圖3 腳本會(huì)話測(cè)試模型流程框架

  包含以下步驟:

  (1) 測(cè)試策劃和設(shè)計(jì)階段;借助領(lǐng)域軟件測(cè)試典型數(shù)據(jù)復(fù)用庫(kù)(測(cè)試人員經(jīng)驗(yàn)的固化體現(xiàn))形成測(cè)試項(xiàng)、構(gòu)造測(cè)試用例,降低對(duì)軟件需求和設(shè)計(jì)文檔的依賴(lài),初步完成測(cè)試需求的提取和測(cè)試用例的設(shè)計(jì)。

  (2) 測(cè)試執(zhí)行階段:測(cè)試執(zhí)行以基于會(huì)話的方式開(kāi)展,并對(duì)一般會(huì)話進(jìn)行擴(kuò)展。根據(jù)測(cè)試設(shè)計(jì)和計(jì)劃,確定每個(gè)會(huì)話的主旨、用例和測(cè)試方法。在每一次會(huì)話中,測(cè)試人員可以結(jié)對(duì)開(kāi)展測(cè)試執(zhí)行,根據(jù)預(yù)先指定的漫游策略和啟發(fā)式方法,針對(duì)一個(gè)測(cè)試項(xiàng)進(jìn)行探索,并補(bǔ)充測(cè)試用例。測(cè)試人員在會(huì)話結(jié)束后整理會(huì)話記錄單。根據(jù)本輪會(huì)話執(zhí)行情況,記錄缺陷、改善測(cè)試設(shè)計(jì),并準(zhǔn)備下一輪會(huì)話。如此迭代直到測(cè)試結(jié)束條件滿足,測(cè)試執(zhí)行結(jié)束[35]。

  (3) 測(cè)試總結(jié)階段:借助測(cè)試執(zhí)行中各個(gè)會(huì)話報(bào)告單,總結(jié)和報(bào)告缺陷。

  3.3 討論和展望

  探索性測(cè)試在互聯(lián)網(wǎng)和桌面應(yīng)用已經(jīng)成功實(shí)踐[34],而在嵌入式領(lǐng)域應(yīng)用仍然較少。在嵌入式系統(tǒng)軟件測(cè)試中運(yùn)用諸如腳本會(huì)話模型的探索性測(cè)試技術(shù)時(shí),應(yīng)注意以下三點(diǎn)問(wèn)題:

  (1) 測(cè)試過(guò)程管理和文檔。必須重視探索性測(cè)試的過(guò)程管理以保證測(cè)試過(guò)程受控。同時(shí)在適當(dāng)?shù)碾A段應(yīng)編寫(xiě)相應(yīng)文檔作為測(cè)試階段性成果,并在測(cè)試執(zhí)行完成后更新相應(yīng)文檔。

  (2) 結(jié)合具體領(lǐng)域。具體領(lǐng)域的軟件測(cè)試典型數(shù)據(jù)復(fù)用庫(kù)可以看作是對(duì)該領(lǐng)域軟件測(cè)試人員測(cè)試經(jīng)驗(yàn)的固化,是軟件測(cè)試團(tuán)隊(duì)的組織資產(chǎn),有助于團(tuán)隊(duì)新成員快速熟悉被測(cè)系統(tǒng),提高探索性測(cè)試的效率。

  (3) 針對(duì)測(cè)試團(tuán)隊(duì)和項(xiàng)目制定具體策略。制定探索性測(cè)試中的典型方法的應(yīng)用策略,并注意收集反饋,在實(shí)踐中持續(xù)改進(jìn)。

  探索性測(cè)試作為一種在互聯(lián)網(wǎng)、操作系統(tǒng)等領(lǐng)域成功運(yùn)用多年的測(cè)試技術(shù)和理念,可以與其他軟件測(cè)試技術(shù)結(jié)合,共同推進(jìn)嵌入式軟件測(cè)試質(zhì)量的提升??赡艿慕Y(jié)合方向包括(但不限于):

  (1) 基于模型的測(cè)試和驗(yàn)證。借助軟件模型可發(fā)現(xiàn)隱藏在軟件界面和正常使用流程下的交互,其中可能隱藏了大量的缺陷;借助模型檢驗(yàn)工具提供的反例[36],測(cè)試人員還可以對(duì)軟件進(jìn)行更加深入的探索;

  (2) 測(cè)試自動(dòng)化。嵌入式系統(tǒng)軟件需要處理傳感器送來(lái)的大量數(shù)據(jù),采用自動(dòng)化方法能夠有效減少測(cè)試人員的工作量;結(jié)合探索性測(cè)試的技術(shù),也能夠?yàn)闇y(cè)試用例約簡(jiǎn)和測(cè)試預(yù)期問(wèn)題提供解決途徑[34,37?39];

  基于剖面的測(cè)試:構(gòu)造嵌入式系統(tǒng)的操作剖面和用戶剖面,輔助測(cè)試人員能有選擇性地對(duì)系統(tǒng)進(jìn)行探索[40??41]。

  4 結(jié) 語(yǔ)

  探索性測(cè)試技術(shù)經(jīng)過(guò)研究和發(fā)展,已形成了一套可行的體系。探索性測(cè)試在嵌入式系統(tǒng)軟件測(cè)試中的應(yīng)用還較少。經(jīng)過(guò)對(duì)探索性測(cè)試體系的全面研究,能夠更好的理解這種方法在嵌入式系統(tǒng)軟件測(cè)試中的適用性,并為融合探索性測(cè)試與傳統(tǒng)嵌入式軟件測(cè)試方法,形成適用于嵌入式系統(tǒng)軟件測(cè)試的探索性測(cè)試應(yīng)用模型提供思路和方向。

  參考文獻(xiàn)

  [1] 康一梅,張永革,李志軍,等.嵌入式軟件測(cè)試[M].北京:機(jī)械工業(yè)出版社,2008.

  [2] BACH J. Session?based test management [J]. Software Testing and Quality Engineering, 2000, 2(6): 1?4.

  [3] WHITTAKER J A.探索式軟件測(cè)試[M].北京:清華大學(xué)出版社,2010.

  [4] LYNDSAY J, VAN EEDEN N. Adventures in session?based testing [EB/OL]. [2002?08?02].

  [5] TUOMIKOSKI J, TERVONEN I. Absorbing software testing into the scrum method [J]. Lecture Notes in Business Information Processing, 2009, 32: 199?215.

  [6] ITKONEN J, MANTYLA M V, LASSENIUS C. Defect detection efficiency: Test case based vs. exploratory testing [C]// Proceedings of International Symposium on Empirical Software Engineering and Measurement (ESEM). [S.l.]: [s.n.], 2007: 61?70.

  [7] BACH J. General functionality and stability test procedure for certified for Microsoft Windows logo [R/OL]. [1999?08?22]. 

  [8] NASEER A, ZULFIQAR M. Investigating exploratory testing in industrial practice [D]. Ronneby: Blekinge Institute of Technology, 2010.


《職稱(chēng)論文指向淺析軟件測(cè)試方法的應(yīng)用價(jià)值》
上一篇:電子職稱(chēng)論文發(fā)表淺析電子企業(yè)創(chuàng)立品牌的意圖
下一篇:電子職稱(chēng)論文發(fā)表韓國(guó)KBS數(shù)據(jù)廣播系統(tǒng)介紹
更多>>

期刊目錄