午夜伦理在线-午夜伦理在线观看-午夜毛片免费看-午夜美女久久久久爽久久-午夜免费

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.brpp.cn/bbs/index.asp)
--  軟件測試  (http://www.brpp.cn/bbs/list.asp?boardid=70)
----  基于敏捷測試的技術(shù)研究  (http://www.brpp.cn/bbs/dispbbs.asp?boardid=70&id=2667)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-12-15 14:49:01
--  基于敏捷測試的技術(shù)研究
隨著敏捷開發(fā)過程流行,敏捷測試方法也開始受到更多的關(guān)注。同時(shí),軟件測試用例的選擇和生成也是軟件測試中的一個(gè)重要研究領(lǐng)域,測試用例的質(zhì)量將直接決定軟件測試的科學(xué)性和有效性。本文基于集成測試框架FIT(Framework for Integrated Test),并結(jié)合兩兩組合覆蓋的測試用例自動(dòng)生成技術(shù),實(shí)現(xiàn)從接口參數(shù)邊界值的確定,到以HMTL形式顯示集成測試結(jié)果過程的半自動(dòng)化過程。

1 研究背景
  隨著敏捷開發(fā)的流行,傳統(tǒng)的軟件測試也在發(fā)生著翻天覆地的變化。傳統(tǒng)的軟件測試已不能適應(yīng)當(dāng)前的開發(fā)方式,急需新的理論和方法論來尋求改變,并以此來推進(jìn)軟件工程的進(jìn)步。本文將關(guān)注與敏捷測試相關(guān)理論與技術(shù)。
1.1 敏捷技術(shù)方法與分析
  我們現(xiàn)在面對著飛速變化的業(yè)務(wù)和技術(shù)環(huán)境。在這樣一個(gè)環(huán)境中,傳統(tǒng)的軟件開發(fā)方法所認(rèn)為需求需要在項(xiàng)目初期分析清楚并且保持穩(wěn)定的想法是行不通的。不能快速持續(xù)的將需求變化融合到軟件中就意味著對業(yè)務(wù)環(huán)境反映遲鈍,最終導(dǎo)致業(yè)務(wù)上的失敗。同樣,新技術(shù)不斷地涌現(xiàn),也要求軟件產(chǎn)品的代碼時(shí)刻處于一種良好的狀態(tài),能夠適應(yīng)各種調(diào)整。于是,敏捷開發(fā)過程應(yīng)運(yùn)而生。
  2001年以Kent Beck,Martin Fowler,Robert C.Martin及Ward Cunningham等為首的一些軟件工程的專家成立了“敏捷聯(lián)盟”(Agile Alliance),并提出了著名的敏捷宣言,即敏捷過程的價(jià)值觀:
?     人和交互重于過程和工具。
?     可以工作的軟件重于求全責(zé)備的文檔。
?     客戶合作重于合同談判。
?     隨時(shí)應(yīng)對變化重于循規(guī)蹈矩。
  這些價(jià)值觀是專家們在求同存異的基礎(chǔ)上對敏捷技術(shù)的最基本的總結(jié),也是他們在敏捷技術(shù)方面達(dá)成的最大共識,其反映的是兩個(gè)更深層的特點(diǎn):
  1) 敏捷型方法是“適應(yīng)性”而非“預(yù)見性”
        工程方法試圖對一個(gè)軟件開發(fā)項(xiàng)目在很長的時(shí)間跨度內(nèi)做出詳細(xì)的計(jì)劃, 然后依計(jì)劃進(jìn)行開發(fā)。這類方法在一般情況下工作良好,但(需求、環(huán)境等) 有變化時(shí)就不太靈了。因此它們本質(zhì)上是拒絕變化的。而敏捷型方法則歡迎變化。其實(shí),它們的目的就是成為適應(yīng)變化的過程,甚至能允許改變自身來適應(yīng)變化。
  2) 敏捷型方法是“面向人”的,而非“面向過程”的
  工程型方法的目標(biāo)是定義一個(gè)過程,不管是誰用都工作。而敏捷型方法 則認(rèn)為沒有任何過程能代替開發(fā)組的技能,過程起的作用是對開發(fā)組的 工作提供支持。
敏捷聯(lián)盟還以這4個(gè)價(jià)值觀為原則,提出了敏捷過程的12條指導(dǎo)原則,以期能更好的指導(dǎo)人們了解敏捷過程。
  敏捷開發(fā)過程,指的就是一種與傳統(tǒng)的瀑布模型開發(fā)和CMM(Capability Maturity Model,軟件開發(fā)的能力成熟度模型)所追求的嚴(yán)謹(jǐn)?shù)奈臋n制度截然相反的開發(fā)過程。這一開發(fā)過程注重開發(fā)團(tuán)隊(duì)和成員之間的關(guān)系而不是以開發(fā)的進(jìn)程和使用的工具為重點(diǎn),注重所開發(fā)的軟件產(chǎn)品而不是追求廣泛的文檔編制,注重開發(fā)過程中與客戶的協(xié)同工作而不是以簽訂合同的談判為工作的核心,注重在開發(fā)過程中隨時(shí)調(diào)整計(jì)劃而不是同意完全遵循某一開發(fā)計(jì)劃,以實(shí)現(xiàn)所謂開發(fā)過程的“敏捷”。
1.2 敏捷測試及其研究現(xiàn)狀
  敏捷方法的發(fā)展,打破了傳統(tǒng)的瀑布開發(fā)模型,改變了整個(gè)軟件開發(fā)過程中的角色和定位。由于在敏捷開發(fā)運(yùn)動(dòng)的初期,主要依靠開發(fā)人員來進(jìn)行推動(dòng)。很多測試人員不了解敏捷方法,仍然習(xí)慣了按照傳統(tǒng)的瀑布模式進(jìn)行軟件測試,即按照V模型所指導(dǎo)的步驟進(jìn)行測試,保證軟件與需求、設(shè)計(jì)的相符合,但這樣很容易形成了一種測試思維的定勢。當(dāng)“用戶需求不明確”、“需求變化較快”時(shí),沿用傳統(tǒng)測試方法的測試人員將變的無所適從。
  目前比較流行的敏捷測試方法有測試驅(qū)動(dòng)開發(fā)和相關(guān)環(huán)境驅(qū)動(dòng)測試等。還有很多國外知名專家按照“敏捷”的原理為軟件測試開發(fā)了相應(yīng)的測試框架,其中最著名的就是Kent Beck等提出的xUnit系列單元測試框架和Ward Cunningham等提出的Framework for Integrated Test(FIT)集成測試框架。xUnit系列提出的比較早,目前已有一套完善的測試工具和方法論來支持了,適用于各種語言的單元測試。FIT框架是當(dāng)前國內(nèi)外的研究重點(diǎn),很多知名的測試專家如Lisa Crispin等都在如何使用FIT進(jìn)行有效的軟件測試方面得出了很多的研究成果。
1.3 基于接口參數(shù)的測試用例自動(dòng)生成算法
  在軟件測試工作中,由于輸入、輸出空間,特別是輸入空間的無限性,使得無法對軟件進(jìn)行全面的測試。因此,如何從大量的輸入數(shù)據(jù)中挑選適量的具有代表性、典型性的數(shù)據(jù),特別是怎樣用較少的測試用例對軟件進(jìn)行較全面的測試是測試人員面臨的一大難題。
  測試用例的選擇無論是對黑箱測試還是對白箱測試都起著關(guān)鍵的作用,決定著軟件測試的質(zhì)量和效果。所謂測試用例選擇就是指從所有的可用測試用例中選出少量典型的測試用例,以達(dá)到對測試域的最大限度覆蓋。多年來,許多研究者對之進(jìn)行了廣泛而深入的研究,并取得了許多研究成果。常用的基于接接口參數(shù)的黑箱測試用例選擇方法是對系統(tǒng)每個(gè)接口參數(shù)采用邊際值分析法和等價(jià)類劃分法等選取一組典型的值,然后在這些取值組合中隨機(jī)選取一組測試用例,或者使用一些啟發(fā)式方法從中進(jìn)行篩選。但這些方法的缺點(diǎn)是帶有主觀傾向性,不具有普遍性。

2 基于敏捷測試的相關(guān)技術(shù)討論
2.1 FIT框架及應(yīng)用
  在敏捷開發(fā)過程中,軟件測試是至關(guān)重要的,尤其是在最為流行的敏捷開發(fā)過程:極限編程(XP)中顯的更為突出。誠然,所有的過程都提到測試,但一般都不怎么強(qiáng)調(diào)�?墒荴P將測試作為開發(fā)的基礎(chǔ),要求每個(gè)程序員寫一段源碼時(shí)都得寫相應(yīng)的測試碼。這些測試片段不斷地積累并被整合到系統(tǒng)中。這樣的過程會(huì)產(chǎn)生一個(gè)高度可靠的建造平臺,為進(jìn)一步開發(fā)提供了良好的基礎(chǔ)。
  但是,即使是單元測試工具JUnit也存在一些缺點(diǎn):比如JUnit里要進(jìn)行數(shù)據(jù)填充,但是數(shù)據(jù)經(jīng)常改變,使維護(hù)工作變成了可怕的噩夢,測試不同的組合,需要不同的數(shù)據(jù),這也許會(huì)使測試工作變得日益復(fù)雜。而目前的集成測試又缺乏有效的方法論,不能自動(dòng)化,測試的質(zhì)量比較依賴測試人員的水平。
  Framework for Integrated Test(簡稱FIT)就是一個(gè)用于增強(qiáng)交流和協(xié)作的工具。FIT創(chuàng)建了一個(gè)在客戶和程序員之間的反饋循環(huán)。FIT讓客戶和測試人員可以使用諸如Microsoft Office之類的工具來給出程序應(yīng)當(dāng)如何表現(xiàn)的例子——而無需成為直接編碼的程序員。FIT自動(dòng)針對實(shí)際的程序檢測那些例子,這樣就在業(yè)務(wù)世界和軟件工程世界之間建立了一個(gè)簡單而且有效的橋梁。
  FIT給予了客戶和程序員一個(gè)關(guān)于軟件的精確交流的方法�?蛻羲o的具體的例子讓程序員能深刻理解將要構(gòu)建的產(chǎn)品。程序員的對于裝置的工作和軟件可以讓客戶給出不同的例子進(jìn)行試驗(yàn)來獲取對于軟件如何真正工作更深入的了解。這樣通過一起工作,整個(gè)團(tuán)隊(duì)可以學(xué)會(huì)更多關(guān)于產(chǎn)品的內(nèi)容并產(chǎn)生更好的結(jié)果。
2.2 測試用例自動(dòng)生成技術(shù)
  正交試驗(yàn)設(shè)計(jì)起源于科學(xué)試驗(yàn),它由田口玄一博士在1949年創(chuàng)立,并于60年代初從日本傳人中國。它應(yīng)用依據(jù)Galois理論導(dǎo)出的正交表,從大量試驗(yàn)條件中挑選出適量的、有代表性的條件來合理地安排試驗(yàn)。運(yùn)用這種方法安排的試驗(yàn)具有“均勻分散、整齊可比”的特點(diǎn)�!熬鶆蚍稚ⅰ毙允乖囼�(yàn)點(diǎn)均衡地分布在試驗(yàn)范圍內(nèi),讓每個(gè)試驗(yàn)點(diǎn)有充分的代表性;“整齊可比”性使試驗(yàn)結(jié)果的分析十分方便,可以估計(jì)各因素對指標(biāo)的影響,找出影響事物變化的主要因素。
  但正交試驗(yàn)設(shè)計(jì)仍然存在著一些有待解決的弊端:比如正交表難以構(gòu)造,因素、水平過多時(shí)測試用例數(shù)目還是過多等。所以一些專家又提出一種基于對接口參數(shù)進(jìn)行組合覆蓋的黑箱測試用例自動(dòng)生成算法模型,據(jù)此來得到一個(gè)對所有接口參數(shù)進(jìn)行兩兩組合覆蓋的測試用例表。這種方法有著類似正交試驗(yàn)設(shè)計(jì)的特點(diǎn),實(shí)際上,在特定情況下,這種算法模型得出的測試用例表就是正交表。

3 技術(shù)實(shí)現(xiàn)的考慮
3.1 基于FIT框架對軟件進(jìn)行集成測試
  使用基于FIT框架的開源FIT工具來實(shí)現(xiàn)真正的測試先行開發(fā)過程,并讓客戶、需求提報(bào)工程師、開發(fā)人員、以及測試人員進(jìn)行協(xié)同工作,達(dá)到需求更精準(zhǔn)、減少需求更改、測試數(shù)據(jù)與JUnit單元測試代碼分離的目的,讓這一切更簡潔、更易于維護(hù)。
        將根據(jù)以下步驟進(jìn)行研究:
        1) 使用FIT框架進(jìn)行實(shí)際項(xiàng)目測試的實(shí)踐,從中提煉出一套使用FIT框架進(jìn)行集成測試的通用方法。 
        2) 通過實(shí)踐,對FIT框架進(jìn)行合理的改進(jìn)和拓展,結(jié)合JUnit單元測試,現(xiàn)實(shí)單元測試和集成測試的無縫連接,達(dá)到提高軟件質(zhì)量的效果。
        3) 在理論研究和實(shí)踐的基礎(chǔ)上,規(guī)約出適用于單元測試和集成測試的通用方法。
3.2 整合測試用例的自動(dòng)生成技術(shù)至FIT
  按照敏捷過程中“簡單”原則,本課題將編寫一個(gè)輔助接口測試的工具,用來自動(dòng)產(chǎn)生少而有效的測試用例,以達(dá)到對測試域的最大限度覆蓋。通過該工具產(chǎn)生的測試用例表,能符合FIT框架的要求,并可被FIT所執(zhí)行而得到HTML形式的可視化的測試結(jié)果。通過這種方式,大大增加了測試的自動(dòng)化。
        為了實(shí)現(xiàn)該目標(biāo),將按照以下步驟進(jìn)行研究:
        1) 查看“正交試驗(yàn)設(shè)計(jì)方法”的原理及其資料,了解測試用例生成的規(guī)則。
        2) 查閱兩兩覆蓋測試用例生成的相關(guān)算法,并根據(jù)算法用程序?qū)崿F(xiàn),進(jìn)行實(shí)踐研究。
        3) 根據(jù)實(shí)踐研究,對兩兩覆蓋測試用例進(jìn)行改進(jìn),以期能更高效的實(shí)現(xiàn)測試用例的生成。
        4) 修改依據(jù)改進(jìn)后的算法實(shí)現(xiàn)的測試工具,使其輸入輸出符合FIT框架的要求。在此基礎(chǔ)上,把此工具集成到FIT框架中。

4 小結(jié)
  本文討論了當(dāng)前軟件測試中的兩大重要研究領(lǐng)域:敏捷測試方法和測試用例的選擇與生成技術(shù)。進(jìn)一步的工作是,根據(jù)“敏捷”的集成測試框架FIT需要人工構(gòu)造表格形式的數(shù)據(jù)作為輸入的前提,深入研究如何自動(dòng)生成FIT需要的表格數(shù)據(jù)?再對FIT進(jìn)行擴(kuò)展,為FIT嵌入測試用例表格自動(dòng)生成功能。其中測試用例集的生成將依據(jù)各參數(shù)兩兩覆蓋的原則,以求達(dá)到對測試域的最大限度覆蓋


主站蜘蛛池模板: 国产毛片视频网站 | 欧美亚洲另类在线 | 激情欧美一区二区三区 | 国产精品永久免费视频观看 | 黄色免费网址在线观看 | 喷水网站| 中国一级毛片欧美一级毛片 | 日本精品中文字幕有码 | 国美女福利视频午夜精品 | 可以免费观看的毛片 | 色播亚洲视频在线观看 | 亚洲国产天堂久久九九九 | 国产欧美成人一区二区三区 | 国产精品v欧美精品v日韩精品 | 国产一级二级三级视频 | mm1313亚洲国产精品无 | 欧美日韩在线免费观看 | 久草a视频 | 成 人色 网 站www | 国产伦精品一区二区三区视频小说 | 久久精品视频免费播放 | 欧美色碰碰碰免费观看长视频 | 九九51精品国产免费看 | 香港经典a毛片免费观看爽爽影院 | 青草视频在线免费 | 性色生活免费看性大片 | 正在播放国产会所按摩视频 | 精品视频免费在线观看 | 在线500福利视频国产 | 国产成年女一区二区三区 | 精品国产一区二区 | 性做久久久久免费看 | 亚洲一区二区三区亚瑟 | 国产hs免费高清在线观看 | 久久麻豆亚洲精品 | 亚洲最大的黄色网址 | 国产精品1024免费看 | 亚洲日韩视频免费观看 | 美日韩中文字幕 | 欧美一区永久视频免费观看 | 久久免费黄色 |