Phân tích khả năng kiểm thử chương trình hướng đối tượng Java

Tóm tắt - Kiểm thử phần mềm là hoạt động nhằm đảm bảo chất lượng phần mềm. Tuy nhiên, đối với những phần mềm lớn và phức tạp, các hoạt động kiểm thử đòi hỏi nhiều thời gian và công sức. Vì vậy, việc sớm có thông tin về chương trình rất cần thiết cho quá trình kiểm thử nhằm nâng cao chất lượng sản phẩm phần mềm. Việc phân tích khả năng kiểm thử (PTKNKT) phần mềm giúp đánh giá sớm chi phí kiểm thử, nghĩa là thông tin phần mềm dễ dàng hay khó khăn khi kiểm thử. Khi phương pháp phát triển hướng đối tượng ra đời thì các phương pháp phân tích truyền thống không còn phù hợp do những đặc thù riêng của phương pháp này. Trong bài báo này, chúng tôi tập trung nghiên cứu và phân tích các độ đo KNKT hướng đối tượng. Từ đó, chúng tôi đề xuất việc áp dụng các độ đo PTKNKT chương trình hướng đối tượng Java. Các độ đo được tích hợp vào công cụ Eclipse, được tính một cách tự động, thử nghiệm cho một số chương trình thực tế và mang lại thông tin hữu ích.

pdf5 trang | Chia sẻ: thanhle95 | Lượt xem: 505 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Phân tích khả năng kiểm thử chương trình hướng đối tượng Java, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 12(97).2015, QUYỂN 2 25 PHÂN TÍCH KHẢ NĂNG KIỂM THỬ CHƯƠNG TRÌNH HƯỚNG ĐỐI TƯỢNG JAVA TESTABILITY ANALYSIS OF JAVA OBJECT - ORIENTED PROGRAMS Nguyễn Thị Thúy Hoài1, Nguyễn Thanh Bình2 1Trường Cao đẳng Công nghệ, Đại học Đà Nẵng; thuy.hoai@yahoo.com 2Trường Đại học Bách khoa, Đại học Đà Nẵng; ntbinh@dut.udn.vn Tóm tắt - Kiểm thử phần mềm là hoạt động nhằm đảm bảo chất lượng phần mềm. Tuy nhiên, đối với những phần mềm lớn và phức tạp, các hoạt động kiểm thử đòi hỏi nhiều thời gian và công sức. Vì vậy, việc sớm có thông tin về chương trình rất cần thiết cho quá trình kiểm thử nhằm nâng cao chất lượng sản phẩm phần mềm. Việc phân tích khả năng kiểm thử (PTKNKT) phần mềm giúp đánh giá sớm chi phí kiểm thử, nghĩa là thông tin phần mềm dễ dàng hay khó khăn khi kiểm thử. Khi phương pháp phát triển hướng đối tượng ra đời thì các phương pháp phân tích truyền thống không còn phù hợp do những đặc thù riêng của phương pháp này. Trong bài báo này, chúng tôi tập trung nghiên cứu và phân tích các độ đo KNKT hướng đối tượng. Từ đó, chúng tôi đề xuất việc áp dụng các độ đo PTKNKT chương trình hướng đối tượng Java. Các độ đo được tích hợp vào công cụ Eclipse, được tính một cách tự động, thử nghiệm cho một số chương trình thực tế và mang lại thông tin hữu ích. Abstract - Testing software is one of the activities which plays an important role in the process of software development and is used to measure the quality of software. However, with large and complex software, testing requires a lot of time and effort. Therefore, getting information from early software testing is necessary to improve the quality of software. Testability analysis can help the programmers measure the cost of testing earlier and getting more testing information whether it will be easy or complex when testing. Currently, after the method of object- oriented programming was introduced, the old ones are no longer appropriate due to their own characteristics of. In this article, we focus on studying the testability analysis that is based on metrics and we propose the application of the metrics into analyzing testability of Java object-oriented programs. The measures are integrated into Eclipse tool and automatically calculated. These metrics are applied to some Java applications and the results may help designers get useful information. Từ khóa - chất lượng phần mềm; phân tích khả năng kiểm thử; độ đo; phần mềm hướng đối tượng; chương trình hướng đối tượng Java. Key words - quality of software; testability; metrics; object- oriented software, Java object-oriented programs. 1. Đặt vấn đề Kiểm thử phần mềm là một hoạt động rất quan trọng trong tiến trình phát triển phần mềm nhằm mục đích giải đáp thắc mắc liệu chương trình có lỗi hay không? Với những phần mềm lớn và phức tạp thì việc thực hiện các thủ tục kiểm thử đòi hỏi nhiều thời gian và công sức. Việc sớm có thông tin về hệ thống chương trình, nghĩa là thông tin phần mềm dễ dàng hay phức tạp khi kiểm thử, là công việc đặt lên hàng đầu nhằm giảm những rủi ro và đánh giá sớm chi phí khi thực hiện kiểm thử. Những thông tin này có được nhờ hoạt động PTKNKT phần mềm. PTKNKT phần mềm là hoạt động đánh giá những khó khăn khi thực hiện kiểm thử, tập trung tìm xác suất phát hiện lỗi trong chương trình. Trước đây, nhiều độ đo như McCabe, Halstead [2] đã được sử dụng để đánh giá độ phức tạp và khả năng kiểm thử (KNKT) đối với các hàm hoặc thủ tục theo phương pháp phát triển hướng chức năng. Tuy nhiên, khi phương pháp phát triển hướng đối tượng (HĐT) ra đời thì các phép đo đó không còn phù hợp do tính đặc thù riêng của phương pháp này. Vì vậy, thực tiễn đòi hỏi phải có phép đo mới phù hợp hơn để có thể đánh giá khả năng kiểm thử phần mềm phát triển HĐT một cách chính xác hơn. Việc ra đời của các độ đo sử dụng cho các chương trình phát triển HĐT dựa vào mã nguồn, số lượng các lớp, các phương thức, các lớp con và mối quan hệ giữa các lớp giúp công việc đánh giá KNKT phần mềm hướng đối tượng chính xác và hiệu quả hơn. 2. Phân tích KNKT phần mềm 2.1. Khái niệm PTKNKT phần mềm là hoạt động đánh giá những khó khăn khi thực hiện kiểm thử, tập trung tìm xác suất phát hiện lỗi trong chương trình. KNKT phần mềm là khả năng phần mềm có thể dễ dàng hay phức tạp khi thực hiện kiểm thử không. Hoạt động này nhằm đánh giá chất lượng bên trong của phần mềm và giúp người thiết kế cải tiến chất lượng mã nguồn hay kiểm thử viên lập kế hoạch và phân bố nguồn tài nguyên kiểm thử một cách hợp lý. Kết quả của hoạt động PTKNKT cho biết phần mềm có dễ dàng hay phức tạp khi kiểm thử. 2.2. Các phương pháp PTKNKT phần mềm Để giảm bớt thời gian và chi phí cho giai đoạn kiểm thử, công việc PTKNKT được thực hiện nhằm trả lời câu hỏi kiểm thử viên có nên thực hiện kiểm thử phần mềm hay yêu cầu cải tiến chất lượng phần mềm. Do đó, hoạt động này cần phải có phương pháp đánh giá phần mềm chính xác và hiệu quả. Trong phần này, chúng tôi trình bày một số phương pháp đánh giá KNKT phần mềm. 2.2.1. Phương pháp PTKNKT miền Chương trình có KNKT theo miền [3] sẽ không tồn tại tính không nhất quán đầu vào-ra, hay nói cách khác là có khả năng kiểm thử dễ dàng. KNKT miền liên quan đến khả năng quan sát và khả năng điều khiển. Một thủ tục có KNKT miền nếu nó có khả năng quan sát và khả năng điều khiển. Các chương trình không có KNKT sẽ gây khó 26 Nguyễn Thị Thúy Hoài, Nguyễn Thanh Bình khăn cho quá trình kiểm thử. KNKT miền được định nghĩa là khả năng dễ dàng chỉnh sửa chương trình để nó tăng khả năng quan sát và điều khiển. 2.2.2. Phương pháp PTKNKT dựa trên độ nhạy Để đo KNKT, một khái niệm mới là độ nhạy được định nghĩa [4]: độ nhạy tại một vị trí S là dự đoán xác suất lỗi tại vị trí S sẽ gây ra sự cố cho phần mềm với miền đầu vào chỉ định. Phương pháp phân tích độ nhạy hay còn gọi là phương pháp phân tích PIE gồm phân tích sự thực thi, phân tích các ảnh hưởng và phân tích sự lan truyền. PIE có tính chất động do nó yêu cầu sự thực thi của mã nguồn. Các dữ liệu đầu vào được lựa chọn ngẫu nhiên từ miền dữ liệu vào. Trạng thái tính toán của mã nguồn đối với các dữ liệu vào này được so sánh ngược với trạng thái của mã nguồn tương tự. 3. Phân tích KNKT phần mềm HĐT Có rất nhiều phương pháp PTKNKT phần mềm phát triển theo phương pháp HĐT. Mỗi phương pháp đều có ưu và nhược điểm riêng. Mục này trình bày tổng quan về các phương pháp phân tích KNKT phần mềm HĐT. 3.1. Các phương pháp PTKNKT sử dụng độ đo và mã nguồn Tính thừa kế và che dấu dữ liệu là hai đặc điểm chính đem đến cơ chế thiết kế mạnh mẽ cho phương pháp phát triển phần mềm HĐT. Vì vậy, phương pháp PTKNKT sử dụng độ đo và mã nguồn ra đời dựa trên các đặc điểm của phương pháp phát triển phần mềm HĐT. 3.1.1. Phương pháp sử dụng độ đo dựa trên các đặc tính phần mềm HĐT Kết quả mỗi độ đo có thể đánh giá KNKT cũng như dễ dàng nhận ra những lỗi còn tồn tại trong giai đoạn thiết kế và lập trình trước đó. Từ các đặc thù riêng của phương pháp phát triển phần mềm HĐT, sáu độ đo được đề xuất để đánh giá KNKT của phần mềm HĐT [8]: + Độ đo 1: tính độ rộng của các phương thức trong lớp; + Độ đo 2: tính độ sâu của cây thừa kế; + Độ đo 3: tính số lớp con; + Độ đo 4: tính số lượng liên kết giữa các lớp đối tượng; + Độ đo 5: tính số lần phản hồi của lớp; + Độ đo 6: tính sự liên kết yếu giữa các phương thức. 3.1.2. Phương pháp down- calling Down-calling [6] là kỹ thuật dùng để đảm bảo tính nhất quán giữa các lớp. Hầu hết các ngôn ngữ lập trình chỉ quan tâm đến cú pháp của phương thức, không quan tâm đến ngữ nghĩa và không cung cấp phương pháp đánh giá chúng một cách thống nhất. Down-calling cũng là cơ chế dùng để bảo đảm mặt cú pháp và ngữ nghĩa đều nhất quán giữa các phương thức không đa hình và phương thức đa hình trong tất cả các lớp dẫn xuất và được dùng khi các thể hiện của lớp dẫn xuất thay thế cho thể hiện của lớp cơ sở. Do đó, các dẫn xuất của lớp đó sẽ thừa kế các phương thức không đa hình và các thực thi. 4. Các độ đo sử dụng phân tích KNKT chương trình HĐT Java Ngôn ngữ lập trình Java đã nhanh chóng trở thành một ngôn ngữ lập trình của các lập trình viên chuyên nghiệp. Java được xây dựng dựa trên nền tảng của C và C++ và là ngôn ngữ vừa biên dịch vừa thông dịch. Mục tiêu của các nhà thiết kế Java là cho phép người lập trình viết chương trình một lần nhưng có thể chạy trên các nền phần cứng khác nhau. Ngôn ngữ Java có 3 đặc điểm quan trọng là tính đóng gói, tính thừa kế và tính đa hình. Từ các phương pháp PTKNKT phần mềm HĐT và các đặc điểm của ngôn ngữ Java, chúng tôi đề xuất áp dụng một số độ đo PTKNKT phần mềm phát triển theo phương pháp HĐT Java trong Bảng 1 [7] [8]. Bảng 1. Các độ đo sử dụng đánh giá KNKT phần mềm HĐT Metric Độ đo Coupling Factor (CF) Độ đo sự phụ thuộc Lack of Cohension of Methods Độ đo sự gắn kết yếu của các phương thức Cyclomatic Complexity Độ phức tạp vòng Attribute Hiding Factor (AHF) Độ đo thuộc tính ẩn Method Hiding Factor (MHF) Độ đo phương thức ẩn Depth of Inheritance Tree (DIT) Độ sâu của cây thừa kế Number of Children (NOC) Số lượng lớp con Weighted Methods Per Class (WMC) Độ phức tạp của các phương thức trong các lớp Method Inheritance Factor (MIF) Độ đo phương thức thừa kế Attribute Inheritance Factor (AIF) Độ đo thuộc tính thừa kế Nested Block Depth (NBT) Độ đo tính độ sâu các khối mã nguồn lồng nhau Number of Classes Số lượng lớp con Lines of Code Số dòng lệnh 4.1. Độ đo khả năng liên kết yếu các phương thức Độ đo LCOM được tính bằng cách đếm số cặp phương thức cùng gọi đến các biến thành phần giống nhau trong lớp trừ đi số cặp phương thức không gọi đến một biến thành phần nào giống với các phương thức còn lại. 4.2. Các độ đo liên quan đến tính đóng gói 4.2.1. Độ đo khả năng che dấu thuộc tính Công thức như sau:    1 1 TC i h i TC i d i A C AHF A C     Trong đó: TC  tổng các lớp;      d i v i h iA C A C A C   các thuộc tính được định nghĩa trong iC ;  v iA C  các thuộc tính thấy được trong lớp iC ;  h iA C  các thuộc tính ẩn trong lớp iC ; 4.2.2. Độ đo khả năng che dấu phương thức Công thức như sau:    1 1 TC i h i TC i d i M C MHF M C     Trong đó: TC  tổng các lớp;      d i v i h iM C M C M C   các phương thức được ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 12(97).2015, QUYỂN 2 27 định nghĩa trong iC ;  v iM C  các phương thức thấy được trong lớp iC ;  h iM C  các phương thức ẩn trong lớp iC . 4.3. Các độ đo liên quan đến tính thừa kế 4.3.1. Độ sâu của cây thừa kế Công thức như sau:    DIT c Ancestors c Trong đó,  Ancestors c là tập các lớp mà lớp c được thừa kế trực tiếp hoặc gián tiếp. 4.3.2. Số lượng các lớp con Công thức như sau:    NOC c Children c Trong đó,  Children c là tập các lớp được thừa kế trực tiếp từ lớp c. 4.3.3. Độ đo khả năng thừa kế thuộc tính (AIF) Công thức như sau:    1 1 TC i i i TC i a i A C AIF A C     Trong đó: TC  tổng các lớp;      a i d i i iA C A C A C   các thuộc tính thấy được trong iC ;      d i n i o iA C A C A C   các thuộc tính trong iC ;  n iA C  các thuộc tính mới trong lớp iC ;  o iA C  các thuộc tính overriding trong lớp iC ;  i iA C  các thuộc tính được thừa kế trong lớp iC . 4.3.4. Độ đo khả năng thừa kế phương thức (MIF) Công thức như sau:    1 1 TC i i i TC i a i M C MIF M C     Trong đó: TC  tổng các lớp;      a i d i i iM C M C M C   các phương thức trong iC ;      d i n i o iM C M C M C   các phương thức mới trong iC ;  n iM C  các phương thức mới trong lớp iC ;  o iM C  các phương thức overiding trong lớp iC ;  i iM C  các phương thức được thừa kế trong lớp iC . 4.4. Công thức tính độ phức tạp các phương thức trong lớp Công thức như sau:     Imm M cWMC c VG m  Trong đó:  Im cM là số lượng các phương thức được thực thi trong lớp c.  VG m được tính bằng độ đo phức tạp vòng cho mỗi phương thức m. Công thức của độ đo độ phức tạp vòng: M E N P   với M là kết quả độ đo McCabe, E là số các cạnh trong đồ thị của chương trình, N là số các nút của đồ thị và P là số các đường được kết nối. Ngoài ra, McCabe có thể tính bằng công thức 1M D  với D là các nút quyết định trong đồ thị. Bảng 2. Số liệu so sánh giữa McCabe và độ phức tạp mã nguồn Độ phức tạp McCabe Độ phức tạp của mã nguồn 1-10 Chương trình đơn giản, không chứa nhiều rủi ro 11-20 Chương trình phức tạp hơn, tính rủi ro trung bình 21-50 Chương trình phức tạp, tính rủi ro cao >50 Không có khả năng kiểm thử, tính rủi ro rất cao 4.5. Độ đo tính sự phụ thuộc giữa các đối tượng     1 1 2 1 _ , 2 TC TC i j i j TC i i is client C C COF TC TC DC C           Trong đó: TC  tổng các lớp; 2TC TC    số cặp phụ thuộc lớn nhất trong hệ thống của lớp T và C;  12 TCi iDC C  số cặp phụ thuộc lớn nhất do thừa kế.  _ ,i jis client C C  Bảng 3. Ý nghĩa của các độ đo Độ đo Ý nghĩa Độ đo sự phụ thuộc Giá trị càng lớn, độ phức tạp cànglớn và rất khó bảo trì phần mềm Độ đo sự liên kết yếu của các phương thức Sự gắn kết thấp sẽ làm tăng độ phức tạp Độ phức tạp vòng Giá trị càng nhỏ thì phần mềmcàng ít rủi hơn Độ đo thuộc tính ẩn Giá trị này thể hiện tính đóng góicho thuộc tính hợp lý chưa? Độ đo phương thức ẩn Giá trị này thể hiện tính đóng góicho phương thức hợp lý chưa? Độ sâu của cây thừa kế Lớp càng nằm ở sâu trong cây thừakế thì càng tăng độ phức tạp Số lượng lớp con Giá trị càng lớn sẽ càng tăng khảnăng thừa kế Độ phức tạp của cácphương thức trong các lớp Giá trị càng lớn sẽ càng giảm khả năng thừa kế Độ đo phương thức thừa kế Giá trị này thể hiện tính thừa kế cho phương thức hợp lý chưa? Độ đo thuộc tính thừa kế Giá trị này thể hiện tính thừa kếcho thuộc tính hợp lý chưa? Độ đo tính độ sâu các khối mã nguồn lồng nhau Giá trị càng lớn sẽ rất khó để đọc hiểu mã nguồn 1: nếu và chỉ nếu tồn tại mối quan hệ giữa lớp khách với lớp chủ và lớp khách phải khác với lớp chủ. 0: trong trường hợp còn lại. 28 Nguyễn Thị Thúy Hoài, Nguyễn Thanh Bình Bảng 4. So sánh giá trị độ đo với độ phức tạp phần mềm Độ đo Giá trị độ đo Độ phức tạp Độ đo sự phụ thuộc giữa các đối tượng Tăng Tăng Độ đo sự liên kết yếu của các phương thức Giảm Tăng Độ sâu của cây thừa kế Tăng Tăng Độ phức tạp vòng Tăng Tăng Bảng 5. So sánh giá trị độ đo với KNKT phần mềm Độ đo Giá trị độ đo KNKT Độ đo sự phụ thuộc giữa các đối tượng Tăng Giảm Độ đo sự gắn kết yếu của các phương thức Tăng Giảm Số lượng lớp con Tăng Giảm Độ phức tạp của các phương thức trong các lớp Tăng Giảm Độ đo khả năng thừa kế của phương thức Tăng Tăng Độ đo khả năng thừa kế của thuộc tính Tăng Tăng 5. Ứng dụng PTKNKT các phần mềm HĐT Java với công cụ tính độ đo Để có thể tính các độ đo như đã trình bày ở Mục 4, chúng tôi đề xuất sử dụng phần mềm Metrics. Phần mềm này đã được tích hợp các độ đo để PTKNKT và nó sẽ là công cụ hữu ích cho các kiểm thử viên khi đánh giá KNKT các phần mềm phát triển theo phương pháp HĐT. 5.1. Quy trình sử dụng độ đo Trong quy trình phát triển phần mềm, các độ đo được sử dụng ở giai đoạn sau khi viết code và trước khi thực hiện kiểm thử. Kết quả của các độ đo sẽ là cơ sở giúp người lập trình đưa ra những đánh giá KNKT về phần mềm cũng như cải thiện những phần mềm chưa đạt yêu cầu. Việc sử dụng các độ đo để đánh giá KNKT phần mềm được thực hiện ba bước: Bước 1: Thực hiện tính toán các độ đo và ghi lại kết quả đo. Dựa vào kết quả đo để thực hiện các lớp chưa đạt yêu cầu. Bước 2: Những lớp chưa đạt yêu cầu được thay đổi trước khi tính toán lại các độ đo. Bước 3: So sánh độ đo trước và sau khi thực hiện công việc cải thiện phần mềm để đánh giá tổng quan về KNKT phần mềm. 5.2. Quy trình tích hợp phần mềm Metrics vào công cụ Eclipse Eclipse là môi trường phát triển tích hợp cho Java, được phát triển ban đầu bởi Java. Kiểm thử viên có thể tích hợp phần mềm Metrics vào công cụ soạn thảo Eclipse để tính kết quả các độ đo mã nguồn. Kết quả các độ đo giúp người kiểm thử đánh giá KNKT phần mềm cao hay thấp. 5.3. Thử nghiệm Trong phần này, chúng tôi chọn mã nguồn JDK 1.7.0_80 là mã nguồn chuẩn của Java để thực hiện tính các độ đo thông qua phần mềm Metrics. Kết quả các độ đo được tính từ mã nguồn JDK (Bảng 6) sẽ là giá trị mong đợi (giá trị độ đo chuẩn) để đánh giá KNKT cho các thử nghiệm: chương trình giao dịch ngân hàng ATM và phần mềm bán hàng điện tử. Đây là những phần mềm phức tạp, các giao dịch tương tác giữa người dùng và ứng dụng đòi hỏi độ chính xác cao. Bảng 6. Kết quả mong đợi của các độ đo khi sử dụng phần mềm Metrics Độ đo Kết quả Độ đo sự liên kết yếu của các phương thức 0,409 Độ phức tạp vòng 2,422 Độ sâu của cây thừa kế 2,786 Độ phức tạp của các phương thức trong các lớp 17,214 Độ đo tính độ sâu các khối mã nguồn lồng nhau 1,467 Độ đo tính các tham số của phương thức 1,322 5.3.1. Thử nghiệm 1: chương trình giao dịch ngân hàng ATM Chương trình Giao dịch ngân hàng ATM có các tác vụ đăng ký khách hàng, đăng ký tài khoản, đăng nhập tài khoản, rút tiền, gửi tiền, chuyển tiền, xem thông tin tài khoản, xem thông tin giao dịch. Chương trình này gồm 3 lớp với 532 dòng lệnh. Sau khi sử dụng phần mềm Metrics, chúng tôi có được kết quả trong Bảng 7. Bảng 7. Kết quả các độ đo của chương trình máy ATM Độ đo Kết quả Độ đo sự liên kết yếu của các phương thức 0,602 Độ phức tạp vòng 2,543 Độ sâu của cây thừa kế 1 Độ phức tạp của các phương thức trong các lớp 117 Độ đo tính độ sâu các khối mã nguồn lồng nhau 1,957 Độ đo tính các tham số của phương thức 0,804 Hầu hết các kết quả của các độ đo được tính toán bằng phần mềm tính độ đo đều nằm trong vùng cho phép. Tuy nhiên, riêng kết quả độ đo độ phức tạp của các phương thức trong các lớp quá cao (dựa vào kết quả của các độ đo ở Bảng 7). Chúng tôi đánh giá phần mềm ATM cần cải thiện lại mã nguồn trước khi thực hiện giai đoạn kiểm thử tiếp theo. 5.3.2. Thử nghiệm 2: phần mềm bán hàng thiết bị điện tử Chương trình bán hàng các thiết bị điện tử gồm giao diện giới thiệu các sản phẩm, đặt hàng, tính tiền các đơn đặt hàng. Chương trình này gồm 8 lớp với tổng cộng 587 dòng lệnh. Bảng 8. Kết quả các độ đo phần mềm bán hàng các thiết bị điện tử Độ đo Kết quả Độ đo sự liên kết yếu của các phương thức 0,404 Độ phức tạp vòng 1,478 Độ sâu của cây thừa kế 3,111 Độ phức tạp của các phương thức trong các lớp 11 Độ đo tính độ sâu các khối mã nguồn lồng nhau 1,343 Độ đo tính các tham số của phương thức 0,761 Dựa vào Bảng 8, đối với phần mềm này, chỉ có kết quả độ đo của độ sâu cây thừa kế có giá trị cao hơn phần mềm chuẩn. Các kết quả của tất cả các độ đo còn lại đều được chấp nhận (nghĩa là nhỏ hơn độ đo chuẩn). Chúng tôi đánh giá phần mềm này có độ phức tạp thấp và khả năng kiểm thử cao. Tuy nhiên, phần mềm này cần phải cải tiến mã nguồn ở cây thừa kế. 6. Kết luận Bài báo đã trình bày về hoạt động PTKNKT và một số phương pháp PTKNKT như phương pháp phân tích mật ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 12(97).2015, QUYỂN 2 29 độ động, phương pháp sử dụng các câu xác nhận, phương pháp chọn dữ liệu đảm bảo tính nhất quán. Những thông tin có được từ hoạt động PTKNKT phần mềm thực sự rất cần thiết cho hoạt động kiểm thử tiếp theo. Từ các đặc điểm của phương pháp phát triển HĐT (cụ thể là ngôn ngữ lập trình Java), nhóm tác giả đề xuất ứng dụng các độ đo để PTKNKT sớm trong giai đoạn thiết kế. Độ đo KNKT có thể giúp cho người kiểm t
Tài liệu liên quan