Previous [ 1] [ 2] [ 3] [ 4] [ 5] [ 6] [ 7] [ 8] [ 9] [ 10] [ 11]

@

Journal of Information Science and Engineering, Vol. 21 No. 6, pp. 1213-1226 (November 2005)

Software Testing Methodology with the Control Flow Analysis

Wen-Chang Pai, Chi-Ming Chung1, Ching-Tang Hsieh2, Chun-Chia Wang3 and Ying-Hong Wang4
Department of Business Mathematics
Soochow University
Taipei, 100 Taiwan
E-mail: wencpai@ms1.hinet.net
1The Open University of Kaohsiung
Kaohsiung, 812 Taiwan
E-mail: cmchung@ms2.ouk.edu.tw
2Department of Electrical Engineering
4Department of Information Engineering
Tamkang University
Taipei, 251 Taiwan
E-mail: {hsieh@ee; inhon@mail}.tku.edu.tw
3Department of Information Management
Northern Taiwan Institute of Science and Technology
Taipei, 112 Taiwan
E-mail: gcwang@mail.ntist.edu.tw

Software quality is primarily determined by the quality of the software development process. The goals of software testing are to assess and improve the quality of software. Software testing has proven to be difficult in the absence of design information. Without an adequate understanding of a program's structure, it is difficult to test it properly. Program recognition is a technology that can help testers to recover a program's design and, consequently, make software testing effective. Syntactically, a program is a sequence of statements. If the flow of the program can be recovered and used to analyze the testing paths automatically, then generating test data based on adequate testing criteria will help testers to understand the program structure and efficiently improve the software quality. This paper provides a method for analyzing the control-flow of a program and obtaining to the original program structure. An approach to analyzing the testing paths automatically to test every branch of a program is provided. The proposed method defines a number of command types and test data generating rules. An algorithm to scan program and analysis testing paths is also provided. This will allow testers to recover a program's design and understand the software structure to assist software maintenance.

Keywords: software quality, software testing, program recognition, automatic testing, reverse engineering

Full Text () Retrieve PDF document (200511_07.pdf)

Received September 3, 2003; revised February 26, 2004; accepted April 28, 2004.
Communicated by H. Y. Mark Liao.