Responsive image
博碩士論文 etd-0723107-171116 詳細資訊
Title page for etd-0723107-171116
A Test Data Evolution Strategy under Program Changes
Year, semester
Number of pages
Advisory Committee
Date of Exam
Date of Submission
Hybrid Genetic Algorithm, Regression testing, Software Testing
本論文已被瀏覽 5879 次,被下載 24
The thesis/dissertation has been browsed 5879 times, has been downloaded 24 times.
Since the cost of software testing has continuously accounted for large proportion of the software development total cost, automatic test data generation becomes a hot topic in recent software testing research. These researches attempt to reduce the cost of software testing by generating test data automatically, but they are discussed only for the single version programs not for the programs which are needed re-testing after changing. On the other hand, the regression testing researches discuss about how to re-test programs after changing, but they don’t talk about how to generate test data automatically. Therefore, we propose an automatic test data evolution strategy in this paper. We use the method of regression testing to find out the part of programs which need re-testing, then automatic evolutes the test data by hybrid genetic algorithm. According to the experiment result, our strategy has the same or better testing ability but needs less cost than the other strategies.
目次 Table of Contents
1. 緒論 1
1.1. 背景 1
1.2. 動機 2
1.3. 問題描述與研究目的 4
2. 文獻探討 6
2.1.1. 迴歸測試的分類 7
2.1.2. 迴歸測試的議題 9
2.1.3. 選擇性迴歸測試的策略 11
2.1.4. Pythia 14
2.2. 程式頻譜(PROGRAM SPECTRA) 16
2.2.1. 程式頻譜的種類 17
2.2.2. 程式頻譜的比較 20
2.3.1. 局部搜尋(local search) 23
2.3.2. 基因演算法(genetic algorithm) 24
2.3.3. 混和式基因演算法(hybrid genetic algorithm) 25
2.4. 突變測試(MUTATION TESTING) 25
3. 研究方法與步驟 27
3.1. 先前的做法 27
3.2. 自動演化測試資料策略 28
3.3. 受測程式 33
3.4. 研究方法 35
3.4.1. 實驗設計 35
3.4.2. 測試資料產生方法與實驗流程 36
4. 結果與討論 40
4.1. 實驗結果 40
4.2. 實驗結果討論 46
4.2.1. 演化次數 46
4.2.2. 新產生的測試資料數目 51
4.2.3. 分析的成本 52
4.2.4. 分支涵蓋率 52
4.2.5. 缺陷發現的能力 53
5. 結論 55
參考文獻 57
附錄A:TRIANGLE1的原始碼與控制流程圖 61
附錄B:TRIANGLE3的原始碼與控制流程圖 64
附錄C:TRIANGLE4的原始碼與控制流程圖 67
附錄D:ATOF的原始碼與控制流程圖 70
附錄E:REMAINDER的原始碼與控制流程圖 73
附錄F:COMPLEXBRANCH的原始碼與控制流程圖 75
附錄G:演化次數之獨立樣本T檢定 78
參考文獻 References
1. Li, Y. and N.J. Wahl, An Overview of Regression Testing. ACM SIGSOFT Software Engineering Notes, 1999. 24(1): p. 69.
2. Gregg, R. and H. Mary Jean, A safe, efficient regression test selection technique. ACM Trans. Softw. Eng. Methodol., 1997. 6(2): p. 173-210.
3. Schach, S.R., Software engineering. 1990: Aksen Associates Pacific Palisades, CA, USA.
4. Yih-Farn, C., S.R. David, and V. Kiem-Phong, TestTube: a system for selective regression testing, in Proceedings of the 16th international conference on Software engineering. 1994, IEEE Computer Society Press: Sorrento, Italy.
5. McMinn, P., Search-based software test data generation: a survey. Software Testing Verification and Reliability, 2004. 14(2): p. 105-156.
6. Korel, B., Automated software test data generation. IEEE Transactions on Software Engineering, 1990. 16(8): p. 870-879.
7. Grindal, M., J. Offutt, and S.F. Andler, Combination testing strategies: a survey. Software Testing, Verification & Reliability, 2005. 15(3): p. 167-199.
8. Bogdan, K. and M.A.-Y. Ali, Automated regression test generation, in Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis. 1998, ACM Press: Clearwater Beach, Florida, United States.
9. Xie, T. and D. Notkin, Checking inside the black box: regression testing by comparing value spectra. Software Engineering, IEEE Transactions on, 2005. 31(10): p. 869-883.
10. Harrold, M.J., et al., An empirical investigation of the relationship between spectra differences and regression faults. Software Testing, Verification & Reliability, 2000. 10(3): p. 171-194.
11. Binkley, D., Semantics guided regression test cost reduction. IEEE Transactions on Software Engineering, 1997. 23(8): p. 498-516.
12. Mansour, N. and K. El?Fakih, Simulated Annealing and Genetic Algorithms for Optimal Regression Testing. Journal of Software Maintenance Research and Practice, 1999. 11(1): p. 19-34.
13. Vokolos, F.I. and P.G. Frankl, Pythia: A regression test selection tool based on textual differencing. IFIP TC5 WG5, 1997. 4: p. 3-21.
14. Baradhi, G. and N. Mansour, A Comparative Study of Five Regression Testing Algorithms. the Proceedings of the Australian Software Engineering Conference, 1997.
15. Todd, L.G., et al., An empirical study of regression test selection techniques. ACM Trans. Softw. Eng. Methodol., 2001. 10(2): p. 184-208.
16. Rothermel, G. and M.J. Harrold, Analyzing regression test selection techniques. Software Engineering, IEEE Transactions on, 1996. 22(8): p. 529-551.
17. Agrawal, H., et al. Incremental regression testing. 1993.
18. Fischer, K.F., A test case selection method for the validation of software maintenance modifications. Proceedings of COMPSAC, 1977. 77: p. 421-426.
19. Gupta, R., M.J. Harrold, and M.L. Soffa. An approach to regression testing using slicing. 1992.
20. Ostrand, T.J. and E.J. Weyuker, Using dataflow analysis for regression testing. Sixth Annual Pacific Northwest Softw. Qual. Conf, 1988: p. 233-247.
21. Rothermel, G., Efficient, effective regression testing using safe test selection techniques. 1996, Clemson University.
22. Rothermel, G. and M.J. Harrold. Selecting regression tests for object-oriented software. 1994.
23. White, L.J. and H.K.N. Leung. A firewall concept for both control-flow and data-flow in regression integration testing. 1992.
24. Onoma, A.K., et al., Regression testing in an industrial environment. Communications of the ACM, 1998. 41(5): p. 81-6.
25. Mary Jean, H., Testing: a roadmap, in Proceedings of the Conference on The Future of Software Engineering. 2000, ACM Press: Limerick, Ireland.
26. Hsu, P.H., Empirical study on strategy for Regression Testing. 2006.
27. White, L.J., Software testing and verification. Advances in computers, 1987. 26: p. 335-391.
28. McCarthy, A., Unit and Regression Testing. Dr. Dobbs Journal, Februar, 1997.
29. Rothermel, G. and M.J. Harrold. A safe, efficient algorithm for regression test selection. 1993.
30. Chen, T.Y. and M.F. Lau, Dividing strategies for the optimization of a test suite. Information Processing Letters, 1996. 60(3): p. 135-141.
31. Harrold, M.J., R. Gupta, and M.L. Soffa, A methodology for controlling the size of a test suite. ACM Transactions on Software Engineering and Methodology (TOSEM), 1993. 2(3): p. 270-285.
32. Rothermel, G., et al., An empirical study of the effects of minimization on the faultdetection capabilities of test suites. Software Maintenance, 1998. Proceedings. International Conference on, 1998: p. 34-43.
33. Wong, W.E., et al., Effect of test set minimization on fault detection effectiveness. Proceedings of the 17th international conference on Software engineering, 1995: p. 41-50.
34. Sebastian, E., G.M. Alexey, and R. Gregg, Prioritizing test cases for regression testing, in Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis. 2000, ACM Press: Portland, Oregon, United States.
35. Rothermel, G., et al., Prioritizing test cases for regression testing. IEEE Transactions on Software Engineering, 2001. 27(10): p. 929-948.
36. Elbaum, S., A.G. Malishevsky, and G. Rothermel, Test case prioritization: a family of empirical studies. Software Engineering, IEEE Transactions on, 2002. 28(2): p. 159-182.
37. Brown, P.A. and D. Hoffman, The application of module regression testing at TRIUMF. Nuclear Instruments and Methods in Physics Research Section A, 1990. 293(1-2): p. 377-381.
38. Dogsa, T. and I. Rozman, CAMOTE-computer aided module testing and design environment. Software Maintenance, 1988., Proceedings of the Conference on, 1988: p. 404-408.
39. Lewis, R., D.W. Beck, and J. Hartmann, Assay-A Tool to Support Regression Testing. Proceedings of the 2nd European Software Engineering Conference, 1989: p. 487-496.
40. Binkley, D., L. Coll, and M.D. Baltimore, Using semantic differencing to reduce the cost of regressiontesting. Software Maintenance, 1992. Proceerdings., Conference on, 1992: p. 41-50.
41. Leung, H.K.N. and L. White, Insights into regression testing. Proceedings of the Conference on Software Maintenance, 1989: p. 60–69.
42. Rothermel, G. and M.J. Harrold, Empirical studies of a safe regression test selection technique. Software Engineering, IEEE Transactions on, 1998. 24(6): p. 401-419.
43. Kim, J.M., A. Porter, and G. Rothermel, An empirical study of regression test application frequency. Proceedings of the 22nd International Conference on Software Engineering, 2000: p. 126–135.
44. Vokolos, F.I. and P.G. Frankl, Empirical evaluation of the textual differencing regression testing technique. Proceedings of the International Conference on Software Maintenance, 1998: p. 44–53.
45. Ball, T. and J.R. Larus, Efficient path profiling. Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture, 1996: p. 46-57.
46. Reps, T., et al., The use of program profiling for software maintenance with applications to the year 2000 problem. ACM SIGSOFT Software Engineering Notes, 1997. 22(6): p. 432-449.
47. Calder, B., P. Feller, and A. Eustace, Value profiling. Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, 1997: p. 259-269.
48. Ernst, M.D., et al., Dynamically discovering likely program invariants to support program evolution. IEEE Transactions on Software Engineering, 2001. 27(2): p. 99-123.
49. Ould, M.A., Testing-a challenge to method and tool developers. Software Engineering Journal, 1991. 6(2): p. 59-64.
50. Wang, H.C., A hybrid genetic algorithm for automatic test data generation. 2006.
51. DeMillo, R.A., R.J. Lipton, and F.G. Sayward, Hints on Test Data Selection: Help for the Practicing Programmer. Computer, 1978. 11(4): p. 34-41.
52. Hamlet, R.G., Testing Programs with the Aid of a Compiler. TSE, 1977. 3(4): p. 279-290.
53. DeMillo, R.A., et al., An extended overview of the Mothra software testing environment.
54. Ma, Y.S., J. Offutt, and Y.R. Kwon, Mujava: An automated class mutation system. Journal of Software Testing, Verification and Reliability, 2005. 15(2): p. 97-133.
電子全文 Fulltext
論文使用權限 Thesis access permission:校內公開,校外永不公開 restricted
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus:永不公開 not available

您的 IP(校外) 位址是
論文開放下載的時間是 校外不公開

Your IP address is
This thesis will be available to you on Indicate off-campus access is not available.

紙本論文 Printed copies
開放時間 available 已公開 available

QR Code