JISE


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


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


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

  Retrieve PDF document (JISE_200506_07.pdf)