Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
556,09 KB
Nội dung
ソフトウェアテスト [13] バグ予測とテスト計予測とテスト計とテスト計テスト計 画 Software Testing [13] Bug Prediction and Test Plan あまん ひろひさ ひろひさ 阿萬 裕久 裕久( AMAN Hirohisa ) aman@ehime-u.ac.jp (C) 2007-2022 Hirohisa AMAN Fault-Prone module analysis Bug is often called fault in software en gineering A programmer's error introduces a fault i nto the program As a result, faults, failu failu res, failu defects occur during program execut ion Find features of modules likely to be f aulted by metrics (Fault-Prone) (C) 2016-2022 Hirohisa AMAN Sig nificance of Fault-Prone module analysis Activities required for software quality assurance: Test Review Help plan these activities: Identify where the fault is likely to be *Intuitively, The idea is "Where is the intersection where accidents are likely to occur?" (C) 2016-2022 Hirohisa AMAN Focus on the distribution of fault s (bug s) Faults (bug s) are made incorrectly by hu mans Even if you focus only on each bug, the ca use is different Therefore, it is difficult to a nalyze it by itself A statistical approach is important to captu re overall trends Let's look at how faults (bugs) have be en distributed so far (C) 2016-2022 Hirohisa AMAN (Reappears) Pareto principle About 80% of bugs are present in about of bug s are present in about 0% of bugs are present in about of modules concentrated in fewer parts spread uniformly (C) 2016-2022 Hirohisa AMAN Launch RStudio Let's analyze the data using RStudio Download Rscript13.R and data13 csv from Teams Open Rscript13.R in RStudio (C) 2016-2022 Hirohisa AMAN Use the same metric data as last time First, use the same NASA-published d ata as last time Data file name data13.csv Load this content as a dataframe named data data = read.csv( file.choose( )) (C) 2016-2022 Hirohisa AMAN Start with a simple analysis The module set is divided into two typ es, “non bug g y” and "bug g y”, See the difference in cyclomatic numbers Find the threshold for bug prediction (of c yclomatic number) Non buggy comparison 11 Buggy 14 20 12 (C) 2016-2022 Hirohisa AMAN Column name Box plot plot Column name DataFrame boxplot(CC~BUG, data=data) Although it is rough, you can see the difference in distribution Vertical axis: cyclomatic number Horizontal axis: presence or absence of bugs (0 = none,1 = yes) (C) 2016-2022 Hirohisa AMAN Compare by summary statistics Separate the cyclomatic numbers with non bug g y and bug g y and check with the summary functi on cc0 = data$CC[data$BUG==0] cc1 = data$CC[data$BUG==1] summary(cc0) summary(cc1) Min 1st Qu Max 1.000 1.000 96.000 Median 2.000 Mean 3rd Qu 4.705 5.000 Min 1st Qu Median Mean 3rd Qu (C) 2016-2022 Hirohisa AMAN 10 Max