簡易檢索 / 詳目顯示

研究生: 陳家豪
Chen, Jia-hao
論文名稱: 支援敏捷發展方法之軟體行為驗證與測試系統
A Software Behavior Verifying and Testing System Supporting Agile Software Development
指導教授: 朱治平
Chu, Chih-ping
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2008
畢業學年度: 96
語文別: 中文
論文頁數: 87
中文關鍵詞: 自動測試狀態圖統一塑模語言敏捷開發流程XMLCASE tool
外文關鍵詞: XML, Auto testing, Agile Development Process, Statechart Diagram, CASE tool, UML
相關次數: 點閱:84下載:15
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 在軟體發展的生命週期之中,軟體測試階段所佔的成本超過整個軟體發展流程的40%,軟體測試目的是希望系統的錯誤及早發現,因為在軟體發展過程中如果軟體缺陷越晚發現,修正錯誤的代價越大。因此如何有效的去實現軟體測試便是一個重要的議題。
    在敏捷開發流程(Agile Software Development)裡面,利用測試驅動開發的方法在早期產生測試驅動程式,並可以在早期測試並及早發現錯誤以修改,減少後期修正錯誤的代價。
    為了要幫助軟體開發人員自動產生測試案例及縮短系統測試的時程,以及避免減少人為產生測試案例而發生的遺漏。本研究裡發展了一個CASE tool(Computer Aided Software Engineering tool)-測試案例自動產生器(Auto Testcase Generator,ATG),利用統一塑模語言(Unified Modeling Language,UML)可以描述系統藍圖的特性,以UML中之狀態圖來產生測試案例並自動驗證與測試,ATG提供了狀態圖之編輯器以設定系統的狀態圖以及測試條件,利用XML的檔案格式作為資料交換之格式,以及透過編輯完成的狀態圖模擬產生自動測試的功能,藉此希望在早期找出軟體可能的錯誤並在早期解決,進而減低軟體開發的成本。

    The cost of testing can account for more than 40% of the total cost of the software development lifecycle. It is an important issue on how to practice software testing. Software testing practice expects to address the defects of a system in its early phase to reduce the cost to fix the defect.
    According to agile software development, test-driven development can be used to produce test driver to test software system in early phase
    to find defects of the system and fix them with lower cost.
    The purpose of this research is to help software developer to generate test cases automatically and avoid human negligence. We implemented a CASE (Computer Aided Software Engineering) tool-ATG(Auto Testcase Generator) that utilized UML(Unified Modeling Language) to depict the feature of the system and use statechart diagram to generate test cases and test them automatically. ATG provides a statechart diagram editor and adopts XML(Extensible Markup Language) as the format for data exchange. ATG implements simulated auto testing with edited statechart diagram. The defects in project are expected to be detected in early development phase thus the cost of software development can be reduced.

    圖目錄 ..................................................................................................................................... iii 表目錄 ..................................................................................................................................... iv 第一章 緒論 ............................................................................................................................. 1 1.1 簡介 ..................................................................................................................... 1 1.2 研究動機與目的 ................................................................................................. 2 1.3 研究範圍與限制 ................................................................................................. 5 1.4 論文架構 ............................................................................................................. 5 第二章 文獻探討 ..................................................................................................................... 6 2.1 統一塑模語言(Unified Modeling Language) ..................................................... 6 2.1.1 UML之狀態圖 ................................................................................................... 8 2.2 XML描述語言 ................................................................................................. 11 2.2.1 XML標籤結構 ................................................................................................. 12 2.2.2 Well-Formed XML ............................................................................................ 12 2.2.3 XML用途 ......................................................................................................... 13 2.3 軟體測詴 ........................................................................................................... 13 2.3.1 軟體測詴的分類 ............................................................................................... 14 2.3.2 軟體發展與軟體測詴 ....................................................................................... 15 2.3.3 測詴案例的設計 ............................................................................................... 16 2.4 敏捷軟體開發(Agile Software Development) .................................................. 17 2.4.1. 測詴驅動開發(Test-driven development) ................................................... 19 2.5 相關研究 ........................................................................................................... 20 第三章 系統設計與實作 ....................................................................................................... 22 3.1 ATG(Auto Testcase Generator) 介紹 ............................................................... 25 3.2 狀態設定準則 ................................................................................................... 26 3.3 XML轉換器子系統(XML Converter ) ............................................................ 32 3.4 State Diagram Editor ......................................................................................... 40 3.5 Testcase Generator............................................................................................. 44 3.6 系統操作流程 ................................................................................................... 45 第四章 應用個案說明 ........................................................................................................... 47 4.1 需求分析 ........................................................................................................... 47 4.2 需求塑模 ........................................................................................................... 48 4.3 系統狀態圖編輯 ............................................................................................... 59 4.4 實驗結果 ........................................................................................................... 61 4.4.1. 測詴案例報告 ................................................................................................... 62 4.4.2. 自動測詴報告 ................................................................................................... 64 4.4.3. 測詴數據分析 ................................................................................................... 67 第五章 結論與未來工作 ....................................................................................................... 71 5.1 結論 ................................................................................................................... 71 5.2 未來工作 ........................................................................................................... 72 參考文獻 ................................................................................................................................ 73 附錄A ATM XML 檔案 .................................................................................................... 76

    [1] 李幸超, 軟體測試實務講座, 博碩, 2007
    [2] 周政宏, Java與XML整合應用, 文魁, 2003
    [3] 飛思科技產品研發中心, 軟體測試理論與實作, 博碩, 2005
    [4] 陳會安, XML理論與實務-Java的XML應用程式開發, 學貫, 2005
    [5] 敏捷聯盟, http://agilealliance.org/, 2008
    [6] 維基百科: “統一塑模語言”, 2008 http://zh.wikipedia.org/w/index.php?title=%E7%B5%B1%E4%B8%80%E5%A1%91%E6%A8%A1%E8%AA%9E%E8%A8%80&variant=zh-tw
    [7] 維基百科: “敏捷軟件開發”, 2008 http://zh.wikipedia.org/w/index.php?title=%E6%95%8F%E6%8D%B7%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91&variant=zh-tw
    [8] Agile Process http://www.objectmentor.com/resources/articles/agileProcess.pdf
    [9] Arlow, J. and Neustadt, I., UML 2 and the unified process secend edition, Addison Wesley, 2006
    [10] ATM example introduction: http://courses.knox.edu/cs292/ATMExample/Intro.html, 2008
    [11] Booch, G., Rumbaugh, J. and Jacobson, I., The Unified Modeling Language User Guide. Addison Wesley, 2001

    [12] Davis,a.,201 Principles of Software Development, McGraw-Hill, 1995
    [13] Fowler, M., UML Distilled Third Edition, Addison Wesley, 2005
    [14] M.Prasanna ,S.N. Sivanadam,R.Venkatesan,R.Sundarrajan, “A Survey On Automatic Test Case Generation”,Academic Open Internet Journal, Vol. 15,2005
    [15] Martin, R. C., Agile Software Development:Principles, Patterns,and Practices, Pearson Prentice Hall, 2005
    [16] Myers,G.,”The Art of Software Testing”, Wiley, 1979
    [17] Object Management Group:http://www.omg.org/,2008
    [18] Offutt, J. , Abdurazik, A. and Baldini, A., “A Controlled Experimental Evaluation of Test Cases Generated from UML Diagrams”, 2004
    [19] Offutt, J. and Abdurazik, A., “Using UML Collaboration Diagrams for Static Checking and Test Generation”,3rd International Conference On UML,York,UK,Oct., 2000
    [20] Offutt, J., Liu, S., Abdurazik, A. and Ammann, P. , “Generating Test Data From State-based Specifications”, The Journal of Software Testing,Verification and Reliability, Vol. 13 No.1 , pp. 25-53, Mar., 2003
    [21] Pressman, R. S.,Software Engineering:A Practioner`s Approach Fifth Edition, McGraw Hill, 2001
    [22] UML home page: http://www.uml/org/, 2008
    [23] Ummu Salima, T.M.S. , Askarunisha, A. and Ramaraj, N., “Enhancing The Efficiency Of Regression Testing Through Intelligent Agents”, ICCIMA Proceedings of the International Conference on Computational Intelligence and Multimedia Applications (ICCIMA 2007) – Vol. 1 pp.103-108, IEEE Computer Society, 2007
    [24] W3C:http://www.w3c.org, 2008
    [25] Williams, C. E., “Software testing and the UML”, International Symposium on Software Reliability Engineering (ISSRE’99), Boca, Raton, Nov. , 1999.

    下載圖示 校內:立即公開
    校外:2008-08-08公開
    QR CODE