請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/18315完整後設資料紀錄
| DC 欄位 | 值 | 語言 |
|---|---|---|
| dc.contributor.advisor | 王凡(Farn Wang) | |
| dc.contributor.author | Chia-Hao Yeh | en |
| dc.contributor.author | 葉家豪 | zh_TW |
| dc.date.accessioned | 2021-06-08T00:59:25Z | - |
| dc.date.copyright | 2015-03-13 | |
| dc.date.issued | 2015 | |
| dc.date.submitted | 2015-01-21 | |
| dc.identifier.citation | [1] P. Lam, E. Bodden, O. Lhotak , L. Hendren (2011). The Soot framework for Java program analysis: a retrospective. In Cetus Users and Compiler Infastructure Workshop (CETUS).
[2] E. J. Weyuker(1989). Completely validated software: in defense of coverage criteria (panel session). In Proceedings of the 11th international conference on Software engineering (p. 361). ACM. [3] E. J. Weyuker (2004). How to judge testing progress. Information and Software Technology, 46(5), 323-328. [4] M. R. Lyu, Z. Huang, S. K. Sze, X. Cai (2003). An empirical study on testing and fault tolerance for software reliability engineering. In Software Reliability Engineering, 2003. ISSRE 2003. 14th International Symposium on (pp. 119-130). IEEE. [5] M. M. Tikir, J. K. Hollingsworth (2002). Efficient instrumentation for code coverage testing. ACM SIGSOFT Software Engineering Notes, 27(4), 86-96. [6] Q. Yang, J. J. Li, D. M. Weiss (2009). A survey of coverage-based testing tools. The Computer Journal, 52(5), 589-597.. [7] J. C. Costa, S. Devadas, J. C. Monteiro (2000). Observability analysis of embedded software for coverage-directed validation. In Proceedings of the 2000 IEEE/ACM international conference on Computer-aided design (pp. 27-32). IEEE Press. [8] S. Biswas, R. Mall, M. Satpathy, S. Sukumaran (2009). A model-based regression test selection approach for embedded applications. ACM SIGSOFT Software Engineering Notes, 34(4), 1-9. [9] K. Hazelwood, A. Klauser (2006). A dynamic binary instrumentation engine for the ARM architecture. In Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems (pp. 261-270). ACM. [10] Java Code Coverage Tools http://en.wikipedia.org/wiki/Java_Code_Coverage_Tools [11] R. Vlad. EMMA: a free java code coverage tool. http://emma. sourceforge.net/ [12] L. Marek, Y. Zheng, D. Ansaloni, A. Sarimbekov, W. Binder, P. Tůma, Z. Qi (2012). Java bytecode instrumentation made easy: The disl framework for dynamic program analysis. In Jhala, Ranjit and Igarashi, Atsushi, editors, Programming Languages and Systems, volume 7705 of Lecture Notes in Computer Science, pages 256–263. Springer Berlin Heidelberg. [13] A. Chawla, A. Orso (2004). A generic instrumentation framework for collecting dynamic information. In Online Proc. of the ISSTA Workshop on Empirical Research in Software Testing [14] A. Seesing, A. Orso (2005) InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse. In Proceedings of the Eclipse Technology eXchange (eTX) Workshop at OOPSLA 2005, pages 49–53 [15] D. Slife , M. Chesney: jCello. http://jcello.sourceforge.net/ [16] S. Chiba, Javassist. http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/, 2013. [17] Apache Commons. BCEL. http://commons.apache.org/proper/commons-bcel/ [18] M. Odersky, P. Altherr, V. Cremet, B. Emir, S. Maneth, S. Micheloud, M. Zenger (2004). An overview of the Scala programming language (No. LAMP-REPORT-2004-006). [19] E. Gagnon, L. Hendren (1999). Intra-procedural inference of static types for Java bytecode. T echnical Report, 1. [20] Android uiautomator http://developer.Android.com/tools/help/uiautomator/ [21] Android APK Decompiler http://www.decompileAndroid.com [22] Android Dedexer http://dedexer.sourceforge.net [23] R. Vallee-Rai, P. Co, E. Gagnon, L. Hendren, P. Lam, V. Sundaresan (1999). Soot-a Java bytecode optimization framework. In Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research (p. 13). IBM Press. [24] R. Vallee-Rai, L. J. Hendren (1998). Jimple: Simplifying Java bytecode for analyses and transformations. | |
| dc.identifier.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/18315 | - |
| dc.description.abstract | 在新的行動資訊世代,行動裝置應用程式已經逐漸成為軟體界的主流,而 Android 則是當中市佔率最高的平台,同時關於 Android 行動裝置的軟體測試案例 產生方法的論文或是工具的數量一直在快速增加,因此如何評估這些 test case 的品 質顯得日益重要。Android 行動裝置的軟體測試案例主要分為白盒測試以及黑盒測 試,目前在黑盒測試方法下主要採取是否找到錯誤來當作判斷測試案例的準則,然 而我們需要另一種準則當沒有找到錯誤或是找到錯誤的數量相近時,此時程式碼 的涵蓋率是一種很直觀的判斷準則,但在黑盒測試下程式碼的涵蓋率資訊是很難 取得的。因此本篇論文提出了一個技術夠在黑盒的情況下得到來源碼層次的資訊, 可以用此技術以該應用程式的行涵蓋率去評估測試案例的品質。另外也依據此架 構提出了一個演算法能在測試案例產生當中動態地選擇要按壓的按鈕,以使用更 少的步數但獲得相同行涵蓋率。 | zh_TW |
| dc.description.abstract | In the mobile generation, mobile applications have become the first choice in the software industry. Many large enterprises have claimed their future strategies are mobile first. Android has the highest market share in mobile platform. Recently, many researches about test case generation algorithm on Android have been done. Therefore, a criterion used to evaluate the quality of generated test cases becomes more and more important.
There are two types of testing techniques, one is black-box and the other one is white-box. In black-box, the main criterion depends on the number of bugs found. However, we need a secondary criterion to tell the confidence level of a set of test cases when there are no bugs found or the number of bugs found by each test case are close. Code coverage is an intuitive criterion to meet the requirement. But in the case of black- box testing, it is hard to get code coverage information. This paper introduces a framework that can get source code level coverage information in black-box and then use this information to calculate line coverage in order to evaluate the quality of test cases. Furthermore, with the framework, we propose a test case generation algorithm that can dynamically choose a button to click in order to reach the same coverage rate with less steps. | en |
| dc.description.provenance | Made available in DSpace on 2021-06-08T00:59:25Z (GMT). No. of bitstreams: 1 ntu-104-R01921091-1.pdf: 1973610 bytes, checksum: 19b0681fef208d883f85a63a54c1a754 (MD5) Previous issue date: 2015 | en |
| dc.description.tableofcontents | 誌謝 1
中文摘要 2 ABSTRACT 3 CONTENTS 4 Chapter 1 Introduction 6 1.1 Background 6 1.2 Motivation 6 1.3 Purpose 7 1.4 Organization 7 Chapter 2 Related Work 8 Chapter 3 Background 10 3.1 Soot 10 3.2 Jimple 10 3.3 Screen Abstraction 12 Chapter 4 Running Example 14 4.1 The Instrumentation in Android Apps 14 4.2 The Application in Test Case Generation 18 Chapter 5 ABCA Framework 22 5.1 ABCA-Instrumentor : The Instrumentation in Android Apps 23 5.2 ABCA-Reporter : The Coverage Information Integrator 25 Chapter 6 ABCA Usage in Test Case Generation 29 6.1 Notations 31 6.2 Dynamic Test Case Generation Algorithm Based on Button Line Coverage 32 Chapter 7 Implementation 35 7.1 The Web Application of ABCA as a Testing Service 35 7.2 Android Ripping 36 7.3 Modeling 36 Chapter 8 Experiment Report 37 8.1 Experiment 1 37 8.1.1 Experiment 1 AUT 37 8.1.2 Experiment 1 Data 38 8.1.3 Discussion 38 8.2 Experiment 2 39 8.2.1 Experiment 2 AUT 39 8.2.2 Algorithms Comparison 40 8.2.3 Experiment 2 Data 41 8.2.4 Discussion 50 Chapter 9 Conclusion 52 REFERENCE 54 | |
| dc.language.iso | en | |
| dc.title | 在安卓系統下黑箱測試之來源碼層次涵蓋率技術 | zh_TW |
| dc.title | Source-Level Coverage Techniques for the Black-box Testing of Android Apps | en |
| dc.type | Thesis | |
| dc.date.schoolyear | 103-1 | |
| dc.description.degree | 碩士 | |
| dc.contributor.oralexamcommittee | 陳銘憲(Ming-Syan Chen),顏嗣鈞(Hsu-chun Yen),廖純中(Churn-Jung Liau) | |
| dc.subject.keyword | 安卓系統應用程式,軟體測試,測試案例評估,黑箱測試,涵蓋率, | zh_TW |
| dc.subject.keyword | Android Application,Software Testing,Test Case Evaluation,Black- box Testing,Coverage, | en |
| dc.relation.page | 56 | |
| dc.rights.note | 未授權 | |
| dc.date.accepted | 2015-01-21 | |
| dc.contributor.author-college | 電機資訊學院 | zh_TW |
| dc.contributor.author-dept | 電機工程學研究所 | zh_TW |
| 顯示於系所單位: | 電機工程學系 | |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| ntu-104-1.pdf 未授權公開取用 | 1.93 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
