phƯƠng phÁp mÔ hÌnh hoÁ

Post on 31-Dec-2015

91 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

LOGO

GVHD: P.GSTS Vũ Thanh Nguyên

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

LOGO

Sinh viên thực hiện:

Nguyễn Thăng Long – 07520198

Lê Tự Thạch Sinh - 07520302

MÔ HÌNH PTPM HƯỚNG KIỂM THỬ (TDD)ỨNG DỤNG XÂY DỰNG CMS

MÔ HÌNH PTPM HƯỚNG KIỂM THỬ (TDD)ỨNG DỤNG XÂY DỰNG CMS

NỘI DUNG CHÍNH

1

2

33

44

UNIT TEST

MÔ HÌNH PTPM TDD

CÁC BƯỚC THỰC HIỆN

ỨNG DỤNG TDD

1. UNIT TEST

Unit Test là kỹ thuật kiểm nghiệm các hoạt động của mọi chi tiết mã (code) với một quy trình tách biệt với quy trình phát triển PM, giúp phát hiện sai sót kịp thời.

2. MÔ HÌNH PTPM HƯỚNG KIỂM THỬ

TDD

1

4

2

3

5Refactor

Add a test

Run it and see it fails

Run the test again and see it

passes

Write code to cover the test

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).

3. CÁC BƯỚC THỰC HIỆN

1

2

3

4

Xác định yêu cầu

5

6

78

Tạo Test Suite cho Module

Viết mã cho Unit Test

Thực thi Unit Test

Viết mã CT để thay đổiTrạng thái của Unit Test

Chạy lại Test SuiteHiệu chỉnh mã nguồn

Viết Unit Test

4. ỨNG DỤNG TDD

MODULE QUẢN LÝ TIN TỨC

TRONG HỆ THỐNG CMS

4.1. PHÂN TÍCH YÊU CẦU

1

2

3

4

Xác định yêu cầu

5

6

78

Tạo Test Suite cho Module

Viết mã cho Unit Test

Thực thi Unit Test

Viết mã CT để thay đổiTrạng thái của Unit Test

Chạy lại Test SuiteHiệu chỉnh mã nguồn

Viết Unit Test

1

Xác định yêu cầu

4.1. PHÂN TÍCH

Thêm tin Sửa tin Xoá tin Tìm kiếm tin

Xem tinĐăng nhập

<<

extend>><<include>> <<include>>

<<include>>

Độc giảNgười quản trị

4.2. LẬP TEST CASE

1

2

3

4

Xác định yêu cầu

5

6

78

Tạo Test Suite cho Module

Viết mã cho Unit Test

Thực thi Unit Test

Viết mã CT để thay đổiTrạng thái của Unit Test

Chạy lại Test SuiteHiệu chỉnh mã nguồn

Viết Unit Test

2

3

4.2. TEST CASE

4.2. TEST CASE

4.2. TEST CASE

4.2. TEST CASE

4.3. VIẾT MÃ CHO UNIT TEST

1

2

3

4

Xác định yêu cầu

5

6

78

Tạo Test Suite cho Module

Viết mã cho Unit Test

Thực thi Unit Test

Viết mã CT để thay đổiTrạng thái của Unit Test

Chạy lại Test SuiteHiệu chỉnh mã nguồn

Viết Unit Test4

Viết mã cho Unit Test

4.3. VIẾT MÃ CHO UNIT TEST

/* Ví dụ: Một số hàm testchức năng login */

// Không nhập dữ liệupublic function testNoneInput(){

// Dữ liệu nhập vào$username = null;$password = null;

// Hàm kiểm tra kết quả test (Đúng khi trả về false)$this->assertEquals(false, $this->LPermission->isValid($username, $password));

}

// Không nhập Usernamepublic function testNoneUsernameInput(){

// Dữ liệu nhập vào$username = null;$password = 'long1234';

// Hàm kiểm tra kết quả test (Đúng khi trả về false)$this->assertEquals(false, $this->LPermission->isValid($username, $password));

}

4.4. CHẠY UNIT TEST

1

2

3

4

Xác định yêu cầu

5

6

78

Tạo Test Suite cho Module

Viết mã cho Unit Test

Thực thi Unit Test

Viết mã CT để thay đổiTrạng thái của Unit Test

Chạy lại Test SuiteHiệu chỉnh mã nguồn

Viết Unit Test

5

Thực thi Unit Test

4.4. CHẠY UNIT TEST

# Kết quả khi chạy unit test cho chức năng Login

Time: 1 second, Memory: 4.25Mb

There were 2 failures:

1) TestsLogin::testNoneInputFailed asserting that <boolean:false> matches expected <boolean:true>.

D:\www\public_html\krcms\tests\login.php:47

2) TestsLogin::testNoneUsernameInputFailed asserting that <boolean:false> matches expected <boolean:true>.

D:\www\public_html\krcms\tests\login.php:56

FAILURES!Tests: 5, Assertions: 5, Failures: 2.

4.4. VIẾT MÃ CHO CHƯƠNG TRÌNH

1

2

3

4

Xác định yêu cầu

5

6

78

Tạo Test Suite cho Module

Viết mã cho Unit Test

Thực thi Unit Test

Viết mã CT để thay đổiTrạng thái của Unit Test

Chạy lại Test SuiteHiệu chỉnh mã nguồn

Viết Unit Test

6

Viết mã CT để thay đổiTrạng thái của Unit Test

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 loginreturn true;

}else{

$username = trim($username);$password = md5($password);

...}

4.5. CHẠY LẠI UNIT TEST

1

2

3

4

Xác định yêu cầu

5

6

78

Tạo Test Suite cho Module

Viết mã cho Unit Test

Thực thi Unit Test

Viết mã CT để thay đổiTrạng thái của Unit Test

Chạy lại Test SuiteHiệu chỉnh mã nguồn

Viết Unit Test

7

Chạy lại Test Suite

4.5. CHẠY LẠI UNIT TEST

.....

Time: 1 second, Memory: 4.00Mb

OK (5 tests, 5 assertions)

HỆ THỐNG CMS

Q&A

top related