1 / 25

PHƯƠNG PHÁP MÔ HÌNH HOÁ

PHƯƠNG PHÁP MÔ HÌNH HOÁ. GVHD: P.GSTS Vũ Thanh Nguyên. MÔ HÌNH PTPM HƯỚNG KIỂM THỬ (TDD) ỨNG DỤNG XÂY DỰNG CMS. Sinh viên thực hiện : Nguyễn Thăng Long – 07520198 Lê Tự Thạch Sinh - 07520302. 1. 2. 3. 3. 4. 4. NỘI DUNG CHÍNH. UNIT TEST. MÔ HÌNH PTPM TDD. CÁC BƯỚC THỰC HIỆN.

blake-yates
Download Presentation

PHƯƠNG PHÁP MÔ HÌNH HOÁ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PHƯƠNG PHÁP MÔ HÌNH HOÁ GVHD: P.GSTS VũThanhNguyên

  2. MÔ HÌNH PTPM HƯỚNG KIỂM THỬ (TDD)ỨNG DỤNG XÂY DỰNG CMS Sinhviênthựchiện: NguyễnThăng Long – 07520198 LêTựThạchSinh - 07520302

  3. 1 2 3 3 4 4 NỘI DUNG CHÍNH UNIT TEST MÔ HÌNH PTPM TDD CÁC BƯỚC THỰC HIỆN ứngdụngTDD

  4. 1. UNIT TEST Unit Test làkỹthuậtkiểmnghiệmcáchoạtđộngcủamọi chi tiếtmã (code) vớimộtquytrìnhtáchbiệtvớiquytrìnhpháttriển PM, giúppháthiệnsaisótkịpthời.

  5. Add a test 1 5 2 Refactor Run it and see it fails TDD 3 4 Run the test again and see it passes Write code to cover the test 2. MÔ HÌNH PTPM HƯỚNG KIỂM THỬ

  6. 2. MÔ HÌNH PTPM HƯỚNG KIỂM THỬ Phát triển dựa trên kiểm thử (Test-Driven Development-TDD) là một phương pháp tiếp cận cải tiến để phát triển phần mềm trong đó kết hợp phương pháp Phát triển kiểm thử trước (Test First Development) và phương pháp Điều chỉnh lại mã nguồn (Refactoring).

  7. 3. CÁC BƯỚC THỰC HIỆN Viết mã cho Unit Test Xác định yêu cầu 4 Viết Unit Test 1 3 Thực thi Unit Test 2 5 Viết mã CT để thay đổi Trạng thái của Unit Test Tạo Test Suite cho Module Chạy lại Test Suite 6 Hiệu chỉnh mã nguồn 7 8

  8. 4. ỨNG DỤNG TDD MODULE QUẢN LÝ TIN TỨC TRONG HỆ THỐNG CMS

  9. 4.1. PHÂN TÍCH YÊU CẦU Viết mã cho Unit Test Xác định yêu cầu Xác định yêu cầu 4 Viết Unit Test 1 1 3 Thực thi Unit Test 2 5 Viết mã CT để thay đổi Trạng thái của Unit Test Tạo Test Suite cho Module Chạy lại Test Suite 6 Hiệu chỉnh mã nguồn 7 8

  10. 4.1. PHÂN TÍCH Đăngnhập Xem tin <<include>> <<extend>> <<include>> <<include>> Tìmkiếm tin Thêm tin Sửa tin Xoá tin Độcgiả Ngườiquảntrị

  11. 4.2. LẬP TEST CASE Viết mã cho Unit Test Xác định yêu cầu 4 Viết Unit Test 1 3 3 Thực thi Unit Test 2 2 5 Viết mã CT để thay đổi Trạng thái của Unit Test Tạo Test Suite cho Module Chạy lại Test Suite 6 Hiệu chỉnh mã nguồn 7 8

  12. 4.2. TEST CASE

  13. 4.2. TEST CASE

  14. 4.2. TEST CASE

  15. 4.2. TEST CASE

  16. 4.3. VIẾT MÃ CHO UNIT TEST Viết mã cho Unit Test Viết mã cho Unit Test Xác định yêu cầu 4 Viết Unit Test 4 1 3 Thực thi Unit Test 2 5 Viết mã CT để thay đổi Trạng thái của Unit Test Tạo Test Suite cho Module Chạy lại Test Suite 6 Hiệu chỉnh mã nguồn 7 8

  17. 4.3. VIẾT MÃ CHO UNIT TEST /* Vídụ: Mộtsốhàmtestchứcnăng login */ // Khôngnhậpdữliệu public function testNoneInput() { // Dữliệunhậpvào $username = null; $password = null; // Hàmkiểmtrakếtquả test (Đúngkhitrảvề false) $this->assertEquals(false, $this->LPermission->isValid($username, $password)); } // Khôngnhập Username public function testNoneUsernameInput() { // Dữliệunhậpvào $username = null; $password = 'long1234'; // Hàmkiểmtrakếtquả test (Đúngkhitrảvề false) $this->assertEquals(false, $this->LPermission->isValid($username, $password)); }

  18. 4.4. CHẠY UNIT TEST Viết mã cho Unit Test Xác định yêu cầu 4 Viết Unit Test 1 3 Thực thi Unit Test Thực thi Unit Test 2 5 Viết mã CT để thay đổi Trạng thái của Unit Test 5 Tạo Test Suite cho Module Chạy lại Test Suite 6 Hiệu chỉnh mã nguồn 7 8

  19. 4.4. CHẠY UNIT TEST # Kếtquảkhichạy unit test chochứcnăng Login Time: 1 second, Memory: 4.25Mb There were 2 failures: 1) TestsLogin::testNoneInput Failed asserting that <boolean:false> matches expected <boolean:true>. D:\www\public_html\krcms\tests\login.php:47 2) TestsLogin::testNoneUsernameInput Failed asserting that <boolean:false> matches expected <boolean:true>. D:\www\public_html\krcms\tests\login.php:56 FAILURES! Tests: 5, Assertions: 5, Failures: 2.

  20. 4.4. VIẾT MÃ CHO CHƯƠNG TRÌNH Viết mã cho Unit Test Xác định yêu cầu 4 Viết Unit Test 1 3 Thực thi Unit Test 2 5 Viết mã CT để thay đổi Trạng thái của Unit Test Viết mã CT để thay đổi Trạng thái của Unit Test Tạo Test Suite cho Module Chạy lại Test Suite 6 Hiệu chỉnh mã nguồn 6 7 8

  21. 4.4. VIẾT MÃ CHO CHƯƠNG TRÌNH class LPermission { function isValid($username,$password) { global $MySQL,$LSession; if($LSession->getSession('permission') == true) { // Already exist login return true; } else { $username = trim($username); $password = md5($password); ... }

  22. 4.5. CHẠY LẠI UNIT TEST Viết mã cho Unit Test Xác định yêu cầu 4 Viết Unit Test 1 3 Thực thi Unit Test 2 5 Viết mã CT để thay đổi Trạng thái của Unit Test Tạo Test Suite cho Module Chạy lại Test Suite 6 Hiệu chỉnh mã nguồn Chạy lại Test Suite 7 8 7

  23. 4.5. CHẠY LẠI UNIT TEST ..... Time: 1 second, Memory: 4.00Mb OK (5 tests, 5 assertions)

  24. HỆ THỐNG CMS

  25. Q&A

More Related