久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久

以文本方式查看主題

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

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

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

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

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

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


主站蜘蛛池模板: 成人高清在线观看播放 | 国产香蕉国产精品偷在线观看 | 亚洲品质自拍网站 | 国产欧美日韩一区 | 偷窥女厕国产在线视频 | 在线免费观看成年人视频 | 中文字幕一区二区三 | tubesexvideo日本护士 | 99精选视频 | 免费萌白酱国产一区二区三区 | 欧美自拍视频 | 久艹视频在线观看 | 欧美日韩国产在线人成dvd | 欧美高清在线 | 亚洲精品人成网在线播放影院 | 日韩免费毛片全部不收费 | 日本三级网站在线线观看 | 欧美一级大黄特黄毛片视频 | 全部孕妇毛片 | 久久免费视频播放 | 波多野吉衣 免费一区 | 美女张开腿让我 | 亚洲欧美日韩精品久久 | 久草视频首页 | 美女在线网站免费的 | 九九久久国产精品 | 国产日产久久 | 国产1000部成人免费视频 | aaa成人永久在线观看视频 | 亚洲综合精品成人 | 国产精品久久久久久一级毛片 | 在线免费看一级片 | 三级国产精品一区二区 | 欧美一级特黄刺激爽大片 | 亚洲人妖女同在线播放 | 免费观看欧美一级高清 | 成人永久福利在线观看不卡 | 一级特黄国产高清毛片97看片 | 欧美高清在线精品一区二区不卡 | 欧美在线a | 亚洲风情第一页 |